@@ -89,7 +89,7 @@ struct mlxsw_sp_bridge_ops {
89
89
struct netlink_ext_ack * extack );
90
90
struct mlxsw_sp_fid *
91
91
(* fid_get )(struct mlxsw_sp_bridge_device * bridge_device ,
92
- u16 vid );
92
+ u16 vid , struct netlink_ext_ack * extack );
93
93
struct mlxsw_sp_fid *
94
94
(* fid_lookup )(struct mlxsw_sp_bridge_device * bridge_device ,
95
95
u16 vid );
@@ -933,7 +933,8 @@ static int mlxsw_sp_port_attr_set(struct net_device *dev,
933
933
934
934
static int
935
935
mlxsw_sp_port_vlan_fid_join (struct mlxsw_sp_port_vlan * mlxsw_sp_port_vlan ,
936
- struct mlxsw_sp_bridge_port * bridge_port )
936
+ struct mlxsw_sp_bridge_port * bridge_port ,
937
+ struct netlink_ext_ack * extack )
937
938
{
938
939
struct mlxsw_sp_port * mlxsw_sp_port = mlxsw_sp_port_vlan -> mlxsw_sp_port ;
939
940
struct mlxsw_sp_bridge_device * bridge_device ;
@@ -943,7 +944,7 @@ mlxsw_sp_port_vlan_fid_join(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan,
943
944
int err ;
944
945
945
946
bridge_device = bridge_port -> bridge_device ;
946
- fid = bridge_device -> ops -> fid_get (bridge_device , vid );
947
+ fid = bridge_device -> ops -> fid_get (bridge_device , vid , extack );
947
948
if (IS_ERR (fid ))
948
949
return PTR_ERR (fid );
949
950
@@ -1011,7 +1012,8 @@ mlxsw_sp_port_pvid_determine(const struct mlxsw_sp_port *mlxsw_sp_port,
1011
1012
1012
1013
static int
1013
1014
mlxsw_sp_port_vlan_bridge_join (struct mlxsw_sp_port_vlan * mlxsw_sp_port_vlan ,
1014
- struct mlxsw_sp_bridge_port * bridge_port )
1015
+ struct mlxsw_sp_bridge_port * bridge_port ,
1016
+ struct netlink_ext_ack * extack )
1015
1017
{
1016
1018
struct mlxsw_sp_port * mlxsw_sp_port = mlxsw_sp_port_vlan -> mlxsw_sp_port ;
1017
1019
struct mlxsw_sp_bridge_vlan * bridge_vlan ;
@@ -1024,7 +1026,8 @@ mlxsw_sp_port_vlan_bridge_join(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan,
1024
1026
return 0 ;
1025
1027
}
1026
1028
1027
- err = mlxsw_sp_port_vlan_fid_join (mlxsw_sp_port_vlan , bridge_port );
1029
+ err = mlxsw_sp_port_vlan_fid_join (mlxsw_sp_port_vlan , bridge_port ,
1030
+ extack );
1028
1031
if (err )
1029
1032
return err ;
1030
1033
@@ -1101,7 +1104,8 @@ mlxsw_sp_port_vlan_bridge_leave(struct mlxsw_sp_port_vlan *mlxsw_sp_port_vlan)
1101
1104
static int
1102
1105
mlxsw_sp_bridge_port_vlan_add (struct mlxsw_sp_port * mlxsw_sp_port ,
1103
1106
struct mlxsw_sp_bridge_port * bridge_port ,
1104
- u16 vid , bool is_untagged , bool is_pvid )
1107
+ u16 vid , bool is_untagged , bool is_pvid ,
1108
+ struct netlink_ext_ack * extack )
1105
1109
{
1106
1110
u16 pvid = mlxsw_sp_port_pvid_determine (mlxsw_sp_port , vid , is_pvid );
1107
1111
struct mlxsw_sp_port_vlan * mlxsw_sp_port_vlan ;
@@ -1121,7 +1125,8 @@ mlxsw_sp_bridge_port_vlan_add(struct mlxsw_sp_port *mlxsw_sp_port,
1121
1125
if (err )
1122
1126
goto err_port_pvid_set ;
1123
1127
1124
- err = mlxsw_sp_port_vlan_bridge_join (mlxsw_sp_port_vlan , bridge_port );
1128
+ err = mlxsw_sp_port_vlan_bridge_join (mlxsw_sp_port_vlan , bridge_port ,
1129
+ extack );
1125
1130
if (err )
1126
1131
goto err_port_vlan_bridge_join ;
1127
1132
@@ -1171,7 +1176,8 @@ mlxsw_sp_br_ban_rif_pvid_change(struct mlxsw_sp *mlxsw_sp,
1171
1176
1172
1177
static int mlxsw_sp_port_vlans_add (struct mlxsw_sp_port * mlxsw_sp_port ,
1173
1178
const struct switchdev_obj_port_vlan * vlan ,
1174
- struct switchdev_trans * trans )
1179
+ struct switchdev_trans * trans ,
1180
+ struct netlink_ext_ack * extack )
1175
1181
{
1176
1182
bool flag_untagged = vlan -> flags & BRIDGE_VLAN_INFO_UNTAGGED ;
1177
1183
bool flag_pvid = vlan -> flags & BRIDGE_VLAN_INFO_PVID ;
@@ -1208,7 +1214,7 @@ static int mlxsw_sp_port_vlans_add(struct mlxsw_sp_port *mlxsw_sp_port,
1208
1214
1209
1215
err = mlxsw_sp_bridge_port_vlan_add (mlxsw_sp_port , bridge_port ,
1210
1216
vid , flag_untagged ,
1211
- flag_pvid );
1217
+ flag_pvid , extack );
1212
1218
if (err )
1213
1219
return err ;
1214
1220
}
@@ -1787,7 +1793,8 @@ static int mlxsw_sp_port_obj_add(struct net_device *dev,
1787
1793
switch (obj -> id ) {
1788
1794
case SWITCHDEV_OBJ_ID_PORT_VLAN :
1789
1795
vlan = SWITCHDEV_OBJ_PORT_VLAN (obj );
1790
- err = mlxsw_sp_port_vlans_add (mlxsw_sp_port , vlan , trans );
1796
+ err = mlxsw_sp_port_vlans_add (mlxsw_sp_port , vlan , trans ,
1797
+ extack );
1791
1798
1792
1799
if (switchdev_trans_ph_prepare (trans )) {
1793
1800
/* The event is emitted before the changes are actually
@@ -2087,7 +2094,7 @@ mlxsw_sp_bridge_8021q_vxlan_dev_find(struct net_device *br_dev, u16 vid)
2087
2094
2088
2095
static struct mlxsw_sp_fid *
2089
2096
mlxsw_sp_bridge_8021q_fid_get (struct mlxsw_sp_bridge_device * bridge_device ,
2090
- u16 vid )
2097
+ u16 vid , struct netlink_ext_ack * extack )
2091
2098
{
2092
2099
struct mlxsw_sp * mlxsw_sp = mlxsw_sp_lower_get (bridge_device -> dev );
2093
2100
struct net_device * vxlan_dev ;
@@ -2113,7 +2120,7 @@ mlxsw_sp_bridge_8021q_fid_get(struct mlxsw_sp_bridge_device *bridge_device,
2113
2120
return fid ;
2114
2121
2115
2122
err = mlxsw_sp_bridge_8021q_vxlan_join (bridge_device , vxlan_dev , vid ,
2116
- NULL );
2123
+ extack );
2117
2124
if (err )
2118
2125
goto err_vxlan_join ;
2119
2126
@@ -2190,7 +2197,8 @@ mlxsw_sp_bridge_8021d_port_join(struct mlxsw_sp_bridge_device *bridge_device,
2190
2197
if (mlxsw_sp_port_vlan -> fid )
2191
2198
mlxsw_sp_port_vlan_router_leave (mlxsw_sp_port_vlan );
2192
2199
2193
- return mlxsw_sp_port_vlan_bridge_join (mlxsw_sp_port_vlan , bridge_port );
2200
+ return mlxsw_sp_port_vlan_bridge_join (mlxsw_sp_port_vlan , bridge_port ,
2201
+ extack );
2194
2202
}
2195
2203
2196
2204
static void
@@ -2253,7 +2261,7 @@ mlxsw_sp_bridge_8021d_vxlan_join(struct mlxsw_sp_bridge_device *bridge_device,
2253
2261
2254
2262
static struct mlxsw_sp_fid *
2255
2263
mlxsw_sp_bridge_8021d_fid_get (struct mlxsw_sp_bridge_device * bridge_device ,
2256
- u16 vid )
2264
+ u16 vid , struct netlink_ext_ack * extack )
2257
2265
{
2258
2266
struct mlxsw_sp * mlxsw_sp = mlxsw_sp_lower_get (bridge_device -> dev );
2259
2267
struct net_device * vxlan_dev ;
@@ -2275,7 +2283,7 @@ mlxsw_sp_bridge_8021d_fid_get(struct mlxsw_sp_bridge_device *bridge_device,
2275
2283
return fid ;
2276
2284
2277
2285
err = mlxsw_sp_bridge_8021d_vxlan_join (bridge_device , vxlan_dev , 0 ,
2278
- NULL );
2286
+ extack );
2279
2287
if (err )
2280
2288
goto err_vxlan_join ;
2281
2289
0 commit comments