Bug 1842032

Summary: Bad description of the MPLS BOS field in ovs-fields(7)
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Guillaume Nault <gnault>
Component: openvswitch2.13Assignee: Timothy Redaelli <tredaelli>
Status: CLOSED ERRATA QA Contact: Hekai Wang <hewang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: RHEL 8.0CC: atragler, ctrautma, jhsiao, kfida, qding, ralongi
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://mail.openvswitch.org/pipermail/ovs-dev/2020-August/373660.html
Whiteboard:
Fixed In Version: openvswitch2.13-2.13.0-58 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-01 15:07:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Guillaume Nault 2020-05-30 11:17:00 UTC
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.").

Comment 1 Timothy Redaelli 2020-08-06 16:35:46 UTC
Patch sent upstream

Comment 6 errata-xmlrpc 2020-12-01 15:07:43 UTC
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