Currently, icmp_rcv() always return zero on a packet delivery upcall.

To make its behavior more compliant with the way this API should be
used, this patch changes this to let it return NET_RX_SUCCESS when the
packet is proper handled, and NET_RX_DROP otherwise.

Signed-off-by: Zhang Shengju <zhangshen...@cmss.chinamobile.com>
---
 net/ipv4/icmp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c
index 691146a..f79d7a8 100644
--- a/net/ipv4/icmp.c
+++ b/net/ipv4/icmp.c
@@ -1047,12 +1047,12 @@ int icmp_rcv(struct sk_buff *skb)
 
        if (success)  {
                consume_skb(skb);
-               return 0;
+               return NET_RX_SUCCESS;
        }
 
 drop:
        kfree_skb(skb);
-       return 0;
+       return NET_RX_DROP;
 csum_error:
        __ICMP_INC_STATS(net, ICMP_MIB_CSUMERRORS);
 error:
-- 
1.8.3.1



Reply via email to