socsvn commit: r308008 - soc2016/yuanxunzhang/head/usr.sbin/eaps
yuanxunzhang at FreeBSD.org
yuanxunzhang at FreeBSD.org
Fri Aug 19 10:49:15 UTC 2016
Author: yuanxunzhang
Date: Fri Aug 19 10:49:13 2016
New Revision: 308008
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=308008
Log:
EAPS: modify eaps socket interface
Modified:
soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c
soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h
soc2016/yuanxunzhang/head/usr.sbin/eaps/keywords
Modified: soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c
==============================================================================
--- soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c Fri Aug 19 09:11:50 2016 (r308007)
+++ soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c Fri Aug 19 10:49:13 2016 (r308008)
@@ -97,6 +97,8 @@
static void create_domain(int, char **, int);
static void delete_domain(int, char **, int);
static void show_eaps_status(int, char **, int);
+static void set_eaps_mode(int, char **, int);
+static void set_eaps_priority(int, char **, int);
static void usage(const char *);
void load_module(const char *);
@@ -122,6 +124,10 @@
case K_SHOW:
show_eaps_status(argc, argv, s);
break;
+ case K_MODE:
+ break;
+ case K_PRIORITY:
+ break;
}
usage(*argv);
return retval;
@@ -223,6 +229,34 @@
exit(error);
}
+static void
+set_eaps_mode(int argc, char **argv, int s)
+{
+ int error = 0;
+
+ struct eaps_state es;
+ bzero(&es, sizeof(es));
+
+ char *domain_name = *(++argv);
+
+ // check eaps domain name
+ if (domain_name == NULL) {
+ err(1, "EAPS domain name is NULL!");
+ }
+
+ char *mode = *(++argv);
+ printf("Debug print: the switch mode is %s!\n", mode);
+
+ //check the eaps switch mode
+ if ((mode != eaps_mode_message[EAPS_MODE_TRANSIT])
+ || (mode != aps_mode_message[EAPS_MODE_MASTER])) {
+ err(1, "Wrong swith mode, swith mode should be transit or master!\n");
+ }
+
+ exit(error);
+}
+
+
static void
usage(const char *cp)
{
Modified: soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h
==============================================================================
--- soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h Fri Aug 19 09:11:50 2016 (r308007)
+++ soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.h Fri Aug 19 10:49:13 2016 (r308008)
@@ -48,16 +48,6 @@
uint8_t mode; /* switch mode for a node: transit or master, default transit */
uint8_t priority; /* EAPS domain priority high or normal */
};
-/*
- * EAPS ring node states
- */
-#define EAPS_S_IDLE 0x00 /* EAPS Domain (Master/Transit) not running */
-#define EAPS_S_COMPLETE 0x01 /* Master node in COMPLETE state */
-#define EAPS_S_FAILED 0x02 /* Master node in FAILED state */
-#define EAPS_S_LINKS_UP 0x03 /* Transit UP: Pri & Sec ring ports are up */
-#define EAPS_S_LINK_DOWN 0x04 /* Transit DOWN: Pri and/or Sec ports down */
-#define EAPS_S_PREFORWARD 0x05 /* Transit in PREFORWARDING State */
-#define EAPS_S_INIT 0x06 /* Master node in INIT state */
/*
* EAPS ring status states (active or not active)
@@ -65,4 +55,11 @@
#define EAPS_STATUS_ACTIVE 0x00 /* Eaps is active */
#define EAPS_STATUS_NOT_ACTIVE 0x01 /* Eaps is not active */
+#define EAPS_MODE_TRANSIT 0x00 /* EAPS swith mode - transit (default) */
+#define EAPS_MODE_MASTER 0x01 /* EAPS swith mode - master */
+
+#define EAPS_PRIORITY_NORMAL 0x00 /* EAPS domain priority - normal */
+#define EAPS_PRIORITY_HIGH 0x01 /* EAPS domain priority - high (default) */
+
+
#define SIOCSEAPSDOMAIN _IOWR('i', 300, struct eaps_state)
Modified: soc2016/yuanxunzhang/head/usr.sbin/eaps/keywords
==============================================================================
--- soc2016/yuanxunzhang/head/usr.sbin/eaps/keywords Fri Aug 19 09:11:50 2016 (r308007)
+++ soc2016/yuanxunzhang/head/usr.sbin/eaps/keywords Fri Aug 19 10:49:13 2016 (r308008)
@@ -4,3 +4,6 @@
create
delete
show
+mode
+priority
+
More information about the svn-soc-all
mailing list