net: rtnetlink: plumb extended ack to doit function
Add netlink_ext_ack arg to rtnl_doit_func. Pass extack arg to nlmsg_parse for doit functions that call it directly. This is the first step to using extended error reporting in rtnetlink. >From here individual subsystems can be updated to set netlink_ext_ack as needed. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
af3b5158b8
commit
c21ef3e343
@@ -1590,7 +1590,8 @@ static struct neigh_table *neigh_find_table(int family)
|
||||
return tbl;
|
||||
}
|
||||
|
||||
static int neigh_delete(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
static int neigh_delete(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct net *net = sock_net(skb->sk);
|
||||
struct ndmsg *ndm;
|
||||
@@ -1648,7 +1649,8 @@ out:
|
||||
return err;
|
||||
}
|
||||
|
||||
static int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
static int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
int flags = NEIGH_UPDATE_F_ADMIN | NEIGH_UPDATE_F_OVERRIDE;
|
||||
struct net *net = sock_net(skb->sk);
|
||||
@@ -1661,7 +1663,7 @@ static int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
int err;
|
||||
|
||||
ASSERT_RTNL();
|
||||
err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL, NULL);
|
||||
err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL, extack);
|
||||
if (err < 0)
|
||||
goto out;
|
||||
|
||||
@@ -1936,7 +1938,8 @@ static const struct nla_policy nl_ntbl_parm_policy[NDTPA_MAX+1] = {
|
||||
[NDTPA_LOCKTIME] = { .type = NLA_U64 },
|
||||
};
|
||||
|
||||
static int neightbl_set(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
static int neightbl_set(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct net *net = sock_net(skb->sk);
|
||||
struct neigh_table *tbl;
|
||||
@@ -1946,7 +1949,7 @@ static int neightbl_set(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
int err, tidx;
|
||||
|
||||
err = nlmsg_parse(nlh, sizeof(*ndtmsg), tb, NDTA_MAX,
|
||||
nl_neightbl_policy, NULL);
|
||||
nl_neightbl_policy, extack);
|
||||
if (err < 0)
|
||||
goto errout;
|
||||
|
||||
@@ -1984,7 +1987,7 @@ static int neightbl_set(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
int i, ifindex = 0;
|
||||
|
||||
err = nla_parse_nested(tbp, NDTPA_MAX, tb[NDTA_PARMS],
|
||||
nl_ntbl_parm_policy, NULL);
|
||||
nl_ntbl_parm_policy, extack);
|
||||
if (err < 0)
|
||||
goto errout_tbl_lock;
|
||||
|
||||
|
Reference in New Issue
Block a user