OSDN Git Service

ipv6: decrease hop limit counter in ip6_forward()
authorKangmin Park <l4stpr0gr4m@gmail.com>
Thu, 22 Jul 2021 17:44:43 +0000 (02:44 +0900)
committerDavid S. Miller <davem@davemloft.net>
Fri, 23 Jul 2021 15:40:41 +0000 (16:40 +0100)
Decrease hop limit counter when deliver skb to ndp proxy.

Signed-off-by: Kangmin Park <l4stpr0gr4m@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_output.c

index e1b9f7a..8e6ca9a 100644 (file)
@@ -549,9 +549,10 @@ int ip6_forward(struct sk_buff *skb)
        if (net->ipv6.devconf_all->proxy_ndp &&
            pneigh_lookup(&nd_tbl, net, &hdr->daddr, skb->dev, 0)) {
                int proxied = ip6_forward_proxy_check(skb);
-               if (proxied > 0)
+               if (proxied > 0) {
+                       hdr->hop_limit--;
                        return ip6_input(skb);
-               else if (proxied < 0) {
+               else if (proxied < 0) {
                        __IP6_INC_STATS(net, idev, IPSTATS_MIB_INDISCARDS);
                        goto drop;
                }