In the ovs-fields.7 manual page, the "MPLS Bottom of Stack Field" paragraph says: """ * When mpls_bos is 1, there is another MPLS label following this one, so the Ethertype passed to pop_mpls should be an MPLS Ethertype. For example: table=0, dl_type=0x8847, mpls_bos=1,actions=pop_mpls:0x8847, goto_table:1" * When mpls_bos is 0, this MPLS label is the last one, so the Ethertype passed to pop_mpls should be a non-MPLS Ethertype such as IPv4. For example: table=1, dl_type=0x8847,mpls_bos=0, actions=pop_mpls:0x0800, goto_table:2 """ The values 0 and 1 have been swapped: when BOS is 1, then no more label stack entries follows. Therefore, the manual page should say: """ * When mpls_bos is 0, there is another MPLS label following this one, so the Ethertype passed to pop_mpls should be an MPLS Ethertype. For example: table=0, dl_type=0x8847, mpls_bos=0,actions=pop_mpls:0x8847, goto_table:1" * When mpls_bos is 1, this MPLS label is the last one, so the Ethertype passed to pop_mpls should be a non-MPLS Ethertype such as IPv4. For example: table=1, dl_type=0x8847,mpls_bos=1, actions=pop_mpls:0x0800, goto_table:2 """ The problem was originally found on RHEL 8, but is also present in the latest git tree, currently at commit 89b522aee379 ("ovsdb-idl: Add function to reset min_index.").
Patch sent upstream
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (openvswitch2.13 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:5310