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:
parent
854f4bf07c
commit
6507fb6f0a
@ -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]);
|
||||||
|
Loading…
Reference in New Issue
Block a user