diff options
author | Chris Wright <chrisw@sous-sol.org> | 2010-05-16 01:05:45 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-16 01:05:45 -0700 |
commit | c02db8c6290bb992442fec1407643c94cc414375 (patch) | |
tree | 05ec7bdd7efc005cd9e3905e0d6f6469bf08668b /include/linux/if_link.h | |
parent | 55fa0cfd7c3ac2ae34cac7dca2e3fbcfe661e6c3 (diff) | |
download | kernel_goldelico_gta04-c02db8c6290bb992442fec1407643c94cc414375.zip kernel_goldelico_gta04-c02db8c6290bb992442fec1407643c94cc414375.tar.gz kernel_goldelico_gta04-c02db8c6290bb992442fec1407643c94cc414375.tar.bz2 |
rtnetlink: make SR-IOV VF interface symmetric
Now we have a set of nested attributes:
IFLA_VFINFO_LIST (NESTED)
IFLA_VF_INFO (NESTED)
IFLA_VF_MAC
IFLA_VF_VLAN
IFLA_VF_TX_RATE
This allows a single set to operate on multiple attributes if desired.
Among other things, it means a dump can be replayed to set state.
The current interface has yet to be released, so this seems like
something to consider for 2.6.34.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_link.h')
-rw-r--r-- | include/linux/if_link.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/include/linux/if_link.h b/include/linux/if_link.h index c9bf92c..d94963b 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h @@ -79,10 +79,7 @@ enum { 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_VFINFO_LIST, __IFLA_MAX }; @@ -203,6 +200,24 @@ enum macvlan_mode { /* SR-IOV virtual function managment section */ +enum { + IFLA_VF_INFO_UNSPEC, + IFLA_VF_INFO, + __IFLA_VF_INFO_MAX, +}; + +#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) + +enum { + IFLA_VF_UNSPEC, + IFLA_VF_MAC, /* Hardware queue specific attributes */ + IFLA_VF_VLAN, + IFLA_VF_TX_RATE, /* TX Bandwidth Allocation */ + __IFLA_VF_MAX, +}; + +#define IFLA_VF_MAX (__IFLA_VF_MAX - 1) + struct ifla_vf_mac { __u32 vf; __u8 mac[32]; /* MAX_ADDR_LEN */ |