forked from TencentOS/TencentOS-kernel
neigh: send protocol value in neighbor create notification
[ Upstream commit 38212bb31fe923d0a2c6299bd2adfbb84cddef2a ]
When a new neighbor entry has been added, event is generated but it does not
include protocol, because its value is assigned after the event notification
routine has run, so move protocol assignment code earlier.
Fixes: df9b0e30d44c ("neighbor: Add protocol attribute")
Cc: David Ahern <dsahern@gmail.com>
Signed-off-by: Roman Mashak <mrv@mojatatu.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d29e03f932
commit
ebd359bd1a
|
|
@ -1954,6 +1954,9 @@ static int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||
NEIGH_UPDATE_F_OVERRIDE_ISROUTER);
|
||||
}
|
||||
|
||||
if (protocol)
|
||||
neigh->protocol = protocol;
|
||||
|
||||
if (ndm->ndm_flags & NTF_EXT_LEARNED)
|
||||
flags |= NEIGH_UPDATE_F_EXT_LEARNED;
|
||||
|
||||
|
|
@ -1967,9 +1970,6 @@ static int neigh_add(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||
err = __neigh_update(neigh, lladdr, ndm->ndm_state, flags,
|
||||
NETLINK_CB(skb).portid, extack);
|
||||
|
||||
if (protocol)
|
||||
neigh->protocol = protocol;
|
||||
|
||||
neigh_release(neigh);
|
||||
|
||||
out:
|
||||
|
|
|
|||
Loading…
Reference in New Issue