Mercurial > hg > dhcpcd
changeset 2449:90584a833678 draft
Support IFA_F_NOPREFIXROUTE on Linux.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Mon, 28 Apr 2014 23:56:21 +0000 |
| parents | b366513667c5 |
| children | d64ad6b8a38a |
| files | if-linux.c |
| diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/if-linux.c Mon Apr 28 23:13:47 2014 +0000 +++ b/if-linux.c Mon Apr 28 23:56:21 2014 +0000 @@ -32,6 +32,7 @@ #include <sys/ioctl.h> #include <sys/param.h> +#include <linux/if_addr.h> #include <linux/filter.h> #include <linux/if_packet.h> #include <linux/netlink.h> @@ -992,6 +993,9 @@ struct nlma nlm; struct ifa_cacheinfo cinfo; int retval = 0; +#ifdef IFA_F_NOPREFIXROUTE + uint32_t flags; +#endif memset(&nlm, 0, sizeof(nlm)); nlm.hdr.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg)); @@ -1018,6 +1022,11 @@ &cinfo, sizeof(cinfo)); } +#ifdef IFA_F_NOPREFIXROUTE + flags = IFA_F_NOPREFIXROUTE; + add_attr_32(&nlm.hdr, sizeof(nlm), IFA_FLAGS, flags); +#endif + if (send_netlink(ap->iface->ctx, &nlm.hdr) == -1) retval = -1; return retval;
