summaryrefslogtreecommitdiffstats
path: root/usr.sbin/switchctl/switchctl.c
diff options
context:
space:
mode:
authorreyk <reyk@openbsd.org>2016-11-24 09:23:11 +0000
committerreyk <reyk@openbsd.org>2016-11-24 09:23:11 +0000
commitb423f9d5571f6d10324c59d51a1c41277a699ef8 (patch)
tree16014384e6ba6168c076f488e0bb64fc234a068e /usr.sbin/switchctl/switchctl.c
parentBetter cast for consistency (diff)
downloadwireguard-openbsd-b423f9d5571f6d10324c59d51a1c41277a699ef8.tar.xz
wireguard-openbsd-b423f9d5571f6d10324c59d51a1c41277a699ef8.zip
Add simple client to add flows from switchctl. Not finished yet, but
it is better for rzalamena and me to work on it in the tree. OK rzalamena@
Diffstat (limited to 'usr.sbin/switchctl/switchctl.c')
-rw-r--r--usr.sbin/switchctl/switchctl.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/usr.sbin/switchctl/switchctl.c b/usr.sbin/switchctl/switchctl.c
index 1bb085ae231..144ae131ea6 100644
--- a/usr.sbin/switchctl/switchctl.c
+++ b/usr.sbin/switchctl/switchctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: switchctl.c,v 1.5 2016/11/15 08:15:07 reyk Exp $ */
+/* $OpenBSD: switchctl.c,v 1.6 2016/11/24 09:23:11 reyk Exp $ */
/*
* Copyright (c) 2007-2015 Reyk Floeter <reyk@openbsd.org>
@@ -94,9 +94,10 @@ main(int argc, char *argv[])
int ch;
int v = 0;
int quiet = 0;
+ int verbose = 0;
const char *sock = SWITCHD_SOCKET;
- while ((ch = getopt(argc, argv, "qs:")) != -1) {
+ while ((ch = getopt(argc, argv, "qs:v")) != -1) {
switch (ch) {
case 'q':
quiet = 1;
@@ -104,6 +105,9 @@ main(int argc, char *argv[])
case 's':
sock = optarg;
break;
+ case 'v':
+ verbose = 2;
+ break;
default:
usage();
/* NOTREACHED */
@@ -125,13 +129,17 @@ main(int argc, char *argv[])
if (pledge("stdio dns inet unix", NULL) == -1)
err(1, "pledge");
+ log_init(quiet ? 0 : 2, LOG_USER);
+
/* parse options */
if ((res = parse(argc, argv)) == NULL)
exit(1);
res->quiet = quiet;
+ res->verbose = verbose;
- log_init(quiet ? 0 : 2, LOG_USER);
+ if (res->quiet && res->verbose)
+ fatal("conflicting -v and -q options");
switch (res->action) {
case NONE:
@@ -141,6 +149,9 @@ main(int argc, char *argv[])
case DUMP_FEATURES:
case DUMP_FLOWS:
case DUMP_TABLES:
+ case FLOW_ADD:
+ case FLOW_DELETE:
+ case FLOW_MODIFY:
ofpclient(res, pw);
break;
default: