bnx2: Correctly receive full sized 802.1ad fragmes
This driver, similar to tg3, has a check that will cause full sized 802.1ad frames to be dropped. The frame will be larger then the standard mtu due to the presense of vlan header that has not been stripped. The driver should not drop this frame and should process it just like it does for 802.1q. CC: Sony Chacko <sony.chacko@qlogic.com> CC: Dept-HSGLinuxNICDev@qlogic.com Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
7d3083ee36
Коммит
1b0ecb28b0
|
@ -3236,8 +3236,9 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
|
|||
|
||||
skb->protocol = eth_type_trans(skb, bp->dev);
|
||||
|
||||
if ((len > (bp->dev->mtu + ETH_HLEN)) &&
|
||||
(ntohs(skb->protocol) != 0x8100)) {
|
||||
if (len > (bp->dev->mtu + ETH_HLEN) &&
|
||||
skb->protocol != htons(0x8100) &&
|
||||
skb->protocol != htons(ETH_P_8021AD)) {
|
||||
|
||||
dev_kfree_skb(skb);
|
||||
goto next_rx;
|
||||
|
|
Загрузка…
Ссылка в новой задаче