net/cxgbe: check Rx config before doing VLAN strip offload

Fixes: 436125e641 ("net/cxgbe: update to Rx/Tx offload API")
Cc: stable@dpdk.org

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
This commit is contained in:
Rahul Lakkireddy 2018-11-09 13:26:24 +05:30 committed by Ferruh Yigit
parent 854f4bf07c
commit 6507fb6f0a

View File

@ -1339,18 +1339,22 @@ inline bool force_linkup(struct adapter *adap)
int link_start(struct port_info *pi) int link_start(struct port_info *pi)
{ {
struct adapter *adapter = pi->adapter; struct adapter *adapter = pi->adapter;
int ret; u64 conf_offloads;
unsigned int mtu; unsigned int mtu;
int ret;
mtu = pi->eth_dev->data->dev_conf.rxmode.max_rx_pkt_len - mtu = pi->eth_dev->data->dev_conf.rxmode.max_rx_pkt_len -
(ETHER_HDR_LEN + ETHER_CRC_LEN); (ETHER_HDR_LEN + ETHER_CRC_LEN);
conf_offloads = pi->eth_dev->data->dev_conf.rxmode.offloads;
/* /*
* We do not set address filters and promiscuity here, the stack does * We do not set address filters and promiscuity here, the stack does
* that step explicitly. * that step explicitly.
*/ */
ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1, ret = t4_set_rxmode(adapter, adapter->mbox, pi->viid, mtu, -1, -1, -1,
-1, 1, true); !!(conf_offloads & DEV_RX_OFFLOAD_VLAN_STRIP),
true);
if (ret == 0) { if (ret == 0) {
ret = cxgbe_mpstcam_modify(pi, (int)pi->xact_addr_filt, ret = cxgbe_mpstcam_modify(pi, (int)pi->xact_addr_filt,
(u8 *)&pi->eth_dev->data->mac_addrs[0]); (u8 *)&pi->eth_dev->data->mac_addrs[0]);