summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/lib/icmptypes.c
blob: c1123ff5e04dbdccaf29f65970844ff4b212142d (plain)
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 }
};
OpenPOWER on IntegriCloud