diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-01-03 07:32:12 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-01-03 07:32:12 +0100 |
commit | 5057d6849ddaead7b1f5f614d58670122f2fde6f (patch) | |
tree | 9125e24180f891f9c63059b5076e164a44e753d7 /src/rtnl.c | |
parent | f24401eee00df645f2f676381c947487b4ddf6ca (diff) | |
download | connman-5057d6849ddaead7b1f5f614d58670122f2fde6f.tar.gz connman-5057d6849ddaead7b1f5f614d58670122f2fde6f.tar.bz2 connman-5057d6849ddaead7b1f5f614d58670122f2fde6f.zip |
Fix netlink debugging and enable IPv4 address notifications
Diffstat (limited to 'src/rtnl.c')
-rw-r--r-- | src/rtnl.c | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -273,36 +273,42 @@ static void rtnl_message(void *buf, size_t len) hdr->nlmsg_flags, hdr->nlmsg_seq); switch (hdr->nlmsg_type) { - case NLMSG_DONE: - DBG("done"); - return; case NLMSG_NOOP: - DBG("noop"); - return; - case NLMSG_OVERRUN: - DBG("overrun"); + DBG("NOOP"); return; case NLMSG_ERROR: err = NLMSG_DATA(hdr); - DBG("error %d (%s)", -err->error, + DBG("ERROR %d (%s)", -err->error, strerror(-err->error)); return; + case NLMSG_DONE: + DBG("DONE"); + return; + case NLMSG_OVERRUN: + DBG("OVERRUN"); + return; case RTM_NEWLINK: + DBG("NEWLINK"); rtnl_link(hdr); break; case RTM_DELLINK: + DBG("DELLINK"); rtnl_link(hdr); break; case RTM_NEWADDR: + DBG("NEWADDR"); rtnl_addr(hdr); break; case RTM_DELADDR: + DBG("DELADDR"); rtnl_addr(hdr); break; case RTM_NEWROUTE: + DBG("NEWROUTE"); rtnl_route(hdr); break; case RTM_DELROUTE: + DBG("DELROUTE"); rtnl_route(hdr); break; default: @@ -373,7 +379,7 @@ int __connman_rtnl_init(void) memset(&addr, 0, sizeof(addr)); addr.nl_family = AF_NETLINK; - addr.nl_groups = RTMGRP_LINK; + addr.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR; //addr.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR | RTMGRP_IPV4_ROUTE; if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { |