U v` @sdZddlmZddlmZdZdZdZdZdZ d Z d Z d Z d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZGdddejZdS)z+Internet Control Message Protocol for IPv6.)absolute_import)dpktc@seZdZdZdZGdddejZGdddeZGdddeZ Gd d d eZ Gd d d eZ Gd ddejZ ee e e e e dZ ddZdS)ICMP6zInternet Control Message Protocol for IPv6. TODO: Longer class information.... Attributes: __hdr__: Header fields of ICMPv6. TODO. ))typeBr)coderr)sumHrc@seZdZdZddZdS)z ICMP6.Error))padIrcCs2tj||ddlm}||j|_|_dS)Nr)ip6)rPacketunpackrZIP6data)selfbufrr%b/private/var/folders/0j/yyfkg7712236ncpm167bvylc27vst9/T/pip-unpacked-wheel-y9gppv54/dpkt/icmp6.pyr =s zICMP6.Error.unpackN)__name__ __module__ __qualname____hdr__r r%r%r%r&Error:sr+c@s eZdZdS)z ICMP6.UnreachNr'r(r)r%r%r%r&UnreachBsr-c@seZdZdZdS)z ICMP6.TooBig))ZmturiNr'r(r)r*r%r%r%r&TooBigEsr/c@s eZdZdS)zICMP6.TimeExceedNr,r%r%r%r& TimeExceedHsr0c@seZdZdZdS)zICMP6.ParamProb))ptrrrNr.r%r%r%r& ParamProbKsr2c@seZdZdZdS)z ICMP6.Echo))idrr)seqrrNr.r%r%r%r&EchoNsr5)rrrrrr c Cs^tj||z0|j|j|j|_t||jjj |jWnt tj fk rXYnXdS)N) rrr _typeswrr"setattr __class__r'lowerKeyErrorZ UnpackError)r#r$r%r%r&r Ss z ICMP6.unpackN)r'r(r)__doc__r*rrr+r-r/r0r2r5r6r r%r%r%r&r*s rN) r; __future__rr!rZICMP6_DST_UNREACHZICMP6_PACKET_TOO_BIGZICMP6_TIME_EXCEEDEDZICMP6_PARAM_PROBZICMP6_ECHO_REQUESTZICMP6_ECHO_REPLYZMLD_LISTENER_QUERYZMLD_LISTENER_REPORTZMLD_LISTENER_DONEZICMP6_MEMBERSHIP_QUERYZICMP6_MEMBERSHIP_REPORTZICMP6_MEMBERSHIP_REDUCTIONZND_ROUTER_SOLICITZND_ROUTER_ADVERTZND_NEIGHBOR_SOLICITZND_NEIGHBOR_ADVERTZ ND_REDIRECTZICMP6_ROUTER_RENUMBERINGZICMP6_WRUREQUESTZICMP6_WRUREPLYZICMP6_FQDN_QUERYZICMP6_FQDN_REPLYZICMP6_NI_QUERYZICMP6_NI_REPLYZ ICMP6_MAXTYPErrr%r%r%r&s8