Date: Thu, 18 Aug 2016 14:27:24 GMT From: yuanxunzhang@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r307960 - in soc2016/yuanxunzhang/head: sys/net usr.sbin/eaps Message-ID: <201608181427.u7IERODD082425@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuanxunzhang Date: Thu Aug 18 14:27:22 2016 New Revision: 307960 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=307960 Log: EAPS: query eaps domian status Modified: soc2016/yuanxunzhang/head/sys/net/eaps.c soc2016/yuanxunzhang/head/sys/net/eaps.h soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h Modified: soc2016/yuanxunzhang/head/sys/net/eaps.c ============================================================================== --- soc2016/yuanxunzhang/head/sys/net/eaps.c Thu Aug 18 12:51:26 2016 (r307959) +++ soc2016/yuanxunzhang/head/sys/net/eaps.c Thu Aug 18 14:27:22 2016 (r307960) @@ -200,10 +200,13 @@ eaps_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { int error = 0; + struct eaps_softc *sc = (struct eaps_softc *)ifp->if_softc; + struct eaps_state *es = (struct eaps_state *)data; switch (cmd) { case SIOCSEAPSDOMAIN: - printf("Debug print: Query eaps domain!\n"); + printf("Debug print: Query eaps domain status!\n"); + eaps_status(sc, es); break; default: error = ether_ioctl(ifp, cmd, data); @@ -233,26 +236,35 @@ static void eaps_qflush(struct ifnet *ifp __unused) { + +} + +void +eaps_status(struct eaps_softc *sc, struct eaps_state *es) +{ + struct rm_priotracker tracker; + EAPS_RLOCK(sc, &tracker); + es->state = sc->sc_eaps.state; + es->active = sc->sc_eaps.active; + + printf("EAPS status: interface: %s, state: %d\n.", sc->sc_ifp->if_xname, es->state); + EAPS_RUNLOCK(sc, &tracker); } void -eaps_attach(struct eaps_state *es) +eaps_attach(struct eaps_softc *es) { //set eaps domain protocol state to default value + EAPS_WLOCK(sc); es->state = EAPS_S_IDLE; es->active = EAPS_ACTIVE_DISABLE; - - mtx_lock(&es_list_mtx); - LIST_INSERT_HEAD(&es_list_head, es, es_list); - mtx_unlock(&es_list_mtx); + EAPS_WUNLOCK(sc); } void eaps_detach(struct eaps_state *es) { - mtx_lock(&es_list_mtx); - LIST_REMOVE(es, es_list); - mtx_unlock(&es_list_mtx); + } /* Modified: soc2016/yuanxunzhang/head/sys/net/eaps.h ============================================================================== --- soc2016/yuanxunzhang/head/sys/net/eaps.h Thu Aug 18 12:51:26 2016 (r307959) +++ soc2016/yuanxunzhang/head/sys/net/eaps.h Thu Aug 18 14:27:22 2016 (r307960) @@ -36,8 +36,6 @@ */ struct eaps_state { char ifname[IFNAMSIZ]; /* name of the eaps */ - LIST_ENTRY(eaps_state) es_list; - struct mtx bs_mtx; /* mutex signal */ uint8_t state; /* state of eaps */ uint8_t active; /* enable or disable eaps */ }; Modified: soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h ============================================================================== --- soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h Thu Aug 18 12:51:26 2016 (r307959) +++ soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h Thu Aug 18 14:27:22 2016 (r307960) @@ -43,8 +43,6 @@ */ struct eaps_state { char ifname[IFNAMSIZ]; /* name of the eaps */ - LIST_ENTRY(eaps_state) es_list; - struct mtx bs_mtx; /* mutex signal */ uint8_t state; /* state of eaps */ uint8_t active; /* enable or disable eaps */ };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201608181427.u7IERODD082425>