[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTin62WWL+cnLVNaOYmcvL28rfkUDVCVqiimSPZ=e@mail.gmail.com>
Date: Fri, 5 Nov 2010 12:56:30 -0700
From: Jesse Gross <jesse@...ira.com>
To: jeffrey.t.kirsher@...el.com
Cc: David Miller <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"Brandeburg, Jesse" <jesse.brandeburg@...el.com>,
"Duyck, Alexander H" <alexander.h.duyck@...el.com>
Subject: Re: [PATCH 1/2] ixgb: Don't check for vlan group on transmit.
On Fri, Nov 5, 2010 at 12:11 PM, Jeff Kirsher
<jeffrey.t.kirsher@...el.com> wrote:
> On Sat, 2010-10-30 at 11:49 -0700, Jesse Gross wrote:
>> On transmit, the ixgb driver will only use vlan acceleration if a
>> vlan group is configured. This can lead to tags getting dropped
>> when bridging because the networking core assumes that a driver
>> that claims vlan acceleration support can do it at all times. This
>> change should have been part of commit eab6d18d "vlan: Don't check for
>> vlan group before vlan_tx_tag_present." but was missed.
>>
>> Signed-off-by: Jesse Gross <jesse@...ira.com>
>> CC: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
>> CC: Jesse Brandeburg <jesse.brandeburg@...el.com>
>> CC: PJ Waskiewicz <peter.p.waskiewicz.jr@...el.com>
>> ---
>> drivers/net/ixgb/ixgb_main.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
>> index caa8192..d18194e 100644
>> --- a/drivers/net/ixgb/ixgb_main.c
>> +++ b/drivers/net/ixgb/ixgb_main.c
>> @@ -1498,7 +1498,7 @@ ixgb_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
>> DESC_NEEDED)))
>> return NETDEV_TX_BUSY;
>>
>> - if (adapter->vlgrp && vlan_tx_tag_present(skb)) {
>> + if (vlan_tx_tag_present(skb)) {
>> tx_flags |= IXGB_TX_FLAGS_VLAN;
>> vlan_id = vlan_tx_tag_get(skb);
>> }
>
> After further review, NAK because this will cause a bug. With this
> patch it would be possible to overrun the buffers, so the correct fix is
> to increase max_frame_size by VLAN_TAG_SIZE in ixgb/igb_change_mtu.
Hmm, I didn't see any other place where it made changes to the
handling of packets on transmit if a vlan group is configured. Maybe
the buffer is extended when a group is registered and stripping is
enabled?
In any case, you might want to check the other Intel drivers for
similar problems. I did a pass and made a mass conversion of this
type a little while ago. Those changes have already been merged, I
just missed this one by accident.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists