From owner-svn-soc-all@freebsd.org Thu Aug 18 14:27:25 2016 Return-Path: Delivered-To: svn-soc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3350BBEC5D for ; Thu, 18 Aug 2016 14:27:25 +0000 (UTC) (envelope-from yuanxunzhang@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9828D1DA1 for ; Thu, 18 Aug 2016 14:27:25 +0000 (UTC) (envelope-from yuanxunzhang@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id u7IERPM0082485 for ; Thu, 18 Aug 2016 14:27:25 GMT (envelope-from yuanxunzhang@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id u7IERODD082425 for svn-soc-all@FreeBSD.org; Thu, 18 Aug 2016 14:27:24 GMT (envelope-from yuanxunzhang@FreeBSD.org) Date: Thu, 18 Aug 2016 14:27:24 GMT Message-Id: <201608181427.u7IERODD082425@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to yuanxunzhang@FreeBSD.org using -f From: yuanxunzhang@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r307960 - in soc2016/yuanxunzhang/head: sys/net usr.sbin/eaps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Aug 2016 14:27:25 -0000 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 */ };