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