DEV_ATTR_DROP_UNSOLICITED_NA,
DEV_ATTR_ARP_ACCEPT,
DEV_ATTR_AUTH,
+ DEV_ATTR_AUTH_VLAN,
DEV_ATTR_SPEED,
DEV_ATTR_DUPLEX,
DEV_ATTR_VLAN,
+ DEV_ATTR_PAUSE,
+ DEV_ATTR_ASYM_PAUSE,
+ DEV_ATTR_RXPAUSE,
+ DEV_ATTR_TXPAUSE,
+ DEV_ATTR_AUTONEG,
+ DEV_ATTR_GRO,
+ DEV_ATTR_MASTER,
+ DEV_ATTR_EEE,
__DEV_ATTR_MAX,
};
DEV_OPT_ARP_ACCEPT = (1ULL << 29),
DEV_OPT_SPEED = (1ULL << 30),
DEV_OPT_DUPLEX = (1ULL << 31),
+ DEV_OPT_PAUSE = (1ULL << 32),
+ DEV_OPT_ASYM_PAUSE = (1ULL << 33),
+ DEV_OPT_RXPAUSE = (1ULL << 34),
+ DEV_OPT_TXPAUSE = (1ULL << 35),
+ DEV_OPT_AUTONEG = (1ULL << 36),
+ DEV_OPT_GRO = (1ULL << 37),
+ DEV_OPT_MASTER = (1ULL << 38),
+ DEV_OPT_EEE = (1ULL << 39),
};
/* events broadcasted to all users of a device */
bool auth;
unsigned int speed;
bool duplex;
+ bool pause;
+ bool asym_pause;
+ bool rxpause;
+ bool txpause;
+ bool autoneg;
+ bool gro;
+ int master_ifindex;
+ bool eee;
};
struct device_vlan_range {
struct vlist_tree vlans;
struct kvlist vlan_aliases;
+ struct blob_attr *config_auth_vlans;
+ struct blob_attr *auth_vlans;
char ifname[IFNAMSIZ];
int ifindex;
void alias_notify_device(const char *name, struct device *dev);
struct device *device_alias_get(const char *name);
-void device_set_auth_status(struct device *dev, bool value);
+void device_set_auth_status(struct device *dev, bool value, struct blob_attr *vlans);
static inline void
device_set_deferred(struct device *dev, bool value)