mirror of
https://github.com/openvswitch/ovs
synced 2025-09-01 14:55:18 +00:00
datapath: Renumber non-upstreamable interfaces.
The interfaces related to tunneling aren't finalized enough to be sent upstream but we also still want to retain them in the OVS repository. Since userspace should be compatible with both versions of the kernel, this renumbers the tunnel interfaces to high numbers so that we can continue to add new interfaces without conflict. Signed-off-by: Jesse Gross <jesse@nicira.com> Acked-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1214,11 +1214,6 @@ int flow_to_nlattrs(const struct sw_flow_key *swkey, struct sk_buff *skb)
|
|||||||
struct ovs_key_ethernet *eth_key;
|
struct ovs_key_ethernet *eth_key;
|
||||||
struct nlattr *nla;
|
struct nlattr *nla;
|
||||||
|
|
||||||
/* This is an imperfect sanity-check that FLOW_BUFSIZE doesn't need
|
|
||||||
* to be updated, but will at least raise awareness when new
|
|
||||||
* datapath key types are added. */
|
|
||||||
BUILD_BUG_ON(__OVS_KEY_ATTR_MAX != 15);
|
|
||||||
|
|
||||||
if (swkey->phy.priority)
|
if (swkey->phy.priority)
|
||||||
NLA_PUT_U32(skb, OVS_KEY_ATTR_PRIORITY, swkey->phy.priority);
|
NLA_PUT_U32(skb, OVS_KEY_ATTR_PRIORITY, swkey->phy.priority);
|
||||||
|
|
||||||
|
@@ -182,7 +182,7 @@ enum ovs_vport_type {
|
|||||||
OVS_VPORT_TYPE_UNSPEC,
|
OVS_VPORT_TYPE_UNSPEC,
|
||||||
OVS_VPORT_TYPE_NETDEV, /* network device */
|
OVS_VPORT_TYPE_NETDEV, /* network device */
|
||||||
OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */
|
OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */
|
||||||
OVS_VPORT_TYPE_PATCH, /* virtual tunnel connecting two vports */
|
OVS_VPORT_TYPE_PATCH = 100, /* virtual tunnel connecting two vports */
|
||||||
OVS_VPORT_TYPE_GRE, /* GRE tunnel */
|
OVS_VPORT_TYPE_GRE, /* GRE tunnel */
|
||||||
OVS_VPORT_TYPE_CAPWAP, /* CAPWAP tunnel */
|
OVS_VPORT_TYPE_CAPWAP, /* CAPWAP tunnel */
|
||||||
__OVS_VPORT_TYPE_MAX
|
__OVS_VPORT_TYPE_MAX
|
||||||
@@ -198,6 +198,7 @@ enum ovs_vport_type {
|
|||||||
* @OVS_VPORT_ATTR_NAME: Name of vport. For a vport based on a network device
|
* @OVS_VPORT_ATTR_NAME: Name of vport. For a vport based on a network device
|
||||||
* this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
|
* this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
|
||||||
* plus a null terminator.
|
* plus a null terminator.
|
||||||
|
* @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information.
|
||||||
* @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that
|
* @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that
|
||||||
* OVS_PACKET_CMD_MISS upcalls will be directed to for packets received on
|
* OVS_PACKET_CMD_MISS upcalls will be directed to for packets received on
|
||||||
* this port. A value of zero indicates that upcalls should not be sent.
|
* this port. A value of zero indicates that upcalls should not be sent.
|
||||||
@@ -224,10 +225,10 @@ enum ovs_vport_attr {
|
|||||||
OVS_VPORT_ATTR_PORT_NO, /* u32 port number within datapath */
|
OVS_VPORT_ATTR_PORT_NO, /* u32 port number within datapath */
|
||||||
OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
|
OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
|
||||||
OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
|
OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
|
||||||
|
OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
|
||||||
OVS_VPORT_ATTR_UPCALL_PID, /* u32 Netlink PID to receive upcalls */
|
OVS_VPORT_ATTR_UPCALL_PID, /* u32 Netlink PID to receive upcalls */
|
||||||
OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
|
OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
|
||||||
OVS_VPORT_ATTR_ADDRESS, /* hardware address */
|
OVS_VPORT_ATTR_ADDRESS = 100, /* hardware address */
|
||||||
OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
|
|
||||||
__OVS_VPORT_ATTR_MAX
|
__OVS_VPORT_ATTR_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -264,7 +265,6 @@ struct ovs_flow_stats {
|
|||||||
enum ovs_key_attr {
|
enum ovs_key_attr {
|
||||||
OVS_KEY_ATTR_UNSPEC,
|
OVS_KEY_ATTR_UNSPEC,
|
||||||
OVS_KEY_ATTR_PRIORITY, /* 32-bit skb->priority */
|
OVS_KEY_ATTR_PRIORITY, /* 32-bit skb->priority */
|
||||||
OVS_KEY_ATTR_TUN_ID, /* 64-bit tunnel ID */
|
|
||||||
OVS_KEY_ATTR_IN_PORT, /* 32-bit OVS dp port number */
|
OVS_KEY_ATTR_IN_PORT, /* 32-bit OVS dp port number */
|
||||||
OVS_KEY_ATTR_ETHERNET, /* struct ovs_key_ethernet */
|
OVS_KEY_ATTR_ETHERNET, /* struct ovs_key_ethernet */
|
||||||
OVS_KEY_ATTR_8021Q, /* struct ovs_key_8021q */
|
OVS_KEY_ATTR_8021Q, /* struct ovs_key_8021q */
|
||||||
@@ -277,6 +277,7 @@ enum ovs_key_attr {
|
|||||||
OVS_KEY_ATTR_ICMPV6, /* struct ovs_key_icmpv6 */
|
OVS_KEY_ATTR_ICMPV6, /* struct ovs_key_icmpv6 */
|
||||||
OVS_KEY_ATTR_ARP, /* struct ovs_key_arp */
|
OVS_KEY_ATTR_ARP, /* struct ovs_key_arp */
|
||||||
OVS_KEY_ATTR_ND, /* struct ovs_key_nd */
|
OVS_KEY_ATTR_ND, /* struct ovs_key_nd */
|
||||||
|
OVS_KEY_ATTR_TUN_ID = 100, /* 64-bit tunnel ID */
|
||||||
__OVS_KEY_ATTR_MAX
|
__OVS_KEY_ATTR_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -80,11 +80,6 @@ void format_odp_actions(struct ds *, const struct nlattr *odp_actions,
|
|||||||
*/
|
*/
|
||||||
#define ODPUTIL_FLOW_KEY_BYTES 140
|
#define ODPUTIL_FLOW_KEY_BYTES 140
|
||||||
|
|
||||||
/* This is an imperfect sanity-check that ODPUTIL_FLOW_KEY_BYTES doesn't
|
|
||||||
* need to be updated, but will at least raise awareness when new OVS
|
|
||||||
* datapath key types are added. */
|
|
||||||
BUILD_ASSERT_DECL(__OVS_KEY_ATTR_MAX == 15);
|
|
||||||
|
|
||||||
/* A buffer with sufficient size and alignment to hold an nlattr-formatted flow
|
/* A buffer with sufficient size and alignment to hold an nlattr-formatted flow
|
||||||
* key. An array of "struct nlattr" might not, in theory, be sufficiently
|
* key. An array of "struct nlattr" might not, in theory, be sufficiently
|
||||||
* aligned because it only contains 16-bit types. */
|
* aligned because it only contains 16-bit types. */
|
||||||
|
Reference in New Issue
Block a user