Contiki-NG
|
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.
Macros | |
Buffer defines | |
#define | FBUF ((struct uip_tcpip_hdr *)&uip_reassbuf[0]) |
#define | UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) |
#define | UIP_ICMP_BUF ((struct uip_icmp_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_UDP_BUF ((struct uip_udp_hdr *)&uip_buf[UIP_LLH_LEN + UIP_IPH_LEN]) |
#define | UIP_TCP_BUF ((struct uip_tcp_hdr *)&uip_buf[UIP_LLH_LEN + UIP_IPH_LEN]) |
#define | UIP_EXT_BUF ((struct uip_ext_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_ROUTING_BUF ((struct uip_routing_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_FRAG_BUF ((struct uip_frag_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_HBHO_BUF ((struct uip_hbho_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_DESTO_BUF ((struct uip_desto_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
#define | UIP_EXT_HDR_OPT_BUF ((struct uip_ext_hdr_opt *)&uip_buf[uip_l2_l3_hdr_len + uip_ext_opt_offset]) |
#define | UIP_EXT_HDR_OPT_PADN_BUF ((struct uip_ext_hdr_opt_padn *)&uip_buf[uip_l2_l3_hdr_len + uip_ext_opt_offset]) |
#define | UIP_ICMP6_ERROR_BUF ((struct uip_icmp6_error *)&uip_buf[uip_l2_l3_icmp_hdr_len]) |
TCP defines | |
#define | TCP_FIN 0x01 |
#define | TCP_SYN 0x02 |
#define | TCP_RST 0x04 |
#define | TCP_PSH 0x08 |
#define | TCP_ACK 0x10 |
#define | TCP_URG 0x20 |
#define | TCP_CTL 0x3f |
#define | TCP_OPT_END 0 /* End of TCP options list */ |
#define | TCP_OPT_NOOP 1 /* "No-operation" TCP option */ |
#define | TCP_OPT_MSS 2 /* Maximum segment size TCP option */ |
#define | TCP_OPT_MSS_LEN 4 /* Length of TCP MSS option. */ |
Functions | |
void | uip_add32 (uint8_t *op32, uint16_t op16) |
Carry out a 32-bit addition. More... | |
uint16_t | uip_chksum (uint16_t *data, uint16_t len) |
Calculate the Internet checksum over a buffer. More... | |
uint16_t | uip_ipchksum (void) |
Calculate the IP header checksum of the packet header in uip_buf. More... | |
uint16_t | uip_icmp6chksum (void) |
Calculate the ICMP checksum of the packet in uip_buf. More... | |
uint16_t | uip_tcpchksum (void) |
Calculate the TCP checksum of the packet in uip_buf and uip_appdata. More... | |
void | uip_init (void) |
uIP initialization function. More... | |
struct uip_udp_conn * | uip_udp_new (const uip_ipaddr_t *ripaddr, uint16_t rport) |
Set up a new UDP connection. More... | |
void | uip_unlisten (uint16_t port) |
Stop listening to the specified port. More... | |
void | uip_listen (uint16_t port) |
Start listening to the specified port. More... | |
void | uip_reass_over (void) |
Abandon the reassembly of the current packet. More... | |
static uint8_t | ext_hdr_options_process (void) |
Process the options in Destination and Hop By Hop extension headers. | |
void | uip_process (uint8_t flag) |
process the options within a hop by hop or destination option header More... | |
uint16_t | uip_htons (uint16_t val) |
Convert a 16-bit quantity from host byte order to network byte order. More... | |
void | uip_send (const void *data, int len) |
Send data on the current connection. More... | |
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_next_hdr |
Type of the next header in IPv6 header or extension headers. More... | |
uint8_t | uip_ext_bitmap = 0 |
bitmap we use to record which IPv6 headers we have already seen | |
uint8_t | uip_ext_len = 0 |
length of the extension headers read. More... | |
uint8_t | uip_ext_opt_offset = 0 |
length of the header options read | |
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. More... | |
void * | uip_sappdata |
uint16_t | uip_len |
The length of the packet in the uip_buf buffer. More... | |
uint16_t | uip_slen |
General variables | |
uint8_t | uip_flags |
struct uip_conn * | uip_conn |
Pointer to the current TCP connection. More... | |
static uint16_t | lastport |
TCP variables | |
struct uip_conn | uip_conns [UIP_TCP_CONNS] |
uint16_t | uip_listenports [UIP_LISTENPORTS] |
static uint8_t | iss [4] |
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. | |
struct uip_udp_conn | uip_udp_conns [UIP_UDP_CONNS] |
ICMPv6 variables | |
struct uip_icmp6_conn | uip_icmp6_conns |
single possible icmpv6 "connection" | |
The uIP TCP/IPv6 stack code.
Definition in file uip6.c.