X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetdev-patch.c;h=5a0eea7155a7f6b216c64d70e838a103fa715832;hb=8497dd41214ddaac26928f2efa90becd1b336a52;hp=21a03636bfcd3f03057ff3fc3a4496c5bb86543f;hpb=43694e2a8d950f62781ec6dc613b5dac32de35fd;p=openvswitch diff --git a/lib/netdev-patch.c b/lib/netdev-patch.c index 21a03636..5a0eea71 100644 --- a/lib/netdev-patch.c +++ b/lib/netdev-patch.c @@ -26,10 +26,10 @@ #include "openvswitch/datapath-protocol.h" #include "packets.h" #include "socket-util.h" - -#define THIS_MODULE VLM_netdev_patch #include "vlog.h" +VLOG_DEFINE_THIS_MODULE(netdev_patch) + struct netdev_dev_patch { struct netdev_dev netdev_dev; }; @@ -41,14 +41,14 @@ struct netdev_patch { static struct netdev_dev_patch * netdev_dev_patch_cast(const struct netdev_dev *netdev_dev) { - netdev_dev_assert_class(netdev_dev, &netdev_patchnew_class); + netdev_dev_assert_class(netdev_dev, &netdev_patch_class); return CONTAINER_OF(netdev_dev, struct netdev_dev_patch, netdev_dev); } static struct netdev_patch * netdev_patch_cast(const struct netdev *netdev) { - netdev_assert_class(netdev, &netdev_patchnew_class); + netdev_assert_class(netdev, &netdev_patch_class); return CONTAINER_OF(netdev, struct netdev_patch, netdev); } @@ -85,8 +85,9 @@ parse_config(const char *name, const struct shash *args, } static int -netdev_patch_create(const char *name, const char *type OVS_UNUSED, - const struct shash *args, struct netdev_dev **netdev_devp) +netdev_patch_create(const struct netdev_class *class OVS_UNUSED, + const char *name, const struct shash *args, + struct netdev_dev **netdev_devp) { int err; struct odp_vport_add ova; @@ -103,7 +104,7 @@ netdev_patch_create(const char *name, const char *type OVS_UNUSED, ova.config = (char *)peer; err = netdev_vport_do_ioctl(ODP_VPORT_ADD, &ova); - if (err == EEXIST) { + if (err == EBUSY) { VLOG_WARN("%s: destroying existing device", name); err = netdev_vport_do_ioctl(ODP_VPORT_DEL, ova.devname); @@ -119,7 +120,7 @@ netdev_patch_create(const char *name, const char *type OVS_UNUSED, } netdev_dev = xmalloc(sizeof *netdev_dev); - netdev_dev_init(&netdev_dev->netdev_dev, name, &netdev_patchnew_class); + netdev_dev_init(&netdev_dev->netdev_dev, name, &netdev_patch_class); *netdev_devp = &netdev_dev->netdev_dev; return 0; @@ -173,8 +174,8 @@ netdev_patch_close(struct netdev *netdev_) free(netdev); } -const struct netdev_class netdev_patchnew_class = { - "patchnew", +const struct netdev_class netdev_patch_class = { + "patch", NULL, /* init */ NULL, /* run */ @@ -202,12 +203,23 @@ const struct netdev_class netdev_patchnew_class = { NULL, /* get_ifindex */ netdev_vport_get_carrier, netdev_vport_get_stats, - NULL, /* set_stats */ + netdev_vport_set_stats, NULL, /* get_features */ NULL, /* set_advertisements */ NULL, /* get_vlan_vid */ + NULL, /* set_policing */ + NULL, /* get_qos_types */ + NULL, /* get_qos_capabilities */ + NULL, /* get_qos */ + NULL, /* set_qos */ + NULL, /* get_queue */ + NULL, /* set_queue */ + NULL, /* delete_queue */ + NULL, /* get_queue_stats */ + NULL, /* dump_queues */ + NULL, /* dump_queue_stats */ NULL, /* get_in4 */ NULL, /* set_in4 */