[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <EA929A9653AAE14F841771FB1DE5A136602D675056@rrsmsx501.amr.corp.intel.com>
Date: Tue, 14 Dec 2010 11:09:12 -0700
From: "Tantilov, Emil S" <emil.s.tantilov@...el.com>
To: Ben Hutchings <bhutchings@...arflare.com>,
Jesse Gross <jesse@...ira.com>
CC: David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"Duyck, Alexander H" <alexander.h.duyck@...el.com>
Subject: RE: [PATCH] ixgb: Convert to new vlan model.
Ben Hutchings wrote:
> On Mon, 2010-12-13 at 19:42 -0800, Jesse Gross wrote:
>> This switches the ixgb driver to use the new vlan interfaces.
>> In doing this, it completes the work begun in
>> ae54496f9e8d40c89e5668205c181dccfa9ecda1 allowing the use of
>> hardware vlan insertion without having a vlan group configured. [...]
>> diff --git a/drivers/net/ixgb/ixgb_ethtool.c
>> b/drivers/net/ixgb/ixgb_ethtool.c
>> index 43994c1..0e4c527 100644
>> --- a/drivers/net/ixgb/ixgb_ethtool.c
>> +++ b/drivers/net/ixgb/ixgb_ethtool.c
>> @@ -706,6 +706,45 @@ ixgb_get_strings(struct net_device *netdev, u32
>> stringset, u8 *data) } }
>>
>> +static int ixgb_set_flags(struct net_device *netdev, u32 data) +{
>> + struct ixgb_adapter *adapter = netdev_priv(netdev); + bool
>> need_reset; + int rc;
>> +
>> + /* The hardware requires that RX vlan stripping and TX vlan
>> insertion + * be configured together. Therefore, if one setting
>> changes adjust the + * other one to match. + */
>> + if (!!(data & ETH_FLAG_RXVLAN) != !!(data & ETH_FLAG_TXVLAN)) {
>> + if ((data & ETH_FLAG_RXVLAN) !=
>> + (netdev->features & NETIF_F_HW_VLAN_RX))
>> + data ^= ETH_FLAG_TXVLAN;
>> + else if ((data & ETH_FLAG_TXVLAN) !=
>> + (netdev->features & NETIF_F_HW_VLAN_TX))
>> + data ^= ETH_FLAG_RXVLAN;
>> + }
> [...]
>
> I think this should reject attempts to change just one flag with
> -EINVAL, rather than quietly 'fixing' the setting.
>
> Ben.
I'm not sure this is a good idea. At least not without some sort of
explanation. Since there is no way for the user to know that he needs
to disable both.
Thanks,
Emil
Powered by blists - more mailing lists