revert commit 217e648afe5
authorGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Sat, 30 Jun 2012 10:45:56 +0000 (12:45 +0200)
committerGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Sat, 30 Jun 2012 10:45:56 +0000 (12:45 +0200)
prefer fix by Ed in upstream git master

lib/vlandev.c
ofproto/ofproto-dpif-sflow.c

index ffb8e73..77e8e93 100644 (file)
 #include <sys/stat.h>
 
 #include "hash.h"
+#include "rtnetlink-link.h"
 #include "shash.h"
 #include "vlog.h"
 
 VLOG_DEFINE_THIS_MODULE(vlandev);
 
 #ifdef __linux__
-#include "rtnetlink-link.h"
 #include <linux/if_vlan.h>
 #include <linux/sockios.h>
 #include "netdev-linux.h"
index e68b94b..611f89a 100644 (file)
@@ -18,9 +18,7 @@
 #include <config.h>
 #include "ofproto-dpif-sflow.h"
 #include <inttypes.h>
-#ifdef HAVE_NETLINK
 #include <net/if.h>
-#endif /* HAVE_NETLINK */
 #include <stdlib.h>
 #include "collectors.h"
 #include "compiler.h"
@@ -33,9 +31,7 @@
 #include "ofproto.h"
 #include "packets.h"
 #include "poll-loop.h"
-#ifdef HAVE_NETLINK
 #include "route-table.h"
-#endif /* HAVE_NETLINK */
 #include "sflow_api.h"
 #include "socket-util.h"
 #include "timeval.h"
@@ -233,35 +229,18 @@ sflow_agent_get_counters(void *ds_, SFLPoller *poller,
  * specified then it is figured out by taking a look at the routing table based
  * on 'targets'. */
 static bool
-#ifndef HAVE_NETLINK
-sflow_choose_agent_address(const char *agent_device, const char *control_ip,
-                           SFLAddress *agent_addr)
-#else
 sflow_choose_agent_address(const char *agent_device,
                            const struct sset *targets,
                            const char *control_ip,
                            SFLAddress *agent_addr)
-#endif /* HAVE_NETLINK */
 {
-#ifdef HAVE_NETLINK
     const char *target;
-#endif /* HAVE_NETLINK */
     struct in_addr in4;
 
     memset(agent_addr, 0, sizeof *agent_addr);
     agent_addr->type = SFLADDRESSTYPE_IP_V4;
 
     if (agent_device) {
-#ifndef HAVE_NETLINK
-        struct netdev *netdev;
-
-        if (!netdev_open(agent_device, "system", &netdev)) {
-            int error = netdev_get_in4(netdev, &in4, NULL);
-            netdev_close(netdev);
-            if (!error) {
-                goto success;
-            }
-#else
         if (!netdev_get_in4_by_name(agent_device, &in4)) {
             goto success;
         }
@@ -275,7 +254,6 @@ sflow_choose_agent_address(const char *agent_device,
             && route_table_get_name(sin.sin_addr.s_addr, name)
             && !netdev_get_in4_by_name(name, &in4)) {
             goto success;
-#endif /* HAVE_NETLINK */
         }
     }
 
@@ -323,10 +301,8 @@ dpif_sflow_create(struct dpif *dpif)
     ds->next_tick = time_now() + 1;
     hmap_init(&ds->ports);
     ds->probability = 0;
-#ifdef HAVE_NETLINK
     route_table_register();
 
-#endif /* HAVE_NETLINK */
     return ds;
 }
 
@@ -345,9 +321,7 @@ dpif_sflow_destroy(struct dpif_sflow *ds)
     if (ds) {
         struct dpif_sflow_port *dsp, *next;
 
-#ifdef HAVE_NETLINK
         route_table_unregister();
-#endif /* HAVE_NETLINK */
         dpif_sflow_clear(ds);
         HMAP_FOR_EACH_SAFE (dsp, next, hmap_node, &ds->ports) {
             dpif_sflow_del_port__(ds, dsp);
@@ -459,7 +433,6 @@ dpif_sflow_set_options(struct dpif_sflow *ds,
         }
     }
 
-#ifdef HAVE_NETLINK
     /* Choose agent IP address and agent device (if not yet setup) */
     if (!sflow_choose_agent_address(options->agent_device,
                                     &options->targets,
@@ -468,7 +441,6 @@ dpif_sflow_set_options(struct dpif_sflow *ds,
         return;
     }
 
-#endif /* HAVE_NETLINK */
     /* Avoid reconfiguring if options didn't change. */
     if (!options_changed) {
         return;
@@ -476,15 +448,6 @@ dpif_sflow_set_options(struct dpif_sflow *ds,
     ofproto_sflow_options_destroy(ds->options);
     ds->options = ofproto_sflow_options_clone(options);
 
-#ifndef HAVE_NETLINK
-    /* Choose agent IP address. */
-    if (!sflow_choose_agent_address(options->agent_device,
-                                    options->control_ip, &agentIP)) {
-        dpif_sflow_clear(ds);
-        return;
-    }
-
-#endif /* HAVE_NETLINK */
     /* Create agent. */
     VLOG_INFO("creating sFlow agent %d", options->sub_id);
     if (ds->sflow_agent) {
@@ -604,9 +567,7 @@ dpif_sflow_run(struct dpif_sflow *ds)
 {
     if (dpif_sflow_is_enabled(ds)) {
         time_t now = time_now();
-#ifdef HAVE_NETLINK
         route_table_run();
-#endif /* HAVE_NETLINK */
         if (now >= ds->next_tick) {
             sfl_agent_tick(ds->sflow_agent, time_wall());
             ds->next_tick = now + 1;