projects
/
project
/
relayd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a3f86cd
)
split off code for sending an rtnl dump request
author
Felix Fietkau
<nbd@openwrt.org>
Thu, 26 Aug 2010 22:01:23 +0000
(
00:01
+0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Thu, 26 Aug 2010 22:01:23 +0000
(
00:01
+0200)
route.c
patch
|
blob
|
history
diff --git
a/route.c
b/route.c
index
6124a7e
..
f2abe45
100644
(file)
--- a/
route.c
+++ b/
route.c
@@
-324,21
+324,28
@@
static void rtnl_cb(struct uloop_fd *fd, unsigned int events)
} while (1);
}
} while (1);
}
-
int relayd_rtnl_init(void
)
+
static void rtnl_dump_request(int nlmsg_type
)
{
{
- struct sockaddr_nl snl_local;
static struct {
struct nlmsghdr nlh;
struct rtgenmsg g;
} req = {
.nlh = {
.nlmsg_len = sizeof(req),
static struct {
struct nlmsghdr nlh;
struct rtgenmsg g;
} req = {
.nlh = {
.nlmsg_len = sizeof(req),
- .nlmsg_type = RTM_GETNEIGH,
.nlmsg_flags = NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST,
.nlmsg_pid = 0,
},
.g.rtgen_family = AF_INET,
};
.nlmsg_flags = NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST,
.nlmsg_pid = 0,
},
.g.rtgen_family = AF_INET,
};
+ req.nlh.nlmsg_type = nlmsg_type;
+ req.nlh.nlmsg_seq = rtnl_seq;
+ send(rtnl_sock.fd, &req, sizeof(req), 0);
+ rtnl_seq++;
+}
+
+int relayd_rtnl_init(void)
+{
+ struct sockaddr_nl snl_local;
rtnl_sock.fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (rtnl_sock.fd < 0) {
rtnl_sock.fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if (rtnl_sock.fd < 0) {
@@
-359,8
+366,7
@@
int relayd_rtnl_init(void)
rtnl_seq = time(NULL);
rtnl_dump_seq = rtnl_seq;
rtnl_seq = time(NULL);
rtnl_dump_seq = rtnl_seq;
- req.nlh.nlmsg_seq = rtnl_seq;
- send(rtnl_sock.fd, &req, sizeof(req), 0);
+ rtnl_dump_request(RTM_GETNEIGH);
return 0;
}
return 0;
}