Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/datapath/linux/compat/include/linux/openvswitch.h b/datapath/linux/compat/include/linux/openvswitch.h
- index 8d9300091..cf9a6962d 100644
- --- a/datapath/linux/compat/include/linux/openvswitch.h
- +++ b/datapath/linux/compat/include/linux/openvswitch.h
- @@ -388,17 +388,16 @@ enum ovs_key_attr {
- OVS_KEY_ATTR_CT_ORIG_TUPLE_IPV6, /* struct ovs_key_ct_tuple_ipv6 */
- OVS_KEY_ATTR_NSH, /* Nested set of ovs_nsh_key_* */
- -#ifdef __KERNEL__
- - /* Only used within kernel data path. */
- - OVS_KEY_ATTR_TUNNEL_INFO, /* struct ovs_tunnel_info */
- -#endif
- -
- -#ifndef __KERNEL__
- - /* Only used within userspace data path. */
- + /* User space decided to squat on types 29 and 30. They are listed
- + * below, but should not be sent to the kernel: */
- OVS_KEY_ATTR_PACKET_TYPE, /* be32 packet type */
- OVS_KEY_ATTR_ND_EXTENSIONS, /* struct ovs_key_nd_extensions */
- -#endif
- + /* WARNING: No new types should be added unless they are defined
- + * for both kernel and user space (no 'ifdef's). It's hard
- + * to keep compatibility otherwise. */
- + OVS_KEY_ATTR_TUNNEL_INFO = 31, /* struct ip_tunnel_info.
- + For in-kernel use only. */
- __OVS_KEY_ATTR_MAX
- };
- diff --git a/lib/odp-execute.c b/lib/odp-execute.c
- index 2f4cdd92c..7da56793d 100644
- --- a/lib/odp-execute.c
- +++ b/lib/odp-execute.c
- @@ -553,6 +553,7 @@ odp_execute_set_action(struct dp_packet *packet, const struct nlattr *a)
- case OVS_KEY_ATTR_CT_ZONE:
- case OVS_KEY_ATTR_CT_MARK:
- case OVS_KEY_ATTR_CT_LABELS:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- OVS_NOT_REACHED();
- @@ -665,6 +666,7 @@ odp_execute_masked_set_action(struct dp_packet *packet,
- case OVS_KEY_ATTR_ICMP:
- case OVS_KEY_ATTR_ICMPV6:
- case OVS_KEY_ATTR_TCP_FLAGS:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- OVS_NOT_REACHED();
- diff --git a/lib/odp-util.c b/lib/odp-util.c
- index 9a705cffa..bf3848b71 100644
- --- a/lib/odp-util.c
- +++ b/lib/odp-util.c
- @@ -193,6 +193,7 @@ ovs_key_attr_to_string(enum ovs_key_attr attr, char *namebuf, size_t bufsize)
- case OVS_KEY_ATTR_PACKET_TYPE: return "packet_type";
- case OVS_KEY_ATTR_NSH: return "nsh";
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- snprintf(namebuf, bufsize, "key%u", (unsigned int) attr);
- @@ -3261,6 +3262,7 @@ odp_mask_is_constant__(enum ovs_key_attr attr, const void *mask, size_t size,
- switch (attr) {
- case OVS_KEY_ATTR_UNSPEC:
- case OVS_KEY_ATTR_ENCAP:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- return false;
- @@ -4412,6 +4414,7 @@ format_odp_key_attr__(const struct nlattr *a, const struct nlattr *ma,
- break;
- }
- case OVS_KEY_ATTR_UNSPEC:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- format_generic_odp_key(a, ds);
- @@ -6611,6 +6614,7 @@ odp_key_to_dp_packet(const struct nlattr *key, size_t key_len,
- case OVS_KEY_ATTR_MPLS:
- case OVS_KEY_ATTR_PACKET_TYPE:
- case OVS_KEY_ATTR_NSH:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- break;
- diff --git a/ofproto/ofproto-dpif-sflow.c b/ofproto/ofproto-dpif-sflow.c
- index 30e7caf54..0b2c79e32 100644
- --- a/ofproto/ofproto-dpif-sflow.c
- +++ b/ofproto/ofproto-dpif-sflow.c
- @@ -1065,6 +1065,7 @@ sflow_read_set_action(const struct nlattr *attr,
- case OVS_KEY_ATTR_UNSPEC:
- case OVS_KEY_ATTR_PACKET_TYPE:
- case OVS_KEY_ATTR_NSH:
- + case OVS_KEY_ATTR_TUNNEL_INFO:
- case __OVS_KEY_ATTR_MAX:
- default:
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement