diff options
Diffstat (limited to 'include/net/switchdev.h')
| -rw-r--r-- | include/net/switchdev.h | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/include/net/switchdev.h b/include/net/switchdev.h index 929d6af321cd..8ae9e3b6392e 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -46,6 +46,7 @@ enum switchdev_attr_id {  	SWITCHDEV_ATTR_ID_PORT_PARENT_ID,  	SWITCHDEV_ATTR_ID_PORT_STP_STATE,  	SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS, +	SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT,  	SWITCHDEV_ATTR_ID_PORT_MROUTER,  	SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME,  	SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING, @@ -62,6 +63,7 @@ struct switchdev_attr {  		struct netdev_phys_item_id ppid;	/* PORT_PARENT_ID */  		u8 stp_state;				/* PORT_STP_STATE */  		unsigned long brport_flags;		/* PORT_BRIDGE_FLAGS */ +		unsigned long brport_flags_support;	/* PORT_BRIDGE_FLAGS_SUPPORT */  		bool mrouter;				/* PORT_MROUTER */  		clock_t ageing_time;			/* BRIDGE_AGEING_TIME */  		bool vlan_filtering;			/* BRIDGE_VLAN_FILTERING */ @@ -153,8 +155,11 @@ struct switchdev_ops {  };  enum switchdev_notifier_type { -	SWITCHDEV_FDB_ADD = 1, -	SWITCHDEV_FDB_DEL, +	SWITCHDEV_FDB_ADD_TO_BRIDGE = 1, +	SWITCHDEV_FDB_DEL_TO_BRIDGE, +	SWITCHDEV_FDB_ADD_TO_DEVICE, +	SWITCHDEV_FDB_DEL_TO_DEVICE, +	SWITCHDEV_FDB_OFFLOADED,  };  struct switchdev_notifier_info { @@ -212,6 +217,8 @@ void switchdev_port_fwd_mark_set(struct net_device *dev,  bool switchdev_port_same_parent_id(struct net_device *a,  				   struct net_device *b); + +#define SWITCHDEV_SET_OPS(netdev, ops) ((netdev)->switchdev_ops = (ops))  #else  static inline void switchdev_deferred_process(void) @@ -317,6 +324,8 @@ static inline bool switchdev_port_same_parent_id(struct net_device *a,  	return false;  } +#define SWITCHDEV_SET_OPS(netdev, ops) do {} while (0) +  #endif  #endif /* _LINUX_SWITCHDEV_H_ */ |