lkml.org 
[lkml]   [2014]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13 017/162] tg3: Allow for recieve of full-size 8021AD frames
    Date
    3.13.11.11 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Vlad Yasevich <vyasevich@gmail.com>

    [ Upstream commit 7d3083ee36b51e425b6abd76778a2046906b0fd3 ]

    When receiving a vlan-tagged frame that still contains
    a vlan header, the length of the packet will be greater
    then MTU+ETH_HLEN since it will account of the extra
    vlan header. TG3 checks this for the case for 802.1Q,
    but not for 802.1ad. As a result, full sized 802.1ad
    frames get dropped by the card.

    Add a check for 802.1ad protocol when receving full
    sized frames.

    Suggested-by: Prashant Sreedharan <prashant@broadcom.com>
    CC: Prashant Sreedharan <prashant@broadcom.com>
    CC: Michael Chan <mchan@broadcom.com>
    Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/ethernet/broadcom/tg3.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
    index 072f401..1b84139 100644
    --- a/drivers/net/ethernet/broadcom/tg3.c
    +++ b/drivers/net/ethernet/broadcom/tg3.c
    @@ -6907,7 +6907,8 @@ static int tg3_rx(struct tg3_napi *tnapi, int budget)
    skb->protocol = eth_type_trans(skb, tp->dev);

    if (len > (tp->dev->mtu + ETH_HLEN) &&
    - skb->protocol != htons(ETH_P_8021Q)) {
    + skb->protocol != htons(ETH_P_8021Q) &&
    + skb->protocol != htons(ETH_P_8021AD)) {
    dev_kfree_skb(skb);
    goto drop_it_no_recycle;
    }
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-11-07 00:21    [W:4.978 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site