libnetlink: Convert GETNEIGH dumps to use rtnl_neighdump_req
Add rtnl_neighdump_req for neighbor dumps using the proper ndmsg as the header. Convert existing rtnl_wilddump_request for RTM_GETNEIGH to use it. Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
b05d9a3d58
commit
9e0ab19c4d
|
|
@ -55,6 +55,8 @@ int rtnl_routedump_req(struct rtnl_handle *rth, int family)
|
|||
__attribute__((warn_unused_result));
|
||||
int rtnl_ruledump_req(struct rtnl_handle *rth, int family)
|
||||
__attribute__((warn_unused_result));
|
||||
int rtnl_neighdump_req(struct rtnl_handle *rth, int family)
|
||||
__attribute__((warn_unused_result));
|
||||
int rtnl_mdbdump_req(struct rtnl_handle *rth, int family)
|
||||
__attribute__((warn_unused_result));
|
||||
int rtnl_netconfdump_req(struct rtnl_handle *rth, int family)
|
||||
|
|
|
|||
|
|
@ -266,6 +266,22 @@ int rtnl_ruledump_req(struct rtnl_handle *rth, int family)
|
|||
return send(rth->fd, &req, sizeof(req), 0);
|
||||
}
|
||||
|
||||
int rtnl_neighdump_req(struct rtnl_handle *rth, int family)
|
||||
{
|
||||
struct {
|
||||
struct nlmsghdr nlh;
|
||||
struct ndmsg ndm;
|
||||
} req = {
|
||||
.nlh.nlmsg_len = sizeof(req),
|
||||
.nlh.nlmsg_type = RTM_GETNEIGH,
|
||||
.nlh.nlmsg_flags = NLM_F_DUMP | NLM_F_REQUEST,
|
||||
.nlh.nlmsg_seq = rth->dump = ++rth->seq,
|
||||
.ndm.ndm_family = family,
|
||||
};
|
||||
|
||||
return send(rth->fd, &req, sizeof(req), 0);
|
||||
}
|
||||
|
||||
int rtnl_mdbdump_req(struct rtnl_handle *rth, int family)
|
||||
{
|
||||
struct {
|
||||
|
|
|
|||
|
|
@ -424,7 +424,7 @@ static int do_one_request(struct nlmsghdr *n)
|
|||
|
||||
static void load_initial_table(void)
|
||||
{
|
||||
if (rtnl_wilddump_request(&rth, AF_INET, RTM_GETNEIGH) < 0) {
|
||||
if (rtnl_neighdump_req(&rth, AF_INET) < 0) {
|
||||
perror("dump request failed");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue