Lines Matching refs:exts

64 int tcf_exts_init_ex(struct tcf_exts *exts, struct net *net, int action,
232 static inline int tcf_exts_init(struct tcf_exts *exts, struct net *net,
236 return tcf_exts_init_ex(exts, net, action, police, NULL, 0, false);
246 static inline bool tcf_exts_get_net(struct tcf_exts *exts)
249 exts->net = maybe_get_net(exts->net);
250 if (exts->net)
251 netns_tracker_alloc(exts->net, &exts->ns_tracker, GFP_KERNEL);
252 return exts->net != NULL;
258 static inline void tcf_exts_put_net(struct tcf_exts *exts)
261 if (exts->net)
262 put_net_track(exts->net, &exts->ns_tracker);
267 #define tcf_exts_for_each_action(i, a, exts) \
268 for (i = 0; i < TCA_ACT_MAX_PRIO && ((a) = (exts)->actions[i]); i++)
270 #define tcf_exts_for_each_action(i, a, exts) \
271 for (; 0; (void)(i), (void)(a), (void)(exts))
283 tcf_exts_hw_stats_update(const struct tcf_exts *exts,
290 for (i = 0; i < exts->nr_actions; i++) {
291 struct tc_action *a = exts->actions[i];
311 * @exts: tc filter extensions handle
315 static inline bool tcf_exts_has_actions(struct tcf_exts *exts)
318 return exts->nr_actions;
327 * @exts: tc filter extensions handle
336 tcf_exts_exec(struct sk_buff *skb, struct tcf_exts *exts,
340 return tcf_action_exec(skb, exts->actions, exts->nr_actions, res);
346 tcf_exts_exec_ex(struct sk_buff *skb, struct tcf_exts *exts, int act_index,
350 return tcf_action_exec(skb, exts->actions + act_index,
351 exts->nr_actions - act_index, res);
359 struct tcf_exts *exts, u32 flags,
362 struct nlattr *rate_tlv, struct tcf_exts *exts,
364 void tcf_exts_destroy(struct tcf_exts *exts);
366 int tcf_exts_dump(struct sk_buff *skb, struct tcf_exts *exts);
367 int tcf_exts_terse_dump(struct sk_buff *skb, struct tcf_exts *exts);
368 int tcf_exts_dump_stats(struct sk_buff *skb, struct tcf_exts *exts);
576 const struct tcf_exts *exts,
601 unsigned int tcf_exts_num_actions(struct tcf_exts *exts);
647 struct tcf_exts *exts;
787 struct tcf_exts *exts;