X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fe1000%2Figb_rxtx.c;h=278d5d2712af18707771c515a9259852e7134e36;hb=a2bc5d7bcc11438404027c119e889f6cd4c2bdfa;hp=45da4ed9d2f44018fbf195b607c291d0e6e5bfeb;hpb=eab6bcfe61422fc2727616ac8685a563d922ec93;p=dpdk.git diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index 45da4ed9d2..278d5d2712 100644 --- a/drivers/net/e1000/igb_rxtx.c +++ b/drivers/net/e1000/igb_rxtx.c @@ -2343,15 +2343,18 @@ eth_igb_rx_init(struct rte_eth_dev *dev) * Configure support of jumbo frames, if any. */ if (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) { + uint32_t max_len = dev->data->dev_conf.rxmode.max_rx_pkt_len; + rctl |= E1000_RCTL_LPE; /* * Set maximum packet length by default, and might be updated * together with enabling/disabling dual VLAN. */ - E1000_WRITE_REG(hw, E1000_RLPML, - dev->data->dev_conf.rxmode.max_rx_pkt_len + - VLAN_TAG_SIZE); + if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_EXTEND) + max_len += VLAN_TAG_SIZE; + + E1000_WRITE_REG(hw, E1000_RLPML, max_len); } else rctl &= ~E1000_RCTL_LPE;