Lines Matching refs:vsi

287 	struct ixl_vsi 	*vsi;
296 vsi = &sc->vsi;
297 vsi->dev = dev;
405 vsi->id = sc->vsi_res->vsi_id;
406 vsi->back = (void *)sc;
439 bzero(&sc->vsi.eth_stats, sizeof(struct i40e_eth_stats));
443 vsi->vlan_attach = EVENTHANDLER_REGISTER(vlan_config,
444 ixlv_register_vlan, vsi, EVENTHANDLER_PRI_FIRST);
445 vsi->vlan_detach = EVENTHANDLER_REGISTER(vlan_unconfig,
446 ixlv_unregister_vlan, vsi, EVENTHANDLER_PRI_FIRST);
460 ixlv_free_queues(vsi);
488 struct ixl_vsi *vsi = &sc->vsi;
493 if (vsi->ifp->if_vlantrunk != NULL) {
494 if_printf(vsi->ifp, "Vlan in use, detach first\n");
500 ether_ifdetach(vsi->ifp);
501 if (vsi->ifp->if_drv_flags & IFF_DRV_RUNNING) {
508 if (vsi->vlan_attach != NULL)
509 EVENTHANDLER_DEREGISTER(vlan_config, vsi->vlan_attach);
510 if (vsi->vlan_detach != NULL)
511 EVENTHANDLER_DEREGISTER(vlan_unconfig, vsi->vlan_detach);
518 if_free(vsi->ifp);
521 ixlv_free_queues(vsi);
557 ixlv_cap_txcsum_tso(struct ixl_vsi *vsi, struct ifnet *ifp, int mask)
565 if (vsi->flags & IXL_FLAGS_KEEP_TSO4) {
566 vsi->flags &= ~IXL_FLAGS_KEEP_TSO4;
572 vsi->flags &= ~IXL_FLAGS_KEEP_TSO4;
585 vsi->flags |= IXL_FLAGS_KEEP_TSO4;
598 if (vsi->flags & IXL_FLAGS_KEEP_TSO6) {
599 vsi->flags &= ~IXL_FLAGS_KEEP_TSO6;
604 vsi->flags &= ~IXL_FLAGS_KEEP_TSO6;
617 vsi->flags |= IXL_FLAGS_KEEP_TSO6;
638 struct ixl_vsi *vsi = ifp->if_softc;
639 struct ixlv_sc *sc = vsi->back;
667 ixlv_init(vsi);
687 vsi->max_frame_size =
711 ixlv_disable_intr(vsi);
712 ixlv_add_multi(vsi);
713 ixlv_enable_intr(vsi);
721 ixlv_disable_intr(vsi);
722 ixlv_del_multi(vsi);
723 ixlv_enable_intr(vsi);
737 ixlv_cap_txcsum_tso(vsi, ifp, mask);
752 ixlv_init(vsi);
780 struct ixl_vsi *vsi = &sc->vsi;
781 struct ifnet *ifp = vsi->ifp;
810 if (vsi->num_vlans != 0)
842 if_printf(sc->vsi.ifp,
852 struct ixl_vsi *vsi = &sc->vsi;
853 struct ixl_queue *que = vsi->queues;
854 struct ifnet *ifp = vsi->ifp;
903 for (int i = 0; i < vsi->num_queues; i++, que++) {
908 if (vsi->max_frame_size <= MCLBYTES)
949 struct ixl_vsi *vsi = (struct ixl_vsi *)arg;
950 struct ixlv_sc *sc = vsi->back;
966 while (!(vsi->ifp->if_drv_flags & IFF_DRV_RUNNING)
971 if_printf(vsi->ifp,
1263 sc->vsi.num_queues = queues;
1346 struct ixl_vsi *vsi = &sc->vsi;
1347 struct ixl_queue *que = vsi->queues;
1357 for (int i = 0; i < vsi->num_queues; i++, que++) {
1418 struct ixl_vsi *vsi = &sc->vsi;
1419 struct ixl_queue *que = vsi->queues;
1426 for (int i = 0; i < vsi->num_queues; i++, vector++, que++) {
1542 struct ixl_vsi *vsi = &sc->vsi;
1543 struct ixl_queue *que = vsi->queues;
1547 ifp = vsi->ifp = if_alloc(IFT_ETHER);
1559 ifp->if_softc = vsi;
1574 vsi->max_frame_size =
1628 struct ixl_vsi *vsi;
1635 vsi = &sc->vsi;
1636 vsi->back = (void *)sc;
1637 vsi->hw = &sc->hw;
1638 vsi->num_vlans = 0;
1641 if (!(vsi->queues =
1643 vsi->num_queues, M_DEVBUF, M_NOWAIT | M_ZERO))) {
1649 for (int i = 0; i < vsi->num_queues; i++) {
1650 que = &vsi->queues[i];
1653 que->vsi = vsi;
1655 vsi->active_queues |= (u64)1 << que->me;
1733 for (int i = 0; i < vsi->num_queues; i++) {
1734 que = &vsi->queues[i];
1742 free(vsi->queues, M_DEVBUF);
1758 struct ixl_vsi *vsi = arg;
1759 struct ixlv_sc *sc = vsi->back;
1776 ++vsi->num_vlans;
1795 struct ixl_vsi *vsi = arg;
1796 struct ixlv_sc *sc = vsi->back;
1811 --vsi->num_vlans;
1881 ixlv_enable_intr(struct ixl_vsi *vsi)
1883 struct i40e_hw *hw = vsi->hw;
1884 struct ixl_queue *que = vsi->queues;
1887 for (int i = 0; i < vsi->num_queues; i++, que++)
1892 ixlv_disable_intr(struct ixl_vsi *vsi)
1894 struct i40e_hw *hw = vsi->hw;
1895 struct ixl_queue *que = vsi->queues;
1898 for (int i = 0; i < vsi->num_queues; i++, que++)
1952 struct ixl_vsi *vsi = &sc->vsi;
1953 struct ixl_queue *que = vsi->queues;
1955 vsi->rx_itr_setting = ixlv_rx_itr;
1956 vsi->tx_itr_setting = ixlv_tx_itr;
1958 for (int i = 0; i < vsi->num_queues; i++, que++) {
1963 vsi->rx_itr_setting);
1964 rxr->itr = vsi->rx_itr_setting;
1968 vsi->tx_itr_setting);
1969 txr->itr = vsi->tx_itr_setting;
1981 struct ixl_vsi *vsi = que->vsi;
1982 struct i40e_hw *hw = vsi->hw;
2033 if (vsi->rx_itr_setting & IXL_ITR_DYNAMIC)
2034 vsi->rx_itr_setting = ixlv_rx_itr;
2036 if (rxr->itr != vsi->rx_itr_setting) {
2037 rxr->itr = vsi->rx_itr_setting;
2055 struct ixl_vsi *vsi = que->vsi;
2056 struct i40e_hw *hw = vsi->hw;
2107 if (vsi->tx_itr_setting & IXL_ITR_DYNAMIC)
2108 vsi->tx_itr_setting = ixlv_tx_itr;
2110 if (txr->itr != vsi->tx_itr_setting) {
2111 txr->itr = vsi->tx_itr_setting;
2131 struct ixl_vsi *vsi = que->vsi;
2132 struct i40e_hw *hw = vsi->hw;
2134 struct ifnet *ifp = vsi->ifp;
2165 struct ixl_vsi *vsi = que->vsi;
2166 struct i40e_hw *hw = vsi->hw;
2171 if (!(vsi->ifp->if_drv_flags & IFF_DRV_RUNNING))
2185 if (!drbr_empty(vsi->ifp, txr->br))
2212 struct ixl_vsi *vsi = ifp->if_softc;
2213 struct ixlv_sc *sc = vsi->back;
2249 struct ixl_vsi *vsi = ifp->if_softc;
2250 struct ifmedia *ifm = &vsi->media;
2270 ixlv_init_multi(struct ixl_vsi *vsi)
2273 struct ixlv_sc *sc = vsi->back;
2276 IOCTL_DBG_IF(vsi->ifp, "begin");
2291 IOCTL_DBG_IF(vsi->ifp, "end");
2295 ixlv_add_multi(struct ixl_vsi *vsi)
2298 struct ifnet *ifp = vsi->ifp;
2299 struct ixlv_sc *sc = vsi->back;
2319 ixlv_init_multi(vsi);
2352 ixlv_del_multi(struct ixl_vsi *vsi)
2356 struct ifnet *ifp = vsi->ifp;
2357 struct ixlv_sc *sc = vsi->back;
2415 struct ixl_vsi *vsi = &sc->vsi;
2416 struct ixl_queue *que = vsi->queues;
2449 for (int i = 0; i < vsi->num_queues; i++,que++) {
2461 vsi->active_queues &= ~((u64)1 << que->me);
2465 if ((vsi->active_queues & ((u64)1 << que->me)) == 0)
2466 vsi->active_queues |= ((u64)1 << que->me);
2476 if (hung == vsi->num_queues)
2495 struct ixl_vsi *vsi = &sc->vsi;
2496 struct ifnet *ifp = vsi->ifp;
2499 if (vsi->link_active == FALSE) {
2503 vsi->link_active = TRUE;
2507 if (vsi->link_active == TRUE) {
2511 vsi->link_active = FALSE;
2531 ifp = sc->vsi.ifp;
2557 ixlv_free_queues(struct ixl_vsi *vsi)
2559 struct ixlv_sc *sc = (struct ixlv_sc *)vsi->back;
2560 struct ixl_queue *que = vsi->queues;
2562 for (int i = 0; i < vsi->num_queues; i++, que++) {
2585 free(vsi->queues, M_DEVBUF);
2592 struct ixl_vsi *vsi = &sc->vsi;
2602 if (vsi->num_queues == 1) {
2648 if (j == vsi->num_queues)
2657 que_id = que_id % vsi->num_queues;
2710 struct ixl_vsi *vsi = &sc->vsi;
2714 if (vsi->num_vlans == 0)
2742 IDPRINTF(sc->vsi.ifp, "exists: " MAC_FORMAT,
2750 if_printf(sc->vsi.ifp, "%s: no filters available!!\n",
2755 IDPRINTF(sc->vsi.ifp, "marked: " MAC_FORMAT,
2862 struct ixl_vsi *vsi = &sc->vsi;
2863 struct i40e_eth_stats *es = &vsi->eth_stats;
2875 struct ixl_queue *queues = vsi->queues;
2888 vsi_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "vsi",
2923 for (int q = 0; q < vsi->num_queues; q++) {
3032 val = rd32(que->vsi->hw, que->txr.tail);
3054 val = rd32(que->vsi->hw, que->rxr.tail);