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