src/stack/ipv6/ipv6_frag.c File Reference

The file handles the IPv6 Fragment Reassembly processing. More...


Data Structures

struct  FRAG6Q
 The structure describes the Fragment Reassembly Queue. More...

Functions

void IPv6FragMsg (uint Msg)
int IPv6ParseFragHdr (PBM_Pkt *pPkt, IPV6HDR *ptr_ipv6hdr)
int IPv6TxFragPacket (PBM_Pkt *pPkt, NETIF_DEVICE *ptr_net_device, HANDLE ptr_lli6)


Detailed Description

The file handles the IPv6 Fragment Reassembly processing.

NOTE: (C) Copyright 2008, Texas Instruments, Inc.

Function Documentation

void IPv6FragMsg ( uint  Msg  ) 

Description
IPv6 Fragmentation & Reassembly module's event handling function.

This is for *internal* NDK Stack Usage.

Parameters:
[in] Msg The message event which needs to be handled.
Return values:
None. 

int IPv6ParseFragHdr ( PBM_Pkt *  pPkt,
IPV6HDR *  ptr_ipv6hdr 
)

Description
The function handles all packets with fragmentation header.

Parameters:
[in] pPkt Pointer to the entire IPv6 Packet.
[in] ptr_ipv6hdr Pointer to the IPv6 Header.
Return values:
-1 - Error in processing the packet. Packet has been cleaned up.
1 - Packet has been successfully processed by fragmentation module. Its been absorbed by this module for reassembly. Ignore this packet. This packet is now a responsibility of the fragmentation layer for further processing.

int IPv6TxFragPacket ( PBM_Pkt *  pPkt,
NETIF_DEVICE *  ptr_net_device,
HANDLE  ptr_lli6 
)

Description
This function is called by IPv6TxPacket when it detects that the packet cannot be transmitted as a whole using a specified tx device. This function handles the fragmentation and transmit of such a packet.

This is for *internal* NDK Stack Usage.

Parameters:
[in] pPkt Pointer to the IPv6 packet which needs to be transmitted
[in] ptr_net_device Pointer to the device on which the fragment packets need to be transmitted
[in] ptr_lli6 Handle to the LLI6 Entry
Return values:
Success - 0
Error - <0


Copyright 2009, Texas Instruments Incorporated