Browse Source

ip_gre: comments change

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>
Eric Dumazet 14 năm trước cách đây
mục cha
commit
6d0722a2ce
1 tập tin đã thay đổi với 4 bổ sung4 xóa
  1. 4 4
      net/ipv4/ip_gre.c

+ 4 - 4
net/ipv4/ip_gre.c

@@ -64,13 +64,13 @@
    We cannot track such dead loops during route installation,
    We cannot track such dead loops during route installation,
    it is infeasible task. The most general solutions would be
    it is infeasible task. The most general solutions would be
    to keep skb->encapsulation counter (sort of local ttl),
    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
    solution, but it supposes maintaing new variable in ALL
    skb, even if no tunneling is used.
    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
    2. Networking dead loops would not kill routers, but would really
    kill network. IP hop limit plays role of "t->recursion" in this case,
    kill network. IP hop limit plays role of "t->recursion" in this case,