Change in Openvswitch to support MPLS label depth of 3 in ingress direction
The openvswitch was supporting a MPLS label depth of 1 in the ingress direction though the userspace OVS supports a max depth of 3 labels. This change enables openvswitch module to support a max depth of 3 labels in the ingress. Signed-off-by: Martin Varghese <martin.varghese@nokia.com> Acked-by: Pravin B Shelar <pshelar@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
a5ec65169c
commit
fbdcdd78da
@@ -30,6 +30,7 @@ enum sw_flow_mac_proto {
|
||||
MAC_PROTO_ETHERNET,
|
||||
};
|
||||
#define SW_FLOW_KEY_INVALID 0x80
|
||||
#define MPLS_LABEL_DEPTH 3
|
||||
|
||||
/* Store options at the end of the array if they are less than the
|
||||
* maximum size. This allows us to get the benefits of variable length
|
||||
@@ -84,9 +85,6 @@ struct sw_flow_key {
|
||||
* protocol.
|
||||
*/
|
||||
union {
|
||||
struct {
|
||||
__be32 top_lse; /* top label stack entry */
|
||||
} mpls;
|
||||
struct {
|
||||
u8 proto; /* IP protocol or lower 8 bits of ARP opcode. */
|
||||
u8 tos; /* IP ToS. */
|
||||
@@ -135,6 +133,11 @@ struct sw_flow_key {
|
||||
} nd;
|
||||
};
|
||||
} ipv6;
|
||||
struct {
|
||||
u32 num_labels_mask; /* labels present bitmap of effective length MPLS_LABEL_DEPTH */
|
||||
__be32 lse[MPLS_LABEL_DEPTH]; /* label stack entry */
|
||||
} mpls;
|
||||
|
||||
struct ovs_key_nsh nsh; /* network service header */
|
||||
};
|
||||
struct {
|
||||
|
Reference in New Issue
Block a user