Re: [PATCH net v3 0/3] net/sched: fix actions reading the network header in case of QinQ packets
From: Cong Wang <hidden>
Date: 2019-06-04 17:55:27
From: Cong Wang <hidden>
Date: 2019-06-04 17:55:27
On Sat, Jun 1, 2019 at 9:22 PM Eli Britstein [off-list ref] wrote:
I think that's because QinQ, or VLAN is not an encapsulation. There is no outer/inner packets, and if you want to mangle fields in the packet you can do it and the result is well-defined.
Sort of, perhaps VLAN tags are too short to be called as an encapsulation, my point is that it still needs some endpoints to push or pop the tags, in a similar way we do encap/decap.
BTW, the motivation for my fix was a use case were 2 VGT VMs communicating by OVS failed. Since OVS sees the same VLAN tag, it doesn't add explicit VLAN pop/push actions (i.e pop, mangle, push). If you force explicit pop/mangle/push you will break such applications.
From what you said, it seems act_csum is in the middle of packet receive/transmit path. So, which is the one pops the VLAN tags in this scenario? If the VM's are the endpoints, why not use act_csum there? Thanks.