On 8.6.2017 08:44, Jiri Pirko wrote:
> From: Arkadi Sharshevsky <arka...@mellanox.com>
> 
> This is done as a preparation stage before setting the bridge port flags
> from the bridge code. Currently the device can be queried for the bridge
> flags state, but the querier cannot distinguish if the flag is disabled
> or if it is not supported at all. Thus, add new attr and a bit-mask which
> include information regarding the support on a per-flag basis.
> 
> Drivers that support bridge offload but not support bridge flags should
> return zeroed bitmask.
> 
> Signed-off-by: Arkadi Sharshevsky <arka...@mellanox.com>
> Reviewed-by: Ido Schimmel <ido...@mellanox.com>
> Reviewed-by: Ivan Vecera <ivec...@redhat.com>
> Signed-off-by: Jiri Pirko <j...@mellanox.com>
> ---
>  include/net/switchdev.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/net/switchdev.h b/include/net/switchdev.h
> index 929d6af..63a754d 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 */
> 

Reviewed-by: Ivan Vecera <ivec...@redhat.com>

Reply via email to