[ovs-dev] [PATCH 12/16] netdev-linux: Check notifications are for netdev-linux device.
Ben Pfaff
blp at nicira.com
Wed Apr 14 18:14:10 UTC 2010
On Tue, Apr 13, 2010 at 10:41:14AM -0400, Jesse Gross wrote:
> diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
> index 736b588..2fc5b09 100644
> --- a/lib/netdev-linux.c
> +++ b/lib/netdev-linux.c
> @@ -175,18 +175,21 @@ static int get_stats_via_proc(const char *netdev_name, struct netdev_stats *stat
> static struct netdev_dev_linux *
> netdev_dev_linux_cast(const struct netdev_dev *netdev_dev)
> {
> - const char *type = netdev_dev_get_type(netdev_dev);
> - assert(!strcmp(type, "system") || !strcmp(type, "tap")
> - || !strcmp(type, "gre"));
> + const struct netdev_class *netdev_class = netdev_dev_get_class(netdev_dev);
> + assert(netdev_class == &netdev_linux_class
> + || netdev_class == &netdev_tap_class
> + || netdev_class == &netdev_gre_class);
I would move the test into a function, e.g. is_netdev_dev_linux() and
then assert(is_netdev_dev_linux(netdev_class)); or similar.
I would consider simplifying the test to something like
netdev_class->init == netdev_linux_init.
Looks good otherwise.
More information about the dev
mailing list