diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ref/ovs-actions.7.rst | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/Documentation/ref/ovs-actions.7.rst b/Documentation/ref/ovs-actions.7.rst index 7224896df..b59b7634f 100644 --- a/Documentation/ref/ovs-actions.7.rst +++ b/Documentation/ref/ovs-actions.7.rst @@ -212,12 +212,13 @@ Unsupported packet type is not an L3 packet, and ``encap(nsh)`` raises this error if the current packet is not Ethernet, IPv4, IPv6, or NSH. + The ``decap`` action is supported only for packet types ethernet, NSH and + MPLS. Openvswitch raises this error for other packet types. When a ``decap`` action decapsulates a packet, Open vSwitch raises this error if it does not support the type of inner packet. ``decap`` of an Ethernet header raises this error if a VLAN header is present, ``decap`` of a NSH packet raises this error if the NSH inner packet is not Ethernet, IPv4, IPv6, - or NSH, and ``decap`` of other types of packets is unsupported and also - raises this error. + or NSH. This error terminates packet processing, retaining any previous side effects (e.g. output actions). When this error arises within the execution of a @@ -995,6 +996,8 @@ The ``encap`` action | ``encap(nsh([md_type=``\ *md_type*\ ``], [tlv(``\ *class*,\ *type*,\ *value*\ ``)]...))`` | ``encap(ethernet)`` + | ``encap(mpls)`` + | ``encap(mpls_mc)`` The ``encap`` action encapsulates a packet with a specified header. It has variants for different kinds of encapsulation. @@ -1018,10 +1021,20 @@ frame. The Ethernet type is initialized to the L3 packet's type, e.g. 0x0800 if the L3 packet is IPv4. The Ethernet source and destination are initially zeroed. +The ``encap(mpls)`` variant adds a MPLS header at the start of the packet. +When encap(ethernet) is applied after this action, the ethertype of ethernet +header will be populated with MPLS unicast ethertype (``0x8847``). + +The ``encap(mpls_mc)`` variant adds a MPLS header at the start of the packet. +When encap(ethernet) is applied after this action, the ethertype of ethernet +header will be populated with MPLS multicast ethertype (``0x8848``). + **Conformance** This action is an Open vSwitch extension to OpenFlow 1.3 and later, introduced in Open vSwitch 2.8. + The MPLS support for this action is added in Open vSwitch 2.17. + The ``decap`` action -------------------- @@ -1030,6 +1043,7 @@ The ``decap`` action **Syntax**: | ``decap`` + | ``decap(packet_type(ns=``\ *namespace,*\ ``type=``\ *type*\ ``))`` Removes an outermost encapsulation from the packet: @@ -1042,12 +1056,22 @@ Removes an outermost encapsulation from the packet: and NSH inner packet types. Other types raise unsupported packet type errors. + - Otherwise, if the packet is encapsulated inside a MPLS header, removes + the MPLS header and classifies the inner packet as mentioned in the packet + type argument of the decap. The *packet_type* field specifies the type of + the packet in the format specified in OpenFlow 1.5 chapter + `7.2.3.11 Packet Type Match Field`. The inner packet will be incorrectly + classified, if the inner packet is different from mentioned in the + *packet_type* field. + - Otherwise, raises an unsupported packet type error. **Conformance** This action is an Open vSwitch extension to OpenFlow 1.3 and later, introduced in Open vSwitch 2.8. + The MPLS support for this action is added in Open vSwitch 2.17. + Field Modification Actions ========================== |