X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Fdp_dev.c;h=008f3f6ce9593d07db1769546192fe29513db8d2;hb=85ab0a021523e51435539af0e6a138c73c9846a2;hp=d11e7f6f756f4880e8dfbef9616c39ea006b028e;hpb=f86e18b739d8f6f8f714a4ce0cb38f6ac58b1108;p=openvswitch diff --git a/datapath/dp_dev.c b/datapath/dp_dev.c index d11e7f6f..008f3f6c 100644 --- a/datapath/dp_dev.c +++ b/datapath/dp_dev.c @@ -118,7 +118,7 @@ static void dp_getinfo(struct net_device *netdev, struct ethtool_drvinfo *info) { struct dp_dev *dp_dev = dp_dev_priv(netdev); strcpy(info->driver, "openvswitch"); - sprintf(info->bus_info, "%d", dp_dev->dp->dp_idx); + sprintf(info->bus_info, "%d.%d", dp_dev->dp->dp_idx, dp_dev->port_no); } static struct ethtool_ops dp_ethtool_ops = { @@ -211,16 +211,17 @@ struct net_device *dp_dev_create(struct datapath *dp, const char *dp_name, int p if (!netdev) return ERR_PTR(-ENOMEM); + dp_dev = dp_dev_priv(netdev); + dp_dev->dp = dp; + dp_dev->port_no = port_no; + dp_dev->dev = netdev; + err = register_netdevice(netdev); if (err) { free_netdev(netdev); return ERR_PTR(err); } - dp_dev = dp_dev_priv(netdev); - dp_dev->dp = dp; - dp_dev->port_no = port_no; - dp_dev->dev = netdev; return netdev; }