blob: 8d5b153958bc0f1d2381eb0ae55b00bc2f578b77 [file] [log] [blame]
Simon Kelley61744352013-01-31 14:34:40 +00001/* dnsmasq is Copyright (c) 2000-2013 Simon Kelley
Simon Kelleyc5ad4e72012-02-24 16:06:20 +00002
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.
7
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.
12
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/>.
15*/
16
Simon Kelleyf632e562012-05-12 15:05:34 +010017#define ALL_NODES "FF02::1"
Simon Kelleyc5ad4e72012-02-24 16:06:20 +000018#define ALL_ROUTERS "FF02::2"
19
Simon Kelley353ae4d2012-03-19 20:07:51 +000020struct ping_packet {
21 u8 type, code;
22 u16 checksum;
23 u16 identifier;
24 u16 sequence_no;
25};
26
Simon Kelleyc5ad4e72012-02-24 16:06:20 +000027struct 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;
34};
35
Simon Kelleyd81b42d2013-09-23 12:26:34 +010036struct neigh_packet {
37 u8 type, code;
38 u16 checksum;
39 u16 reserved;
40 struct in6_addr target;
41};
42
Simon Kelleyc5ad4e72012-02-24 16:06:20 +000043struct prefix_opt {
44 u8 type, len, prefix_len, flags;
45 u32 valid_lifetime, preferred_lifetime, reserved;
46 struct in6_addr prefix;
47};
48
Simon Kelleyc5ad4e72012-02-24 16:06:20 +000049#define ICMP6_OPT_SOURCE_MAC 1
50#define ICMP6_OPT_PREFIX 3
51#define ICMP6_OPT_MTU 5
52#define ICMP6_OPT_RDNSS 25
Simon Kelley18f0fb02012-03-31 21:18:55 +010053#define ICMP6_OPT_DNSSL 31
Simon Kelleyc5ad4e72012-02-24 16:06:20 +000054
55
56