suricata
|
Go to the source code of this file.
Data Structures | |
struct | ICMPV6Info_ |
struct | ICMPV6Hdr_ |
struct | ICMPV6Vars_ |
Macros | |
#define | ICMPV6_HEADER_LEN 8 |
#define | ICMPV6_HEADER_PKT_OFFSET 8 |
#define | ICMP6_DST_UNREACH 1 |
#define | ICMP6_PACKET_TOO_BIG 2 |
#define | ICMP6_TIME_EXCEEDED 3 |
#define | ICMP6_PARAM_PROB 4 |
#define | ICMP6_ECHO_REQUEST 128 |
#define | ICMP6_ECHO_REPLY 129 |
#define | MLD_LISTENER_QUERY 130 |
#define | MLD_LISTENER_REPORT 131 |
#define | MLD_LISTENER_REDUCTION 132 |
#define | ND_ROUTER_SOLICIT 133 |
#define | ND_ROUTER_ADVERT 134 |
#define | ND_NEIGHBOR_SOLICIT 135 |
#define | ND_NEIGHBOR_ADVERT 136 |
#define | ND_REDIRECT 137 |
#define | ICMP6_RR 138 |
#define | ICMP6_NI_QUERY 139 |
#define | ICMP6_NI_REPLY 140 |
#define | ND_INVERSE_SOLICIT 141 |
#define | ND_INVERSE_ADVERT 142 |
#define | MLD_V2_LIST_REPORT 143 |
#define | HOME_AGENT_AD_REQUEST 144 |
#define | HOME_AGENT_AD_REPLY 145 |
#define | MOBILE_PREFIX_SOLICIT 146 |
#define | MOBILE_PREFIX_ADVERT 147 |
#define | CERT_PATH_SOLICIT 148 |
#define | CERT_PATH_ADVERT 149 |
#define | ICMP6_MOBILE_EXPERIMENTAL 150 |
#define | MC_ROUTER_ADVERT 151 |
#define | MC_ROUTER_SOLICIT 152 |
#define | MC_ROUTER_TERMINATE 153 |
#define | FMIPV6_MSG 154 |
#define | RPL_CONTROL_MSG 155 |
#define | LOCATOR_UDATE_MSG 156 |
#define | DUPL_ADDR_REQUEST 157 |
#define | DUPL_ADDR_CONFIRM 158 |
#define | MPL_CONTROL_MSG 159 |
#define | ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ |
#define | ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */ |
#define | ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */ |
#define | ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */ |
#define | ICMP6_DST_UNREACH_NOPORT 4 /* bad port */ |
#define | ICMP6_DST_UNREACH_FAILEDPOLICY 5 /* Source address failed ingress/egress policy */ |
#define | ICMP6_DST_UNREACH_REJECTROUTE 6 /* Reject route to destination */ |
#define | ICMP6_TIME_EXCEED_TRANSIT 0 /* Hop Limit == 0 in transit */ |
#define | ICMP6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */ |
#define | ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ |
#define | ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized Next Header */ |
#define | ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */ |
#define | ICMPV6_GET_TYPE(icmp6h) (icmp6h)->type |
#define | ICMPV6_GET_CODE(icmp6h) (icmp6h)->code |
#define | ICMPV6_GET_ID(p) (p)->l4.vars.icmpv6.id |
#define | ICMPV6_GET_SEQ(p) (p)->l4.vars.icmpv6.seq |
#define | ICMPV6_HAS_MTU(icmp6h) ((icmp6h)->type == ICMP6_PACKET_TOO_BIG) |
#define | ICMPV6_GET_MTU(icmp6h) SCNtohl((icmp6h)->icmpv6b.icmpv6e.mtu) |
#define | ICMPV6_GET_EMB_PROTO(p) (p)->l4.vars.icmpv6.emb_ip6_proto_next |
Typedefs | |
typedef struct ICMPV6Info_ | ICMPV6Info |
typedef struct ICMPV6Hdr_ | ICMPV6Hdr |
typedef struct ICMPV6Vars_ | ICMPV6Vars |
Functions | |
void | DecodeICMPV6RegisterTests (void) |
Registers ICMPV6 unit tests. More... | |
int | ICMPv6GetCounterpart (uint8_t type) |
Definition in file decode-icmpv6.h.
#define CERT_PATH_ADVERT 149 |
Definition at line 67 of file decode-icmpv6.h.
#define CERT_PATH_SOLICIT 148 |
Definition at line 66 of file decode-icmpv6.h.
#define DUPL_ADDR_CONFIRM 158 |
Definition at line 76 of file decode-icmpv6.h.
#define DUPL_ADDR_REQUEST 157 |
Definition at line 75 of file decode-icmpv6.h.
#define FMIPV6_MSG 154 |
Definition at line 72 of file decode-icmpv6.h.
#define HOME_AGENT_AD_REPLY 145 |
Definition at line 63 of file decode-icmpv6.h.
#define HOME_AGENT_AD_REQUEST 144 |
Definition at line 62 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH 1 |
ICMPV6 Message Types: Error Messages: (type <128)
Definition at line 37 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */ |
Definition at line 85 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */ |
Definition at line 82 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */ |
Definition at line 84 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_FAILEDPOLICY 5 /* Source address failed ingress/egress policy */ |
Definition at line 87 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_NOPORT 4 /* bad port */ |
Definition at line 86 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ |
Destination Unreachable Message (type=1) Code:
Definition at line 81 of file decode-icmpv6.h.
#define ICMP6_DST_UNREACH_REJECTROUTE 6 /* Reject route to destination */ |
Definition at line 88 of file decode-icmpv6.h.
#define ICMP6_ECHO_REPLY 129 |
Definition at line 44 of file decode-icmpv6.h.
#define ICMP6_ECHO_REQUEST 128 |
Informational Messages (type>=128)
Definition at line 43 of file decode-icmpv6.h.
#define ICMP6_MOBILE_EXPERIMENTAL 150 |
Definition at line 68 of file decode-icmpv6.h.
#define ICMP6_NI_QUERY 139 |
Definition at line 57 of file decode-icmpv6.h.
#define ICMP6_NI_REPLY 140 |
Definition at line 58 of file decode-icmpv6.h.
#define ICMP6_PACKET_TOO_BIG 2 |
Definition at line 38 of file decode-icmpv6.h.
#define ICMP6_PARAM_PROB 4 |
Definition at line 40 of file decode-icmpv6.h.
#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ |
Parameter Problem Message (type=4) Code:
Definition at line 96 of file decode-icmpv6.h.
#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized Next Header */ |
Definition at line 97 of file decode-icmpv6.h.
#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */ |
Definition at line 98 of file decode-icmpv6.h.
#define ICMP6_RR 138 |
Definition at line 56 of file decode-icmpv6.h.
#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */ |
Definition at line 93 of file decode-icmpv6.h.
#define ICMP6_TIME_EXCEED_TRANSIT 0 /* Hop Limit == 0 in transit */ |
Time Exceeded Message (type=3) Code:
Definition at line 92 of file decode-icmpv6.h.
#define ICMP6_TIME_EXCEEDED 3 |
Definition at line 39 of file decode-icmpv6.h.
#define ICMPV6_GET_CODE | ( | icmp6h | ) | (icmp6h)->code |
macro for icmpv6 "code" access
Definition at line 104 of file decode-icmpv6.h.
#define ICMPV6_GET_EMB_PROTO | ( | p | ) | (p)->l4.vars.icmpv6.emb_ip6_proto_next |
macro for icmpv6 embedded "protocol" access
Definition at line 120 of file decode-icmpv6.h.
#define ICMPV6_GET_ID | ( | p | ) | (p)->l4.vars.icmpv6.id |
If message is informational macro for icmpv6 "id" access
Definition at line 108 of file decode-icmpv6.h.
#define ICMPV6_GET_MTU | ( | icmp6h | ) | SCNtohl((icmp6h)->icmpv6b.icmpv6e.mtu) |
macro for icmpv6 "mtu" access
Definition at line 117 of file decode-icmpv6.h.
#define ICMPV6_GET_SEQ | ( | p | ) | (p)->l4.vars.icmpv6.seq |
macro for icmpv6 "seq" access
Definition at line 110 of file decode-icmpv6.h.
#define ICMPV6_GET_TYPE | ( | icmp6h | ) | (icmp6h)->type |
macro for icmpv6 "type" access
Definition at line 102 of file decode-icmpv6.h.
#define ICMPV6_HAS_MTU | ( | icmp6h | ) | ((icmp6h)->type == ICMP6_PACKET_TOO_BIG) |
If message is Error macro for icmpv6 "mtu" accessibility
Definition at line 115 of file decode-icmpv6.h.
#define ICMPV6_HEADER_LEN 8 |
Definition at line 32 of file decode-icmpv6.h.
#define ICMPV6_HEADER_PKT_OFFSET 8 |
Definition at line 33 of file decode-icmpv6.h.
#define LOCATOR_UDATE_MSG 156 |
Definition at line 74 of file decode-icmpv6.h.
#define MC_ROUTER_ADVERT 151 |
Definition at line 69 of file decode-icmpv6.h.
#define MC_ROUTER_SOLICIT 152 |
Definition at line 70 of file decode-icmpv6.h.
#define MC_ROUTER_TERMINATE 153 |
Definition at line 71 of file decode-icmpv6.h.
#define MLD_LISTENER_QUERY 130 |
Definition at line 46 of file decode-icmpv6.h.
#define MLD_LISTENER_REDUCTION 132 |
Definition at line 48 of file decode-icmpv6.h.
#define MLD_LISTENER_REPORT 131 |
Definition at line 47 of file decode-icmpv6.h.
#define MLD_V2_LIST_REPORT 143 |
Definition at line 61 of file decode-icmpv6.h.
#define MOBILE_PREFIX_ADVERT 147 |
Definition at line 65 of file decode-icmpv6.h.
#define MOBILE_PREFIX_SOLICIT 146 |
Definition at line 64 of file decode-icmpv6.h.
#define MPL_CONTROL_MSG 159 |
Definition at line 77 of file decode-icmpv6.h.
#define ND_INVERSE_ADVERT 142 |
Definition at line 60 of file decode-icmpv6.h.
#define ND_INVERSE_SOLICIT 141 |
Definition at line 59 of file decode-icmpv6.h.
#define ND_NEIGHBOR_ADVERT 136 |
Definition at line 53 of file decode-icmpv6.h.
#define ND_NEIGHBOR_SOLICIT 135 |
Definition at line 52 of file decode-icmpv6.h.
#define ND_REDIRECT 137 |
Definition at line 54 of file decode-icmpv6.h.
#define ND_ROUTER_ADVERT 134 |
Definition at line 51 of file decode-icmpv6.h.
#define ND_ROUTER_SOLICIT 133 |
Definition at line 50 of file decode-icmpv6.h.
#define RPL_CONTROL_MSG 155 |
Definition at line 73 of file decode-icmpv6.h.
typedef struct ICMPV6Hdr_ ICMPV6Hdr |
ICMPv6 header structure
typedef struct ICMPV6Info_ ICMPV6Info |
typedef struct ICMPV6Vars_ ICMPV6Vars |
Data available from the decoded packet
void DecodeICMPV6RegisterTests | ( | void | ) |
Registers ICMPV6 unit tests.
Definition at line 1535 of file decode-icmpv6.c.
References UtRegisterTest().
int ICMPv6GetCounterpart | ( | uint8_t | type | ) |
type | counterpart type or -1 |
Definition at line 145 of file decode-icmpv6.c.
References CASE_CODE, CERT_PATH_ADVERT, CERT_PATH_SOLICIT, DUPL_ADDR_CONFIRM, DUPL_ADDR_REQUEST, HOME_AGENT_AD_REPLY, HOME_AGENT_AD_REQUEST, ICMP6_ECHO_REPLY, ICMP6_ECHO_REQUEST, ICMP6_NI_QUERY, ICMP6_NI_REPLY, MC_ROUTER_ADVERT, MC_ROUTER_SOLICIT, MLD_LISTENER_QUERY, MLD_LISTENER_REPORT, MOBILE_PREFIX_ADVERT, MOBILE_PREFIX_SOLICIT, ND_NEIGHBOR_ADVERT, ND_NEIGHBOR_SOLICIT, ND_ROUTER_ADVERT, ND_ROUTER_SOLICIT, and type.