Commit 05831fa
committed
ipv6: Support new BIG TCP without HBH
Currently, BIG TCP IPv6 inserts a hop-by-hop extension header with a
jumbo payload option to reflect the real length of the packet bigger
than 65535 bytes. New kernels will drop this extension header and just
calculate the packet length from skb->len, like it's currently done for
BIG TCP IPv4.
Reflect the future kernel change in tcpdump and support parsing such
packets.
BIG TCP only sets payload_len = 0 when the actual payload length is
65536 or more. Check that explicitly, so that smaller packets with
payload_len = 0 are still considered invalid, like in the test called
icmpv6-length-zero. Do not check the transport protocol, though, because
TCP may be inner in an encapsulated packet, e.g., in UDP-based tunnels,
such as VXLAN and GENEVE.
Signed-off-by: Maxim Mikityanskiy <[email protected]>1 parent f9f27bf commit 05831fa
1 file changed
+14
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
466 | 466 | | |
467 | 467 | | |
468 | 468 | | |
469 | | - | |
470 | | - | |
471 | | - | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
472 | 474 | | |
473 | 475 | | |
474 | 476 | | |
475 | | - | |
476 | | - | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
477 | 486 | | |
478 | 487 | | |
479 | 488 | | |
| |||
0 commit comments