@@ -159,9 +159,9 @@ static void nft_flow_cls_offload_setup(struct flow_cls_offload *cls_flow,
159
159
const struct nft_base_chain * basechain ,
160
160
const struct nft_rule * rule ,
161
161
const struct nft_flow_rule * flow ,
162
+ struct netlink_ext_ack * extack ,
162
163
enum flow_cls_command command )
163
164
{
164
- struct netlink_ext_ack extack ;
165
165
__be16 proto = ETH_P_ALL ;
166
166
167
167
memset (cls_flow , 0 , sizeof (* cls_flow ));
@@ -170,7 +170,7 @@ static void nft_flow_cls_offload_setup(struct flow_cls_offload *cls_flow,
170
170
proto = flow -> proto ;
171
171
172
172
nft_flow_offload_common_init (& cls_flow -> common , proto ,
173
- basechain -> ops .priority , & extack );
173
+ basechain -> ops .priority , extack );
174
174
cls_flow -> command = command ;
175
175
cls_flow -> cookie = (unsigned long ) rule ;
176
176
if (flow )
@@ -182,14 +182,16 @@ static int nft_flow_offload_rule(struct nft_chain *chain,
182
182
struct nft_flow_rule * flow ,
183
183
enum flow_cls_command command )
184
184
{
185
+ struct netlink_ext_ack extack = {};
185
186
struct flow_cls_offload cls_flow ;
186
187
struct nft_base_chain * basechain ;
187
188
188
189
if (!nft_is_base_chain (chain ))
189
190
return - EOPNOTSUPP ;
190
191
191
192
basechain = nft_base_chain (chain );
192
- nft_flow_cls_offload_setup (& cls_flow , basechain , rule , flow , command );
193
+ nft_flow_cls_offload_setup (& cls_flow , basechain , rule , flow , & extack ,
194
+ command );
193
195
194
196
return nft_setup_cb_call (TC_SETUP_CLSFLOWER , & cls_flow ,
195
197
& basechain -> flow_block .cb_list );
@@ -207,13 +209,15 @@ static int nft_flow_offload_unbind(struct flow_block_offload *bo,
207
209
{
208
210
struct flow_block_cb * block_cb , * next ;
209
211
struct flow_cls_offload cls_flow ;
212
+ struct netlink_ext_ack extack ;
210
213
struct nft_chain * chain ;
211
214
struct nft_rule * rule ;
212
215
213
216
chain = & basechain -> chain ;
214
217
list_for_each_entry (rule , & chain -> rules , list ) {
218
+ memset (& extack , 0 , sizeof (extack ));
215
219
nft_flow_cls_offload_setup (& cls_flow , basechain , rule , NULL ,
216
- FLOW_CLS_DESTROY );
220
+ & extack , FLOW_CLS_DESTROY );
217
221
nft_setup_cb_call (TC_SETUP_CLSFLOWER , & cls_flow , & bo -> cb_list );
218
222
}
219
223
0 commit comments