MTU is wrong for Pod's eth0 interface when using GRE tunnel #5913
Labels
area/transit/encapsulation
Issues or PRs related to encapsulation.
kind/bug
Categorizes issue or PR as related to a bug.
Describe the bug
While fixing #5868, @hjiajing and I tested more scenarios and found the issue: when using GRE tunnel, the MTU was reduced 38 bytes, however, packets of that size were not forwarded.
I'm not sure if this is broken by OVS kernel change or the tunnel type has never really worked. The problem is that 38 bytes was calculated from 14 outer MAC, 20 outer IP, and 4 GRE header. However, from packet capture, the actual overhead is 14 outer MAC, 20 outer IP, and 8 GRE header (4 standard header + 4 key optional field). We never use GRE key which can be used to carry OVS tun_id value, it seems OVS always add 4 bytes of key to the GRE header even tun_id is not set, leading to 42 bytes of overhead.
Versions:
The text was updated successfully, but these errors were encountered: