ICMPv6 Handling
[IP Core Functions]

Collaboration diagram for ICMPv6 Handling:


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.

Function Documentation

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.

Parameters:
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().

Here is the call graph for this function:

void fip_icmp6_generateEchoRequest ( fip_ifnum_t  ifnum,
fip_ip6addr_t destAddr,
unsigned int  length 
)

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.

Parameters:
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().

Here is the call graph for this function:

_PACKEND void fip_icmp6_process ( void   ) 


Generated on Wed Dec 8 13:00:35 2010 for FIP by  doxygen 1.5.7.1