dnsmasq: v2.67test16 patch Sept.25th/2013.
[tomato.git] / release / src / router / dnsmasq / src / radv-protocol.h
blob8d5b153958bc0f1d2381eb0ae55b00bc2f578b77
1 /* dnsmasq is Copyright (c) 2000-2013 Simon Kelley
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 dated June, 1991, or
6 (at your option) version 3 dated 29 June, 2007.
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.
13 You should have received a copy of the GNU General Public License
14 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #define ALL_NODES "FF02::1"
18 #define ALL_ROUTERS "FF02::2"
20 struct ping_packet {
21 u8 type, code;
22 u16 checksum;
23 u16 identifier;
24 u16 sequence_no;
27 struct ra_packet {
28 u8 type, code;
29 u16 checksum;
30 u8 hop_limit, flags;
31 u16 lifetime;
32 u32 reachable_time;
33 u32 retrans_time;
36 struct neigh_packet {
37 u8 type, code;
38 u16 checksum;
39 u16 reserved;
40 struct in6_addr target;
43 struct prefix_opt {
44 u8 type, len, prefix_len, flags;
45 u32 valid_lifetime, preferred_lifetime, reserved;
46 struct in6_addr prefix;
49 #define ICMP6_OPT_SOURCE_MAC 1
50 #define ICMP6_OPT_PREFIX 3
51 #define ICMP6_OPT_MTU 5
52 #define ICMP6_OPT_RDNSS 25
53 #define ICMP6_OPT_DNSSL 31