Home | History | Annotate | Download | only in route

Lines Matching refs:cls

13  * @ingroup cls
34 struct rtnl_cls *cls = (struct rtnl_cls *) obj;
37 tca_free_data((struct rtnl_tca *) cls);
39 cops = rtnl_cls_lookup_ops(cls);
41 cops->co_free_data(cls);
43 nl_data_free(cls->c_subdata);
74 struct rtnl_cls *cls = (struct rtnl_cls *) obj;
77 tca_dump_line((struct rtnl_tca *) cls, "cls", p);
79 nl_dump(p, " prio %u protocol %s", cls->c_prio,
80 nl_ether_proto2str(cls->c_protocol, buf, sizeof(buf)));
82 cops = rtnl_cls_lookup_ops(cls);
84 cops->co_dump[NL_DUMP_LINE](cls, p);
90 struct rtnl_cls *cls = (struct rtnl_cls *) obj;
94 tca_dump_details((struct rtnl_tca *) cls, p);
96 cops = rtnl_cls_lookup_ops(cls);
98 cops->co_dump[NL_DUMP_DETAILS](cls, p);
105 struct rtnl_cls *cls = (struct rtnl_cls *) obj;
109 tca_dump_stats((struct rtnl_tca *) cls, p);
112 cops = rtnl_cls_lookup_ops(cls);
114 cops->co_dump[NL_DUMP_STATS](cls, p);
127 void rtnl_cls_put(struct rtnl_cls *cls)
129 nl_object_put((struct nl_object *) cls);
145 int rtnl_cls_get_ifindex(struct rtnl_cls *cls)
147 return cls->c_ifindex;
160 uint32_t rtnl_cls_get_parent(struct rtnl_cls *cls)
162 return cls->c_parent;
165 int rtnl_cls_set_kind(struct rtnl_cls *cls, const char *kind)
167 if (cls->ce_mask & TCA_ATTR_KIND)
170 tca_set_kind((struct rtnl_tca *) cls, kind);
173 rtnl_cls_data(cls);
178 struct rtnl_cls_ops *rtnl_cls_get_ops(struct rtnl_cls *cls)
180 return cls->c_ops;
183 void rtnl_cls_set_prio(struct rtnl_cls *cls, uint16_t prio)
185 cls->c_prio = prio;
186 cls->ce_mask |= CLS_ATTR_PRIO;
189 uint16_t rtnl_cls_get_prio(struct rtnl_cls *cls)
191 if (cls->ce_mask & CLS_ATTR_PRIO)
192 return cls->c_prio;
197 void rtnl_cls_set_protocol(struct rtnl_cls *cls, uint16_t protocol)
199 cls->c_protocol = protocol;
200 cls->ce_mask |= CLS_ATTR_PROTOCOL;
203 uint16_t rtnl_cls_get_protocol(struct rtnl_cls *cls)
205 if (cls->ce_mask & CLS_ATTR_PROTOCOL)
206 return cls->c_protocol;
211 void *rtnl_cls_data(struct rtnl_cls *cls)
213 if (!cls->c_subdata) {
214 struct rtnl_cls_ops *ops = cls->c_ops;
217 if (!cls->c_kind[0])
220 ops = __rtnl_cls_lookup_ops(cls->c_kind);
224 cls->c_ops = ops;
230 if (!(cls->c_subdata = nl_data_alloc(NULL, ops->co_size)))
234 return nl_data_get(cls->c_subdata);
240 .oo_name = "route/cls",