Skip site navigation (1)Skip section navigation (2)
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>