cxgbe(4): netmap does not set IFCAP_NETMAP in an ifnet's if_capabilities

any more (since r307394).  Do it in the driver instead.

MFC after:	1 week
This commit is contained in:
Navdeep Parhar 2016-12-09 02:21:27 +00:00
parent df3e1050ff
commit b8c1ffef80
2 changed files with 6 additions and 2 deletions

View File

@ -1416,6 +1416,10 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi)
#ifdef TCP_OFFLOAD
if (vi->nofldrxq != 0)
ifp->if_capabilities |= IFCAP_TOE;
#endif
#ifdef DEV_NETMAP
if (vi->nnmrxq != 0)
ifp->if_capabilities |= IFCAP_NETMAP;
#endif
ifp->if_capenable = T4_CAP_ENABLE;
ifp->if_hwassist = CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO |
@ -1435,7 +1439,7 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi)
ether_ifattach(ifp, vi->hw_addr);
#ifdef DEV_NETMAP
if (vi->nnmrxq != 0)
if (ifp->if_capabilities & IFCAP_NETMAP)
cxgbe_nm_attach(vi);
#endif
sb = sbuf_new_auto();

View File

@ -870,7 +870,7 @@ cxgbe_nm_attach(struct vi_info *vi)
na.nm_register = cxgbe_netmap_reg;
na.num_tx_rings = vi->nnmtxq;
na.num_rx_rings = vi->nnmrxq;
netmap_attach(&na); /* This adds IFCAP_NETMAP to if_capabilities */
netmap_attach(&na);
}
void