2 * Copyright (C) 2012-2013 Steven Barth <steven@midlink.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License v2 as published by
6 * the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
16 #define ALL_IPV6_NODES {{{0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
17 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}}}
19 #define ALL_IPV6_ROUTERS {{{0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\
20 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02}}}
28 #define ND_OPT_ROUTE_INFORMATION 24
31 #define icmpv6_for_each_option(opt, start, end)\
32 for (opt = (struct icmpv6_opt*)(start);\
33 (void*)(opt + 1) <= (void*)(end) && opt->len > 0 &&\
34 (void*)(opt + opt->len) <= (void*)(end); opt += opt->len)
37 int ra_init(const char *ifname);
38 bool ra_process(void);
39 bool ra_rtnl_process(void);