From: Vijayakumar Muthuvel Manickam Date: Tue, 16 Jun 2015 06:39:54 +0000 (-0400) Subject: kni: add link status update X-Git-Tag: spdx-start~9064 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c077fb455f7e298041a8bc8f5de1544df8b42282;p=dpdk.git kni: add link status update Implement .ndo_change_carrier to enable DPDK applications to propagate link state changes to kni virtual interfaces through sysfs Signed-off-by: Vijayakumar Muthuvel Manickam Acked-by: Helin Zhang --- diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c index dd95db5b76..9f9022b776 100644 --- a/lib/librte_eal/linuxapp/kni/kni_net.c +++ b/lib/librte_eal/linuxapp/kni/kni_net.c @@ -632,6 +632,17 @@ static int kni_net_set_mac(struct net_device *netdev, void *p) return 0; } +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)) +static int kni_net_change_carrier(struct net_device *dev, bool new_carrier) +{ + if (new_carrier) + netif_carrier_on(dev); + else + netif_carrier_off(dev); + return 0; +} +#endif + static const struct header_ops kni_net_header_ops = { .create = kni_net_header, .rebuild = kni_net_rebuild_header, @@ -648,6 +659,9 @@ static const struct net_device_ops kni_net_netdev_ops = { .ndo_get_stats = kni_net_stats, .ndo_tx_timeout = kni_net_tx_timeout, .ndo_set_mac_address = kni_net_set_mac, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)) + .ndo_change_carrier = kni_net_change_carrier, +#endif }; void