Author: np
Date: Wed Aug 15 21:24:05 2018
New Revision: 337873
URL: https://svnweb.freebsd.org/changeset/base/337873

Log:
  cxgbe(4): Use VLAN_TRUNKDEV instead of private cookie to figure out the
  parent of a VLAN ifnet.
  
  MFC after:    1 week
  Sponsored by: Chelsio Communications

Modified:
  head/sys/dev/cxgbe/adapter.h
  head/sys/dev/cxgbe/t4_main.c
  head/sys/dev/cxgbe/tom/t4_connect.c

Modified: head/sys/dev/cxgbe/adapter.h
==============================================================================
--- head/sys/dev/cxgbe/adapter.h        Wed Aug 15 21:21:16 2018        
(r337872)
+++ head/sys/dev/cxgbe/adapter.h        Wed Aug 15 21:24:05 2018        
(r337873)
@@ -194,8 +194,6 @@ struct vi_info {
        uint16_t rss_size;      /* size of VI's RSS table slice */
        uint16_t rss_base;      /* start of VI's RSS table slice */
 
-       eventhandler_tag vlan_c;
-
        int nintr;
        int first_intr;
 

Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c        Wed Aug 15 21:21:16 2018        
(r337872)
+++ head/sys/dev/cxgbe/t4_main.c        Wed Aug 15 21:24:05 2018        
(r337873)
@@ -544,7 +544,6 @@ static void get_regs(struct adapter *, struct t4_regdu
 static void vi_refresh_stats(struct adapter *, struct vi_info *);
 static void cxgbe_refresh_stats(struct adapter *, struct port_info *);
 static void cxgbe_tick(void *);
-static void cxgbe_vlan_config(void *, struct ifnet *, uint16_t);
 static void cxgbe_sysctls(struct port_info *);
 static int sysctl_int_array(SYSCTL_HANDLER_ARGS);
 static int sysctl_bitfield_8b(SYSCTL_HANDLER_ARGS);
@@ -1522,9 +1521,6 @@ cxgbe_vi_attach(device_t dev, struct vi_info *vi)
        ifp->if_hw_tsomaxsegcount = TX_SGL_SEGS;
        ifp->if_hw_tsomaxsegsize = 65536;
 
-       vi->vlan_c = EVENTHANDLER_REGISTER(vlan_config, cxgbe_vlan_config, ifp,
-           EVENTHANDLER_PRI_ANY);
-
        ether_ifattach(ifp, vi->hw_addr);
 #ifdef DEV_NETMAP
        if (ifp->if_capabilities & IFCAP_NETMAP)
@@ -1602,9 +1598,6 @@ cxgbe_vi_detach(struct vi_info *vi)
 
        ether_ifdetach(ifp);
 
-       if (vi->vlan_c)
-               EVENTHANDLER_DEREGISTER(vlan_config, vi->vlan_c);
-
        /* Let detach proceed even if these fail. */
 #ifdef DEV_NETMAP
        if (ifp->if_capabilities & IFCAP_NETMAP)
@@ -5459,18 +5452,6 @@ vi_tick(void *arg)
        vi_refresh_stats(sc, vi);
 
        callout_schedule(&vi->tick, hz);
-}
-
-static void
-cxgbe_vlan_config(void *arg, struct ifnet *ifp, uint16_t vid)
-{
-       struct ifnet *vlan;
-
-       if (arg != ifp || ifp->if_type != IFT_ETHER)
-               return;
-
-       vlan = VLAN_DEVAT(ifp, vid);
-       VLAN_SETCOOKIE(vlan, ifp);
 }
 
 /*

Modified: head/sys/dev/cxgbe/tom/t4_connect.c
==============================================================================
--- head/sys/dev/cxgbe/tom/t4_connect.c Wed Aug 15 21:21:16 2018        
(r337872)
+++ head/sys/dev/cxgbe/tom/t4_connect.c Wed Aug 15 21:24:05 2018        
(r337873)
@@ -335,7 +335,7 @@ t4_connect(struct toedev *tod, struct socket *so, stru
        if (rt_ifp->if_type == IFT_ETHER)
                vi = rt_ifp->if_softc;
        else if (rt_ifp->if_type == IFT_L2VLAN) {
-               struct ifnet *ifp = VLAN_COOKIE(rt_ifp);
+               struct ifnet *ifp = VLAN_TRUNKDEV(rt_ifp);
 
                vi = ifp->if_softc;
                VLAN_TAG(rt_ifp, &vid);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to