1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/*
* Copyright (C) 2012 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* $Id$
*/
#include "ipf.h"
#ifndef USE_INET6
# undef ICMP6_ECHO_REQUEST
# define ICMP6_ECHO_REQUEST 0
# undef ICMP6_ECHO_REPLY
# define ICMP6_ECHO_REPLY 0
# undef ICMP6_NI_QUERY
# define ICMP6_NI_QUERY 0
# undef ICMP6_NI_REPLY
# define ICMP6_NI_REPLY 0
# undef ICMP6_PARAM_PROB
# define ICMP6_PARAM_PROB 0
# undef ND_ROUTER_ADVERT
# define ND_ROUTER_ADVERT 0
# undef ND_ROUTER_SOLICIT
# define ND_ROUTER_SOLICIT 0
# undef ICMP6_TIME_EXCEEDED
# define ICMP6_TIME_EXCEEDED 0
# undef ICMP6_DST_UNREACH
# define ICMP6_DST_UNREACH 0
# undef ICMP6_PACKET_TOO_BIG
# define ICMP6_PACKET_TOO_BIG 0
# undef MLD_LISTENER_QUERY
# define MLD_LISTENER_QUERY 0
# undef MLD_LISTENER_REPORT
# define MLD_LISTENER_REPORT 0
# undef MLD_LISTENER_DONE
# define MLD_LISTENER_DONE 0
# undef ICMP6_MEMBERSHIP_QUERY
# define ICMP6_MEMBERSHIP_QUERY 0
# undef ICMP6_MEMBERSHIP_REPORT
# define ICMP6_MEMBERSHIP_REPORT 0
# undef ICMP6_MEMBERSHIP_REDUCTION
# define ICMP6_MEMBERSHIP_REDUCTION 0
# undef ND_NEIGHBOR_ADVERT
# define ND_NEIGHBOR_ADVERT 0
# undef ND_NEIGHBOR_SOLICIT
# define ND_NEIGHBOR_SOLICIT 0
# undef ICMP6_ROUTER_RENUMBERING
# define ICMP6_ROUTER_RENUMBERING 0
# undef ICMP6_WRUREQUEST
# define ICMP6_WRUREQUEST 0
# undef ICMP6_WRUREPLY
# define ICMP6_WRUREPLY 0
# undef ICMP6_FQDN_QUERY
# define ICMP6_FQDN_QUERY 0
# undef ICMP6_FQDN_REPLY
# define ICMP6_FQDN_REPLY 0
#else
# if !defined(MLD_LISTENER_QUERY)
# define MLD_LISTENER_QUERY 130
# endif
# if !defined(MLD_LISTENER_REPORT)
# define MLD_LISTENER_REPORT 131
# endif
# if !defined(MLD_LISTENER_DONE)
# define MLD_LISTENER_DONE 132
# endif
# if defined(MLD_LISTENER_REDUCTION) && !defined(MLD_LISTENER_DONE)
# define MLD_LISTENER_DONE MLD_LISTENER_REDUCTION
# endif
#endif
icmptype_t icmptypelist[] = {
{ "echo", ICMP_ECHO, ICMP6_ECHO_REQUEST },
{ "echorep", ICMP_ECHOREPLY, ICMP6_ECHO_REPLY },
{ "fqdnquery", -1, ICMP6_FQDN_QUERY },
{ "fqdnreply", -1, ICMP6_FQDN_REPLY },
{ "infoqry", -1, ICMP6_NI_QUERY },
{ "inforeq", ICMP_IREQ, ICMP6_NI_QUERY },
{ "inforep", ICMP_IREQREPLY, ICMP6_NI_REPLY },
{ "listendone", -1, MLD_LISTENER_DONE },
{ "listenqry", -1, MLD_LISTENER_QUERY },
{ "listenrep", -1, MLD_LISTENER_REPORT },
{ "maskrep", ICMP_MASKREPLY, -1 },
{ "maskreq", ICMP_MASKREQ, -1 },
{ "memberqry", -1, ICMP6_MEMBERSHIP_QUERY },
{ "memberred", -1, ICMP6_MEMBERSHIP_REDUCTION },
{ "memberreply",-1, ICMP6_MEMBERSHIP_REPORT },
{ "neighadvert", -1, ND_NEIGHBOR_ADVERT },
{ "neighborsol", -1, ND_NEIGHBOR_SOLICIT },
{ "neighborsolicit", -1, ND_NEIGHBOR_SOLICIT },
{ "paramprob", ICMP_PARAMPROB, ICMP6_PARAM_PROB },
{ "redir", ICMP_REDIRECT, ND_REDIRECT },
{ "renumber", -1, ICMP6_ROUTER_RENUMBERING },
{ "routerad", ICMP_ROUTERADVERT, ND_ROUTER_ADVERT },
{ "routeradvert",ICMP_ROUTERADVERT, ND_ROUTER_ADVERT },
{ "routersol", ICMP_ROUTERSOLICIT, ND_ROUTER_SOLICIT },
{ "routersolcit",ICMP_ROUTERSOLICIT, ND_ROUTER_SOLICIT },
{ "squench", ICMP_SOURCEQUENCH, -1 },
{ "timest", ICMP_TSTAMP, -1 },
{ "timestrep", ICMP_TSTAMPREPLY, -1 },
{ "timex", ICMP_TIMXCEED, ICMP6_TIME_EXCEEDED },
{ "toobig", -1, ICMP6_PACKET_TOO_BIG },
{ "unreach", ICMP_UNREACH, ICMP6_DST_UNREACH },
{ "whorep", -1, ICMP6_WRUREPLY },
{ "whoreq", -1, ICMP6_WRUREQUEST },
{ NULL, -1, -1 }
};
|