|
Data Structures | |
| struct | fip_icmp6_echoRequest_t |
| ICMPv6 Echo Request. More... | |
| struct | fip_icmp6_error_t |
| ICMPv6 Error Message. More... | |
Modules | |
| ND Data Structure Access | |
| Neighbour Discovery (RFC4861) | |
Files | |
| file | fip_icmp6.c |
| ICMPv6 Functions. | |
Functions | |
| _PACKEND void | fip_icmp6_process (void) |
| The ICMPv6 Input Function. | |
| void | fip_icmp6_finalize (void) |
| Finalize ICMPv6 Packets by calculating the checksum, setting the IPv6 lengths correctly, and marking the packet as ready to send. | |
| void | fip_icmp6_generateError (uint8_t type, uint8_t code, uint32_t parameter) |
| Generate an ICMPv6 Error Message based on the packet in the current buffer. | |
| void | fip_icmp6_generateEchoRequest (fip_ifnum_t ifnum, fip_ip6addr_t *destAddr, unsigned int length) |
| Generate an ICMPv6 Echo Request (ping) to a remote host. | |
| void fip_icmp6_finalize | ( | void | ) |
Finalize ICMPv6 Packets by calculating the checksum, setting the IPv6 lengths correctly, and marking the packet as ready to send.
| upperLength | Length of the ICMPv6 Payload. |
References fip_ipUtils_checksum_pseudo6hdr(), fip_ipUtils_checksum_tl(), fip_packet_getBufSizes(), fip_packet_setAttr, fip_packet_setToICMP6Hdr_Checksum, fip_packet_setToIP6Hdr_length, fip_packet_setToIP6Hdr_nextHeader, and PS_SEND.
Referenced by fip_icmp6_generateEchoRequest(), fip_icmp6_generateError(), fip_icmp6_process(), fip_nd6_generateNA(), fip_nd6_generateNS(), fip_nd6_generateRA(), and fip_nd6_generateRS().

| void fip_icmp6_generateEchoRequest | ( | fip_ifnum_t | ifnum, | |
| fip_ip6addr_t * | destAddr, | |||
| unsigned int | length | |||
| ) |
Generate an ICMPv6 Echo Request (ping) to a remote host.
| ifnum | Interface to send ping on | |
| destAddr | Destination IPv6 address to send to | |
| length | Length of data to send in ping |
References fip_ip6addr_t::addr, fip_icmp6_echoRequest_t::checksum, fip_icmp6_echoRequest_t::code, fip_icmp6_echoRequest_t::data, fip_hostInterface_getMiliSeconds32(), fip_icmp6_finalize(), fip_if6_selectSrcAddress(), fip_packet_activeNew(), fip_packet_copyToIP6Hdr_destAddr(), fip_packet_getBufPtr, fip_packet_setBufSize, fip_packet_setToIP6Hdr_hopLimit, fip_packet_setToIP6Hdr_nextHeader, fip_icmp6_echoRequest_t::identifier, RV_OK, fip_icmp6_echoRequest_t::sequenceNumber, and fip_icmp6_echoRequest_t::type.
Referenced by fip_console_ping6().

| void fip_icmp6_generateError | ( | uint8_t | type, | |
| uint8_t | code, | |||
| uint32_t | parameter | |||
| ) |
Generate an ICMPv6 Error Message based on the packet in the current buffer.
| type | Message Type | |
| code | Message Code | |
| parameter | Parameter for error |
References fip_icmp6_error_t::checksum, fip_icmp6_error_t::code, fip_icmp6_finalize(), fip_if6_selectSrcAddress(), fip_packet_activeDrop(), fip_packet_activeResponsePacket(), fip_packet_getBufPtr, fip_packet_setBufSize, fip_packet_setToIP6Hdr_hopLimit, fip_packet_setToIP6Hdr_nextHeader, fip_icmp6_error_t::parameter, RV_OK, and fip_icmp6_error_t::type.
Referenced by fip_ip_process(), fip_route6_process(), and fip_task().

| _PACKEND void fip_icmp6_process | ( | void | ) |
The ICMPv6 Input Function.
Handles all required ICMPv6 input information.
References fip_ip6addr_t::addr, fip_icmp6_echoRequest_t::data, fip_hostInterface_getMiliSeconds32(), fip_icmp6_finalize(), fip_ip6addr_cpy, fip_ipUtils_checksum_pseudo6hdr(), fip_ipUtils_checksum_tl(), fip_nd6_process(), fip_packet_activeDrop(), fip_packet_getBufPtr, fip_packet_getBufSize, fip_packet_getFromICMP6Hdr_Type, fip_packet_getFromIP6Hdr_destPtr, fip_packet_getFromIP6Hdr_srcPtr, fip_packet_resetAddrFlags, fip_packet_setAttr, fip_packet_setBufSize, fip_packet_setToICMP6Hdr_Type, PS_SEND, RV_OK, and TRACE.
Referenced by fip_ip_process().

1.5.7.1