ip_gre: comments change
authorEric Dumazet <eric.dumazet@gmail.com>
Thu, 30 Sep 2010 06:35:10 +0000 (23:35 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Sep 2010 06:35:10 +0000 (23:35 -0700)
HARD_TX_LOCK no longer protects tunnels from dead loops,
but xmit_recursion percpu counter.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c

index 035db6350037f63799e22e13ad64056f1a25dc00..fbe2c473a06a05ca82b0f0d2fff935924aa114e5 100644 (file)
    We cannot track such dead loops during route installation,
    it is infeasible task. The most general solutions would be
    to keep skb->encapsulation counter (sort of local ttl),
-   and silently drop packet when it expires. It is the best
+   and silently drop packet when it expires. It is a good
    solution, but it supposes maintaing new variable in ALL
    skb, even if no tunneling is used.
 
-   Current solution: HARD_TX_LOCK lock breaks dead loops.
-
-
+   Current solution: xmit_recursion breaks dead loops. This is a percpu
+   counter, since when we enter the first ndo_xmit(), cpu migration is
+   forbidden. We force an exit if this counter reaches RECURSION_LIMIT
 
    2. Networking dead loops would not kill routers, but would really
    kill network. IP hop limit plays role of "t->recursion" in this case,