--- zzzz-none-000/linux-4.9.276/include/net/switchdev.h 2021-07-20 14:21:16.000000000 +0000 +++ falcon-5530-750/linux-4.9.276/include/net/switchdev.h 2023-04-05 08:19:02.000000000 +0000 @@ -46,8 +46,13 @@ SWITCHDEV_ATTR_ID_PORT_PARENT_ID, SWITCHDEV_ATTR_ID_PORT_STP_STATE, SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS, + SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS, + SWITCHDEV_ATTR_ID_PORT_LEARNING_LIMIT, + SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS_SUPPORT, SWITCHDEV_ATTR_ID_BRIDGE_AGEING_TIME, SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING, + SWITCHDEV_ATTR_ID_BRIDGE_MCAST_FLOOD, + SWITCHDEV_ATTR_ID_BRIDGE_AVM_FLOOD_RATELIMIT, }; struct switchdev_attr { @@ -59,9 +64,13 @@ union { 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; /* PORT_{PRE}_BRIDGE_FLAGS */ + int learning_limit; /* PORT_LEARNING_LIMIT */ + unsigned long brport_flags_support; /* PORT_BRIDGE_FLAGS_SUPPORT */ clock_t ageing_time; /* BRIDGE_AGEING_TIME */ bool vlan_filtering; /* BRIDGE_VLAN_FILTERING */ + enum br_mcast_flood_mode mcast_flood; /* BRIDGE_MCAST_FLOOD */ + int avm_flood_ratelimit; /* BRIDGE_AVM_FLOOD_RATELIMIT */ } u; }; @@ -169,6 +178,9 @@ return info->dev; } +/* Flags that can have a nonzero default read from hardware. */ +#define BR_PORT_FLAGS_HW_DEFAULT BR_HAIRPIN_MODE + #ifdef CONFIG_NET_SWITCHDEV void switchdev_deferred_process(void);