Beispiel #1
0
static int cgroup_get_opts(struct rtnl_cls *cls, struct nl_msg *msg)
{
	struct rtnl_cgroup *c = rtnl_cls_data(cls);

	if (!(cls->ce_mask & TCA_ATTR_HANDLE))
		return -NLE_MISSING_ATTR;

	if (c->cg_mask & CGROUP_ATTR_EMATCH)
		return rtnl_ematch_fill_attr(msg, TCA_CGROUP_EMATCHES,
					     c->cg_ematch);

	return 0;
}
Beispiel #2
0
static int cgroup_fill_msg(struct rtnl_tc *tc, void *data,
			   struct nl_msg *msg)
{
	struct rtnl_cgroup *c = data;

	if (!c)
		BUG();

	if (!(tc->ce_mask & TCA_ATTR_HANDLE))
		return -NLE_MISSING_ATTR;

	if (c->cg_mask & CGROUP_ATTR_EMATCH)
		return rtnl_ematch_fill_attr(msg, TCA_CGROUP_EMATCHES,
					     c->cg_ematch);

	return 0;
}