if_link: Add SR-IOV configuration methods
authorWilliams, Mitch A <mitch.a.williams@intel.com>
Wed, 10 Feb 2010 01:43:24 +0000 (01:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Feb 2010 00:56:07 +0000 (16:56 -0800)
Add SR-IOV VF management methods to IFLA_LINKINFO. This allows userspace to
use rtnetlink to configure VF network devices.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/if_link.h

index 6674791622ca3a96508029ebec43ec489fba6e3b..c9bf92cd7653abf901ea048341149e290448b42c 100644 (file)
@@ -78,6 +78,11 @@ enum {
 #define IFLA_LINKINFO IFLA_LINKINFO
        IFLA_NET_NS_PID,
        IFLA_IFALIAS,
+       IFLA_NUM_VF,            /* Number of VFs if device is SR-IOV PF */
+       IFLA_VF_MAC,            /* Hardware queue specific attributes */
+       IFLA_VF_VLAN,
+       IFLA_VF_TX_RATE,        /* TX Bandwidth Allocation */
+       IFLA_VFINFO,
        __IFLA_MAX
 };
 
@@ -196,4 +201,29 @@ enum macvlan_mode {
        MACVLAN_MODE_BRIDGE  = 4, /* talk to bridge ports directly */
 };
 
+/* SR-IOV virtual function managment section */
+
+struct ifla_vf_mac {
+       __u32 vf;
+       __u8 mac[32]; /* MAX_ADDR_LEN */
+};
+
+struct ifla_vf_vlan {
+       __u32 vf;
+       __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
+       __u32 qos;
+};
+
+struct ifla_vf_tx_rate {
+       __u32 vf;
+       __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
+};
+
+struct ifla_vf_info {
+       __u32 vf;
+       __u8 mac[32];
+       __u32 vlan;
+       __u32 qos;
+       __u32 tx_rate;
+};
 #endif /* _LINUX_IF_LINK_H */