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