Re: [net-next 05/10] if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
flat view
From: Stephen Hemminger <hidden>
Date: 2011-09-26 16:21:20
On Mon, 26 Sep 2011 09:18:34 -0700 "Rose, Gregory V" [off-list ref] wrote:
quoted
-----Original Message----- From: Stephen Hemminger [mailto:shemminger@vyatta.com] Sent: Sunday, September 25, 2011 10:23 AM To: Kirsher, Jeffrey T Cc: davem@davemloft.net; Rose, Gregory V; netdev@vger.kernel.org; gospo@redhat.com Subject: Re: [net-next 05/10] if_link: Add additional parameter to IFLA_VF_INFO for spoof checking On Sat, 24 Sep 2011 02:17:38 -0700 Jeff Kirsher [off-list ref] wrote:quoted
From: Greg Rose <redacted> Add configuration setting for drivers to turn spoof checking on or off for discrete VFs. Signed-off-by: Greg Rose <redacted> Signed-off-by: Jeff Kirsher <redacted> --- include/linux/if_link.h | 7 +++++++ include/linux/netdevice.h | 3 +++ net/core/rtnetlink.c | 25 ++++++++++++++++++++++--- 3 files changed, 32 insertions(+), 3 deletions(-)diff --git a/include/linux/if_link.h b/include/linux/if_link.h index 0ee969a..8bd6d6d 100644 --- a/include/linux/if_link.h +++ b/include/linux/if_link.h@@ -279,6 +279,7 @@ enum { IFLA_VF_MAC, /* Hardware queue specific attributes */ IFLA_VF_VLAN, IFLA_VF_TX_RATE, /* TX Bandwidth Allocation */ + IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ __IFLA_VF_MAX, };@@ -300,12 +301,18 @@ struct ifla_vf_tx_rate { __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ }; +struct ifla_vf_spoofchk { + __u32 vf; + __u32 setting; +}; + struct ifla_vf_info { __u32 vf; __u8 mac[32]; __u32 vlan; __u32 qos; __u32 tx_rate; + __u32 spoofchk; };This breaks ABI compatibility, unless you add some special case code to handle the case of tools sending the old ifla_vf_info. Users may have older version of ip utilities that send smaller size structure.The structure is not sent directly to the kernel from user space. The kernel will get the information and stuff it into individual data units using NLA_PUT. If the older tool doesn't ask for the info then that's fine so far as I can tell. The only issue I've seen is using the new ip tool on older kernels that don't supply the data. You'll get a segmentation fault and core dump. However, I was under the impression that the general rule was to use a release of the ip tool only on the kernel it was released for or on newer kernels. - Greg
The tools need to run on older kernels. Think of Debian and other distributions which want to ship newer ip tools but run on old kernel. In this case, what is expected is: # ip li some new option RTNETLINK: Invalid ...