Score:0

Does Linux tap interface support tcp segmentation on ipip network traffic

om flag

Recently I experienced an issue on running kubernetes slaves on a VM with calico ipip tunnel as the network connection protocol to interconnect the kubernetes nodes. The current symptom (with the confirmation of tcpdump) is that when a tcp traffic is initiated to the k8s slave node on VM, all the packets arrived at vmbr0 (bridge interface on VM host) with the size bigger than VM MTU are dropped and could not be found on the tap interface, which is connected to qemu VM. When the traffic is initiated without ipip header, the packets could be properly segmented on tcp level and forward to VM.

Note: The MTU on the link is 1500, and the bigger than VM MTU packet on vmbr0 is due to the GRO. One way to work around this is by disabling the GRO on the VM host physical interface, but it could introduce performance issue when serving high throughput traffics.

vidarlo avatar
ar flag
Congratulations. You've discovered why it's important to have a consistent MTU on all devices on a segment. Your best bet is to raise MTU on the VMs, or lower it on the originator.
lordofire avatar
om flag
Hi @vidarlo , thanks for your comment. The reason I did not increase the MTU on VMs is that the increased packet payload comes from the GRO on the VM host driver, so logically the packet size could become really big (like 21786 when I watched the regular non-ipip traffic flowing through). As mentioned in the question, I could remove GRO so that all the packets coming from the VM host is strictly matching 1500 MTU, but the performance overhead will be too big a price to pay.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.