[ovs-dev] [PATCH] netdev: Allow explicit creation of netdev objects

Jesse Gross jesse at nicira.com
Wed Dec 2 02:22:56 UTC 2009


Looks good, just one comment below.

Justin Pettit wrote:
> diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
> index 35724d9..e252782 100644
> --- a/lib/dpif-netdev.c
> +++ b/lib/dpif-netdev.c
> @@ -373,9 +373,13 @@ do_add_port(struct dp_netdev *dp, const char *devname, uint16_t flags,
>      if (!internal) {
>          error = netdev_open(devname, NETDEV_ETH_TYPE_ANY, &netdev);
>      } else {
> -        char *tapname = xasprintf("tap:%s", devname);
> -        error = netdev_open(tapname, NETDEV_ETH_TYPE_ANY, &netdev);
> -        free(tapname);
> +        error = netdev_create(devname, "tap", NULL);
> +        if (!error) {
> +            error = netdev_open(devname, NETDEV_ETH_TYPE_ANY, &netdev);
> +            if (error) {
> +                netdev_destroy(devname);
> +            }
> +        }
>      }
>      if (error) {
>          return error;

I don't think that the netdev created here is ever destroyed (in the non 
error case).




More information about the dev mailing list