|
65 | 65 | it is infeasible task. The most general solutions would be
|
66 | 66 | to keep skb->encapsulation counter (sort of local ttl),
|
67 | 67 | and silently drop packet when it expires. It is a good
|
68 |
| - solution, but it supposes maintaing new variable in ALL |
| 68 | + solution, but it supposes maintaining new variable in ALL |
69 | 69 | skb, even if no tunneling is used.
|
70 | 70 |
|
71 | 71 | Current solution: xmit_recursion breaks dead loops. This is a percpu
|
|
91 | 91 |
|
92 | 92 | One of them is to parse packet trying to detect inner encapsulation
|
93 | 93 | made by our node. It is difficult or even impossible, especially,
|
94 |
| - taking into account fragmentation. TO be short, tt is not solution at all. |
| 94 | + taking into account fragmentation. TO be short, ttl is not solution at all. |
95 | 95 |
|
96 | 96 | Current solution: The solution was UNEXPECTEDLY SIMPLE.
|
97 | 97 | We force DF flag on tunnels with preconfigured hop limit,
|
98 | 98 | that is ALL. :-) Well, it does not remove the problem completely,
|
99 | 99 | but exponential growth of network traffic is changed to linear
|
100 | 100 | (branches, that exceed pmtu are pruned) and tunnel mtu
|
101 |
| - fastly degrades to value <68, where looping stops. |
| 101 | + rapidly degrades to value <68, where looping stops. |
102 | 102 | Yes, it is not good if there exists a router in the loop,
|
103 | 103 | which does not force DF, even when encapsulating packets have DF set.
|
104 | 104 | But it is not our problem! Nobody could accuse us, we made
|
@@ -457,8 +457,8 @@ static void ipgre_err(struct sk_buff *skb, u32 info)
|
457 | 457 | GRE tunnels with enabled checksum. Tell them "thank you".
|
458 | 458 |
|
459 | 459 | Well, I wonder, rfc1812 was written by Cisco employee,
|
460 |
| - what the hell these idiots break standrads established |
461 |
| - by themself??? |
| 460 | + what the hell these idiots break standards established |
| 461 | + by themselves??? |
462 | 462 | */
|
463 | 463 |
|
464 | 464 | const struct iphdr *iph = (const struct iphdr *)skb->data;
|
|
0 commit comments