Lines Matching full:act
8 * @defgroup act Action
30 struct rtnl_act * rtnl_act_next(struct rtnl_act *act) in rtnl_act_next() argument
32 if (act == NULL) { in rtnl_act_next()
36 return act->a_next; in rtnl_act_next()
62 int rtnl_act_remove(struct rtnl_act **head, struct rtnl_act *act) in rtnl_act_remove() argument
67 if (a == act) in rtnl_act_remove()
78 static int rtnl_act_fill_one(struct nl_msg *msg, struct rtnl_act *act, int order) in rtnl_act_fill_one() argument
80 struct rtnl_tc *tc = TC_CAST(act); in rtnl_act_fill_one()
115 int rtnl_act_fill(struct nl_msg *msg, int attrtype, struct rtnl_act *act) in rtnl_act_fill() argument
117 struct rtnl_act *p_act = act; in rtnl_act_fill()
136 static int rtnl_act_msg_build(struct rtnl_act *act, int type, int flags, in rtnl_act_msg_build() argument
152 err = rtnl_act_fill(msg, TCA_ACT_TAB, act); in rtnl_act_msg_build()
164 static int act_build(struct rtnl_act *act, int type, int flags, in act_build() argument
169 err = rtnl_act_msg_build(act, type, flags, result); in act_build()
191 void rtnl_act_get(struct rtnl_act *act) in rtnl_act_get() argument
193 nl_object_get(OBJ_CAST(act)); in rtnl_act_get()
196 void rtnl_act_put(struct rtnl_act *act) in rtnl_act_put() argument
198 nl_object_put((struct nl_object *) act); in rtnl_act_put()
210 * @arg act Action to add
222 int rtnl_act_build_add_request(struct rtnl_act *act, int flags, in rtnl_act_build_add_request() argument
225 return act_build(act, RTM_NEWACTION, flags, result); in rtnl_act_build_add_request()
231 * @arg act Action to add/update
261 int rtnl_act_add(struct nl_sock *sk, struct rtnl_act *act, int flags) in rtnl_act_add() argument
266 if ((err = rtnl_act_build_add_request(act, flags, &msg)) < 0) in rtnl_act_add()
274 * @arg act Action to change
285 int rtnl_act_build_change_request(struct rtnl_act *act, int flags, in rtnl_act_build_change_request() argument
288 return act_build(act, RTM_NEWACTION, NLM_F_REPLACE | flags, result); in rtnl_act_build_change_request()
294 * @arg act action to change
303 int rtnl_act_change(struct nl_sock *sk, struct rtnl_act *act, int flags) in rtnl_act_change() argument
308 if ((err = rtnl_act_build_change_request(act, flags, &msg)) < 0) in rtnl_act_change()
316 * @arg act Action to delete
328 int rtnl_act_build_delete_request(struct rtnl_act *act, int flags, in rtnl_act_build_delete_request() argument
331 return act_build(act, RTM_DELACTION, flags, result); in rtnl_act_build_delete_request()
337 * @arg act Action to delete
365 int rtnl_act_delete(struct nl_sock *sk, struct rtnl_act *act, int flags) in rtnl_act_delete() argument
370 if ((err = rtnl_act_build_delete_request(act, flags, &msg)) < 0) in rtnl_act_delete()
417 _nl_auto_rtnl_act struct rtnl_act *act = NULL; in rtnl_act_parse() local
423 act = rtnl_act_alloc(); in rtnl_act_parse()
424 if (!act) in rtnl_act_parse()
427 tc = TC_CAST(act); in rtnl_act_parse()
496 err = _rtnl_act_append_take(&tmp_head, _nl_steal_pointer(&act)); in rtnl_act_parse()
505 static int rtnl_act_msg_parse(struct nlmsghdr *n, struct rtnl_act **act) in rtnl_act_msg_parse() argument
507 struct rtnl_tc *tc = TC_CAST(*act); in rtnl_act_msg_parse()
525 err = rtnl_act_parse(act, tb[TCA_ACT_TAB]); in rtnl_act_msg_parse()
545 struct rtnl_act *act, *p_act; in act_msg_parser() local
548 if (!(act = rtnl_act_alloc())) in act_msg_parser()
551 if ((err = rtnl_act_msg_parse(nlh, &act)) < 0) in act_msg_parser()
554 p_act = act; in act_msg_parser()
556 err = pp->pp_cb(OBJ_CAST(act), pp); in act_msg_parser()
567 rtnl_act_put(act); in act_msg_parser()
584 .tt_dump_prefix = "act",
591 .co_name = "route/act",
606 .oo_name = "route/act",