Lines Matching refs:exts

62 int tcf_exts_init_ex(struct tcf_exts *exts, struct net *net, int action,
230 static inline int tcf_exts_init(struct tcf_exts *exts, struct net *net,
234 return tcf_exts_init_ex(exts, net, action, police, NULL, 0, false);
244 static inline bool tcf_exts_get_net(struct tcf_exts *exts)
247 exts->net = maybe_get_net(exts->net);
248 if (exts->net)
249 netns_tracker_alloc(exts->net, &exts->ns_tracker, GFP_KERNEL);
250 return exts->net != NULL;
256 static inline void tcf_exts_put_net(struct tcf_exts *exts)
259 if (exts->net)
260 put_net_track(exts->net, &exts->ns_tracker);
265 #define tcf_exts_for_each_action(i, a, exts) \
266 for (i = 0; i < TCA_ACT_MAX_PRIO && ((a) = (exts)->actions[i]); i++)
268 #define tcf_exts_for_each_action(i, a, exts) \
269 for (; 0; (void)(i), (void)(a), (void)(exts))
281 tcf_exts_hw_stats_update(const struct tcf_exts *exts,
288 for (i = 0; i < exts->nr_actions; i++) {
289 struct tc_action *a = exts->actions[i];
309 * @exts: tc filter extensions handle
313 static inline bool tcf_exts_has_actions(struct tcf_exts *exts)
316 return exts->nr_actions;
325 * @exts: tc filter extensions handle
334 tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
338 return tcf_action_exec(skb, exts->actions, exts->nr_actions, res);
344 tcf_exts_exec_ex(struct sk_buff *skb, struct tcf_exts *exts, int act_index,
348 return tcf_action_exec(skb, exts->actions + act_index,
349 exts->nr_actions - act_index, res);
357 struct tcf_exts *exts, u32 flags,
360 struct nlattr *rate_tlv, struct tcf_exts *exts,
362 void tcf_exts_destroy(struct tcf_exts *exts);
364 int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts);
365 int tcf_exts_terse_dump(struct sk_buff *skb, struct tcf_exts *exts);
366 int tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts);
574 const struct tcf_exts *exts,
599 unsigned int tcf_exts_num_actions(struct tcf_exts *exts);
645 struct tcf_exts *exts;
785 struct tcf_exts *exts;