Contiki-NG
Loading...
Searching...
No Matches

The uIP TCP/IPv6 stack code. More...

#include "sys/cc.h"
#include "net/ipv6/uip.h"
#include "net/ipv6/uip-arch.h"
#include "net/ipv6/uipopt.h"
#include "net/ipv6/uip-icmp6.h"
#include "net/ipv6/uip-nd6.h"
#include "net/ipv6/uip-ds6.h"
#include "net/ipv6/multicast/uip-mcast6.h"
#include "net/routing/routing.h"
#include "sys/log.h"

Go to the source code of this file.

Functions

void uip_add32 (uint8_t *op32, uint16_t op16)
 Carry out a 32-bit addition.
 
uint16_t uip_chksum (uint16_t *data, uint16_t len)
 Calculate the Internet checksum over a buffer.
 
uint16_t uip_ipchksum (void)
 Calculate the IP header checksum of the packet header in uip_buf.
 
uint16_t uip_icmp6chksum (void)
 Calculate the ICMP checksum of the packet in uip_buf.
 
uint16_t uip_tcpchksum (void)
 Calculate the TCP checksum of the packet in uip_buf and uip_appdata.
 
void uip_init (void)
 uIP initialization function.
 
bool uip_remove_ext_hdr (void)
 Removes all IPv6 extension headers from uip_buf, updates length fields (uip_len and uip_ext_len)
 
struct uip_udp_connuip_udp_new (const uip_ipaddr_t *ripaddr, uint16_t rport)
 Set up a new UDP connection.
 
void uip_unlisten (uint16_t port)
 Stop listening to the specified port.
 
void uip_listen (uint16_t port)
 Start listening to the specified port.
 
void uip_reass_over (void)
 Abandon the reassembly of the current packet.
 
static uint8_t ext_hdr_options_process (uint8_t *ext_buf)
 Process the options in Destination and Hop By Hop extension headers.
 
uint16_t uip_htons (uint16_t val)
 Convert a 16-bit quantity from host byte order to network byte order.
 
void uip_send (const void *data, int len)
 Send data on the current connection.
 

Variables

struct etimer uip_reass_timer
 Timer for reassembly.
 
Layer 2 variables
uip_lladdr_t uip_lladdr = {{0x00,0x06,0x98,0x00,0x02,0x32}}
 Host L2 address.
 
Layer 3 variables
uint8_t uip_ext_bitmap = 0
 bitmap we use to record which IPv6 headers we have already seen
 
uint16_t uip_ext_len = 0
 Total length of all IPv6 extension headers.
 
uint8_t uip_last_proto = 0
 The final protocol after IPv6 extension headers: UIP_PROTO_TCP, UIP_PROTO_UDP or UIP_PROTO_ICMP6.
 
Buffer variables
uip_buf_t uip_aligned_buf
 Packet buffer for incoming and outgoing packets.
 
void * uip_appdata
 Pointer to the application data in the packet buffer.
 
uint16_t uip_len
 The length of the packet in the uip_buf buffer.
 
General variables
struct uip_conn * uip_conn
 Pointer to the current TCP connection.
 
TCP variables
uint8_t uip_acc32 [4]
 4-byte array used for the 32-bit sequence number calculations.
 
UDP variables
struct uip_udp_conn * uip_udp_conn
 The current UDP connection.
 
ICMPv6 variables
struct uip_icmp6_conn uip_icmp6_conns
 single possible icmpv6 "connection"
 

Detailed Description

The uIP TCP/IPv6 stack code.

Author
Adam Dunkels adam@.nosp@m.sics.nosp@m..se
Julien Abeille jabei.nosp@m.lle@.nosp@m.cisco.nosp@m..com (IPv6 related code)
Mathilde Durvy mdurv.nosp@m.y@ci.nosp@m.sco.c.nosp@m.om (IPv6 related code)

Definition in file uip6.c.