On 4/4/22 00:26, [email protected] wrote:
> From: Jan Scheurich <[email protected]>
> 
> A packet received from a tunnel port with legacy_l3 packet-type (e.g.
> lisp, L3 gre, gtpu) is conceptually wrapped in a dummy Ethernet header
> for processing in an OF pipeline that is not packet-type-aware. Before
> transmission of the packet to another legacy_l3 tunnel port, the dummy
> Ethernet header is stripped again.
> 
> In ofproto-xlate, wrapping in the dummy Ethernet header is done by
> simply changing the packet_type to PT_ETH. The generation of the
> push_eth datapath action is deferred until the packet's flow changes
> need to be committed, for example at output to a normal port. The
> deferred Ethernet encapsulation is marked in the pending_encap flag.
> 
> This patch fixes a bug in the translation of the output action to a
> legacy_l3 tunnel port, where the packet_type of the flow is reverted
> from PT_ETH to PT_IPV4 or PT_IPV6 (depending on the dl_type) to remove
> its Ethernet header without clearing the pending_encap flag if it was
> set. At the subsequent commit of the flow changes, the unexpected
> combination of pending_encap == true with an PT_IPV4 or PT_IPV6
> packet_type hit the OVS_NOT_REACHED() abortion clause.
> 
> The pending_encap is now cleared in this situation.
> 
> Reported-By: Dincer Beken <[email protected]>
> Signed-off-By: Jan Scheurich <[email protected]>
> Signed-off-By: Dincer Beken <[email protected]>
> 
> v1->v2:
>   A specific test has been added to tunnel-push-pop.at to verify the
>   correct behavior.
> ---
>  ofproto/ofproto-dpif-xlate.c |  4 ++++
>  tests/tunnel-push-pop.at     | 22 ++++++++++++++++++++++
>  2 files changed, 26 insertions(+)


I had to slightly adjust the test case as it was failing frequently
in CI on a later datapath flow check due to recirc_id mismatch.
So, I filtered it out.

With that, applied and backported down to 2.13.  Thanks!

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to