X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fnetdev-linux.c;h=abfbe6ef8967ba1959a47d92d43d69cb19ea387d;hb=8497dd41214ddaac26928f2efa90becd1b336a52;hp=eecff5034c0c99c407463d3a475ea3226379a401;hpb=93b13be8e65455ecf6e568e604cf76fdb20601c9;p=openvswitch diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index eecff503..abfbe6ef 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -487,8 +487,9 @@ netdev_linux_cache_cb(const struct rtnetlink_change *change, /* Creates the netdev device of 'type' with 'name'. */ static int -netdev_linux_create_system(const char *name, const char *type OVS_UNUSED, - const struct shash *args, struct netdev_dev **netdev_devp) +netdev_linux_create_system(const struct netdev_class *class OVS_UNUSED, + const char *name, const struct shash *args, + struct netdev_dev **netdev_devp) { struct netdev_dev_linux *netdev_dev; int error; @@ -520,8 +521,9 @@ netdev_linux_create_system(const char *name, const char *type OVS_UNUSED, * buffers, across all readers. Therefore once data is read it will * be unavailable to other reads for tap devices. */ static int -netdev_linux_create_tap(const char *name, const char *type OVS_UNUSED, - const struct shash *args, struct netdev_dev **netdev_devp) +netdev_linux_create_tap(const struct netdev_class *class OVS_UNUSED, + const char *name, const struct shash *args, + struct netdev_dev **netdev_devp) { struct netdev_dev_linux *netdev_dev; struct tap_state *state; @@ -1483,8 +1485,7 @@ tc_find_queue__(const struct netdev *netdev, unsigned int queue_id, netdev_dev_linux_cast(netdev_get_dev(netdev)); struct tc_queue *queue; - HMAP_FOR_EACH_IN_BUCKET (queue, struct tc_queue, hmap_node, - hash, &netdev_dev->tc->queues) { + HMAP_FOR_EACH_IN_BUCKET (queue, hmap_node, hash, &netdev_dev->tc->queues) { if (queue->queue_id == queue_id) { return queue; } @@ -1679,8 +1680,7 @@ netdev_linux_dump_queues(const struct netdev *netdev, last_error = 0; shash_init(&details); - HMAP_FOR_EACH (queue, struct tc_queue, hmap_node, - &netdev_dev->tc->queues) { + HMAP_FOR_EACH (queue, hmap_node, &netdev_dev->tc->queues) { shash_clear(&details); error = netdev_dev->tc->ops->class_get(netdev, queue, &details); @@ -2012,7 +2012,7 @@ static void poll_notify(struct list *list) { struct netdev_linux_notifier *notifier; - LIST_FOR_EACH (notifier, struct netdev_linux_notifier, node, list) { + LIST_FOR_EACH (notifier, node, list) { struct netdev_notifier *n = ¬ifier->notifier; n->cb(n); } @@ -2551,8 +2551,7 @@ htb_tc_destroy(struct tc *tc) struct htb *htb = CONTAINER_OF(tc, struct htb, tc); struct htb_class *hc, *next; - HMAP_FOR_EACH_SAFE (hc, next, struct htb_class, tc_queue.hmap_node, - &htb->tc.queues) { + HMAP_FOR_EACH_SAFE (hc, next, tc_queue.hmap_node, &htb->tc.queues) { hmap_remove(&htb->tc.queues, &hc->tc_queue.hmap_node); free(hc); } @@ -2662,7 +2661,7 @@ htb_class_dump_stats(const struct netdev *netdev OVS_UNUSED, major = tc_get_major(handle); minor = tc_get_minor(handle); if (major == 1 && minor > 0 && minor <= HTB_N_QUEUES) { - (*cb)(tc_get_minor(handle), &stats, aux); + (*cb)(minor - 1, &stats, aux); } return 0; }