|
@@ -842,6 +842,13 @@ static void ipoib_set_mcast_list(struct net_device *dev)
|
|
|
queue_work(ipoib_workqueue, &priv->restart_task);
|
|
|
}
|
|
|
|
|
|
+static int ipoib_get_iflink(const struct net_device *dev)
|
|
|
+{
|
|
|
+ struct ipoib_dev_priv *priv = netdev_priv(dev);
|
|
|
+
|
|
|
+ return priv->parent->ifindex;
|
|
|
+}
|
|
|
+
|
|
|
static u32 ipoib_addr_hash(struct ipoib_neigh_hash *htbl, u8 *daddr)
|
|
|
{
|
|
|
/*
|
|
@@ -1341,6 +1348,7 @@ static const struct net_device_ops ipoib_netdev_ops = {
|
|
|
.ndo_start_xmit = ipoib_start_xmit,
|
|
|
.ndo_tx_timeout = ipoib_timeout,
|
|
|
.ndo_set_rx_mode = ipoib_set_mcast_list,
|
|
|
+ .ndo_get_iflink = ipoib_get_iflink,
|
|
|
};
|
|
|
|
|
|
void ipoib_setup(struct net_device *dev)
|