[dpdk-dev] [PATCH v2] kni: Add link status update

Vijayakumar Muthuvel Manickam mmvijay at gmail.com
Mon Jun 15 10:21:43 CEST 2015


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 <mmvijay at gmail.com>
---
Implemented .ndo_change_carrier instead of adding a new ioctl

 lib/librte_eal/linuxapp/kni/kni_net.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/lib/librte_eal/linuxapp/kni/kni_net.c
index dd95db5..10c94ce 100644
--- a/lib/librte_eal/linuxapp/kni/kni_net.c
+++ b/lib/librte_eal/linuxapp/kni/kni_net.c
@@ -632,6 +632,15 @@ static int kni_net_set_mac(struct net_device *netdev, void *p)
 	return 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;
+}
+
 static const struct header_ops kni_net_header_ops = {
 	.create  = kni_net_header,
 	.rebuild = kni_net_rebuild_header,
@@ -648,6 +657,7 @@ 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,
+	.ndo_change_carrier = kni_net_change_carrier,
 };
 
 void
-- 
1.8.1.4



More information about the dev mailing list