git://git.onelab.eu
/
sliver-openvswitch.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
23e60ce
)
Eliminate dpctl dependency on /sbin/ifconfig.
author
Ben Pfaff
<blp@nicira.com>
Tue, 19 Aug 2008 20:56:28 +0000
(13:56 -0700)
committer
Ben Pfaff
<blp@nicira.com>
Tue, 26 Aug 2008 19:03:14 +0000
(12:03 -0700)
utilities/dpctl.c
patch
|
blob
|
history
diff --git
a/utilities/dpctl.c
b/utilities/dpctl.c
index
bade78a
..
381a1c7
100644
(file)
--- a/
utilities/dpctl.c
+++ b/
utilities/dpctl.c
@@
-44,23
+44,25
@@
#include <unistd.h>
#include <sys/time.h>
#include <unistd.h>
#include <sys/time.h>
-#include "command-line.h"
-#include "compiler.h"
-#include "buffer.h"
-#include "dpif.h"
#ifdef HAVE_NETLINK
#ifdef HAVE_NETLINK
+#include "netdev.h"
#include "netlink.h"
#include "openflow-netlink.h"
#endif
#include "netlink.h"
#include "openflow-netlink.h"
#endif
-#include "util.h"
-#include "socket-util.h"
-#include "openflow.h"
+
+#include "buffer.h"
+#include "command-line.h"
+#include "compiler.h"
+#include "dpif.h"
#include "ofp-print.h"
#include "ofp-print.h"
+#include "openflow.h"
#include "packets.h"
#include "random.h"
#include "packets.h"
#include "random.h"
+#include "socket-util.h"
#include "timeval.h"
#include "timeval.h"
-#include "
vconn
.h"
+#include "
util
.h"
#include "vconn-ssl.h"
#include "vconn-ssl.h"
+#include "vconn.h"
#include "vlog.h"
#define THIS_MODULE VLM_dpctl
#include "vlog.h"
#define THIS_MODULE VLM_dpctl
@@
-68,8
+70,6
@@
#define DEFAULT_IDLE_TIMEOUT 60
#define MAX_ADD_ACTS 5
#define DEFAULT_IDLE_TIMEOUT 60
#define MAX_ADD_ACTS 5
-static const char* ifconfigbin = "/sbin/ifconfig";
-
#define MOD_PORT_CMD_UP "up"
#define MOD_PORT_CMD_DOWN "down"
#define MOD_PORT_CMD_FLOOD "flood"
#define MOD_PORT_CMD_UP "up"
#define MOD_PORT_CMD_DOWN "down"
#define MOD_PORT_CMD_FLOOD "flood"
@@
-246,12
+246,17
@@
static void run(int retval, const char *message, ...)
#ifdef HAVE_NETLINK
/* Netlink-only commands. */
#ifdef HAVE_NETLINK
/* Netlink-only commands. */
-static int
if_up(const char* intf
)
+static int
if_up(const char *netdev_name
)
{
{
- char command[256];
- snprintf(command, sizeof command, "%s %s up &> /dev/null",
- ifconfigbin, intf);
- return system(command);
+ struct netdev *netdev;
+ int retval;
+
+ retval = netdev_open(netdev_name, NETDEV_ETH_TYPE_NONE, &netdev);
+ if (!retval) {
+ retval = netdev_turn_flags_on(netdev, NETDEV_UP, true);
+ netdev_close(netdev);
+ }
+ return retval;
}
static void open_nl_vconn(const char *name, bool subscribe, struct dpif *dpif)
}
static void open_nl_vconn(const char *name, bool subscribe, struct dpif *dpif)
@@
-305,8
+310,8
@@
static void add_del_ports(int argc UNUSED, char *argv[],
static int ifup_and_add_port(struct dpif *dpif, const char *netdev)
{
static int ifup_and_add_port(struct dpif *dpif, const char *netdev)
{
- if_up(netdev);
- return dpif_add_port(dpif, netdev);
+ i
nt retval = i
f_up(netdev);
+ return
retval ? retval :
dpif_add_port(dpif, netdev);
}
static void do_add_port(int argc UNUSED, char *argv[])
}
static void do_add_port(int argc UNUSED, char *argv[])