openvswitch: Allow each vport to have an array of 'port_id's.
In order to allow handlers directly read upcalls from datapath, we need to support per-handler netlink socket for each vport in datapath. This commit makes this happen. Also, it is guaranteed to be backward compatible with previous branch. Signed-off-by: Alex Wang <alexw@nicira.com> Acked-by: Thomas Graf <tgraf@redhat.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
This commit is contained in:
parent
f6e6753244
commit
5cd667b0a4
4 changed files with 148 additions and 16 deletions
|
@ -118,6 +118,9 @@ struct ovs_vport_stats {
|
|||
/* Allow last Netlink attribute to be unaligned */
|
||||
#define OVS_DP_F_UNALIGNED (1 << 0)
|
||||
|
||||
/* Allow datapath to associate multiple Netlink PIDs to each vport */
|
||||
#define OVS_DP_F_VPORT_PIDS (1 << 1)
|
||||
|
||||
/* Fixed logical ports. */
|
||||
#define OVSP_LOCAL ((__u32)0)
|
||||
|
||||
|
@ -203,9 +206,10 @@ enum ovs_vport_type {
|
|||
* this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
|
||||
* plus a null terminator.
|
||||
* @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information.
|
||||
* @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that
|
||||
* 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.
|
||||
* @OVS_VPORT_ATTR_UPCALL_PID: The array of Netlink socket pids in userspace
|
||||
* among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets
|
||||
* received on this port. If this is a single-element array of value 0,
|
||||
* upcalls should not be sent.
|
||||
* @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for
|
||||
* packets sent or received through the vport.
|
||||
*
|
||||
|
@ -228,7 +232,8 @@ enum ovs_vport_attr {
|
|||
OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
|
||||
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, /* array of u32 Netlink socket PIDs for */
|
||||
/* receiving upcalls */
|
||||
OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
|
||||
__OVS_VPORT_ATTR_MAX
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue