Re: [patch net-next 0/4] net: allow to change carrier from userspace
From: Stephen Hemminger <hidden>
Date: 2012-12-12 18:37:53
On Wed, 12 Dec 2012 19:25:56 +0100 Jiri Pirko [off-list ref] wrote:
Wed, Dec 12, 2012 at 07:12:08PM CET, shemminger@vyatta.com wrote:quoted
On Wed, 12 Dec 2012 19:10:17 +0100 Jiri Pirko [off-list ref] wrote:quoted
quoted
# ip li show dev dummy0 12: dummy0: <NO-CARRIER,BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state DORMANT mode DORMANTif you mean this "NO-CARRIER" it has no direct relation with netif_carrier_ok().It is the same value (IFF_RUNNING) that is visible from user space.static inline bool netif_carrier_ok(const struct net_device *dev) { return !test_bit(__LINK_STATE_NOCARRIER, &dev->state); } So netif_carrier[ok/on/off] are working with on __LINK_STATE_NOCARRIER bit. Not with IFF_RUNNING flag.
What is the code path that you are worried about netif_carrier_ok being set or clear? The interaction here is complex, and right now LINK_STATE_NOCARRIER is purely controlled by the driver, your patch changes that, but before acking I want to make sure why it is required.