浏览代码

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 15 年之前
父节点
当前提交
6d0722a2ce
共有 1 个文件被更改,包括 4 次插入4 次删除
  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,