X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-openflowd.c;h=9a9dffe162bffd5f332b7fdfdb2117d7904737f7;hb=007948177581f3b3dad188221593d0e4bdca6ba0;hp=33ebc68151b6d99f7993959d8c376a69afa260a1;hpb=2db65bf72c008cf7ee658d0b44744b39495ead14;p=sliver-openvswitch.git diff --git a/utilities/ovs-openflowd.c b/utilities/ovs-openflowd.c index 33ebc6815..9a9dffe16 100644 --- a/utilities/ovs-openflowd.c +++ b/utilities/ovs-openflowd.c @@ -28,7 +28,6 @@ #include "compiler.h" #include "daemon.h" #include "dirs.h" -#include "dpif.h" #include "dummy.h" #include "leak-checker.h" #include "list.h" @@ -93,7 +92,6 @@ main(int argc, char *argv[]) struct ofproto *ofproto; struct ofsettings s; int error; - struct dpif *dpif; struct netflow_options nf_options; const char *port; bool exiting; @@ -116,9 +114,10 @@ main(int argc, char *argv[]) VLOG_INFO("Open vSwitch version %s", VERSION BUILDNR); VLOG_INFO("OpenFlow protocol version 0x%02x", OFP_VERSION); - error = dpif_create_and_open(s.dp_name, s.dp_type, &dpif); + error = ofproto_create(s.dp_name, s.dp_type, &ofproto); if (error) { - VLOG_FATAL("could not create datapath (%s)", strerror(error)); + VLOG_FATAL("could not initialize OpenFlow switch (%s)", + strerror(error)); } /* Add ports to the datapath if requested by the user. */ @@ -131,7 +130,7 @@ main(int argc, char *argv[]) port, strerror(error)); } - error = dpif_port_add(dpif, netdev, NULL); + error = ofproto_port_add(ofproto, netdev, NULL); if (error) { VLOG_FATAL("failed to add %s as a port (%s)", port, strerror(error)); @@ -140,12 +139,7 @@ main(int argc, char *argv[]) netdev_close(netdev); } - /* Start OpenFlow processing. */ - error = ofproto_create(s.dp_name, s.dp_type, NULL, NULL, &ofproto); - if (error) { - VLOG_FATAL("could not initialize openflow switch (%s)", - strerror(error)); - } + /* Configure OpenFlow switch. */ if (s.datapath_id) { ofproto_set_datapath_id(ofproto, s.datapath_id); } @@ -175,12 +169,10 @@ main(int argc, char *argv[]) VLOG_FATAL("unrecoverable datapath error (%s)", strerror(error)); } unixctl_server_run(unixctl); - dp_run(); netdev_run(); ofproto_wait(ofproto); unixctl_server_wait(unixctl); - dp_wait(); netdev_wait(); if (exiting) { poll_immediate_wake(); @@ -188,7 +180,7 @@ main(int argc, char *argv[]) poll_block(); } - dpif_close(dpif); + ofproto_destroy(ofproto); return 0; } @@ -475,7 +467,7 @@ parse_options(int argc, char *argv[], struct ofsettings *s) } /* Local vconns. */ - dp_parse_name(argv[0], &s->dp_name, &s->dp_type); + ofproto_parse_name(argv[0], &s->dp_name, &s->dp_type); /* Figure out controller names. */ s->run_forever = false;