Commit aa85ee5f authored by Johannes Berg's avatar Johannes Berg Committed by David S. Miller

genetlink: factor skb preparation out of ctrl_dumppolicy()

We'll need this later for the per-op policy index dump.
Reviewed-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 04a351a6
......@@ -1154,21 +1154,34 @@ static int ctrl_dumppolicy_start(struct netlink_callback *cb)
rt->maxattr);
}
static int ctrl_dumppolicy(struct sk_buff *skb, struct netlink_callback *cb)
static void *ctrl_dumppolicy_prep(struct sk_buff *skb,
struct netlink_callback *cb)
{
struct ctrl_dump_policy_ctx *ctx = (void *)cb->ctx;
while (netlink_policy_dump_loop(ctx->state)) {
void *hdr;
struct nlattr *nest;
hdr = genlmsg_put(skb, NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq, &genl_ctrl,
NLM_F_MULTI, CTRL_CMD_GETPOLICY);
if (!hdr)
goto nla_put_failure;
return NULL;
if (nla_put_u16(skb, CTRL_ATTR_FAMILY_ID, ctx->fam_id))
return NULL;
return hdr;
}
static int ctrl_dumppolicy(struct sk_buff *skb, struct netlink_callback *cb)
{
struct ctrl_dump_policy_ctx *ctx = (void *)cb->ctx;
while (netlink_policy_dump_loop(ctx->state)) {
void *hdr;
struct nlattr *nest;
hdr = ctrl_dumppolicy_prep(skb, cb);
if (!hdr)
goto nla_put_failure;
nest = nla_nest_start(skb, CTRL_ATTR_POLICY);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment