--- zzzz-none-000/linux-4.9.218/include/net/switchdev.h 2020-04-02 15:20:41.000000000 +0000 +++ seale-7590ax-750/linux-4.9.218/include/net/switchdev.h 2023-03-29 10:59:08.000000000 +0000 @@ -46,6 +46,8 @@ 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_BRIDGE_AGEING_TIME, SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING, }; @@ -59,7 +61,8 @@ 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 */ clock_t ageing_time; /* BRIDGE_AGEING_TIME */ bool vlan_filtering; /* BRIDGE_VLAN_FILTERING */ } u; @@ -169,6 +172,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);