ovs-thread: Add new support for thread-specific data.
[cascardo/ovs.git] / lib / vlandev.c
index 5f58f10..b793f77 100644 (file)
@@ -26,6 +26,7 @@
 #include "dummy.h"
 #include "hash.h"
 #include "shash.h"
+#include "socket-util.h"
 #include "vlog.h"
 
 VLOG_DEFINE_THIS_MODULE(vlandev);
@@ -220,8 +221,7 @@ vlandev_linux_refresh(void)
         char vlan_dev[16], real_dev[16];
         int vid;
 
-        if (sscanf(line, "%15[^ |] | %d | %15s",
-                   vlan_dev, &vid, real_dev) == 3) {
+        if (ovs_scan(line, "%15[^ |] | %d | %15s", vlan_dev, &vid, real_dev)) {
             vlandev_add__(vlan_dev, real_dev, vid);
         }
     }
@@ -237,17 +237,11 @@ do_vlan_ioctl(const char *netdev_name, struct vlan_ioctl_args *via,
 {
     static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1);
     int error;
-    int sock;
 
     via->cmd = cmd;
     ovs_strlcpy(via->device1, netdev_name, sizeof via->device1);
 
-    sock = netdev_linux_get_af_inet_sock();
-    if (sock < 0) {
-        return -sock;
-    }
-
-    error = ioctl(sock, SIOCSIFVLAN, via) < 0 ? errno : 0;
+    error = af_inet_ioctl(SIOCSIFVLAN, via);
     if (error) {
         VLOG_WARN_RL(&rl, "%s: VLAN ioctl %s failed (%s)",
                      netdev_name, cmd_name, ovs_strerror(error));
@@ -308,7 +302,7 @@ vlandev_stub_del(const char *vlan_dev OVS_UNUSED)
     return EOPNOTSUPP;
 }
 
-static const struct vlandev_class vlandev_stub_class = {
+static const struct vlandev_class OVS_UNUSED vlandev_stub_class = {
     NULL,                       /* vd_refresh */
     vlandev_stub_add,
     vlandev_stub_del