INET Framework for OMNeT++/OMNEST
ip6.h File Reference

Classes

struct  inet::serializer::in6_addr
 
struct  inet::serializer::ip6_hdr
 
struct  inet::serializer::ip6_ext
 
struct  inet::serializer::ip6_hbh
 
struct  inet::serializer::ip6_dest
 
struct  inet::serializer::ip6_opt
 
struct  inet::serializer::ip6_opt_jumbo
 
struct  inet::serializer::ip6_opt_nsap
 
struct  inet::serializer::ip6_opt_tunnel
 
struct  inet::serializer::ip6_opt_router
 
struct  inet::serializer::ip6_rthdr
 
struct  inet::serializer::ip6_rthdr0
 
struct  inet::serializer::ip6_frag
 

Namespaces

 inet
 Copyright (c) 2005 Jan Ringo�, www.ringos.cz.
 
 inet::serializer
 

Macros

#define __PACKED__   __attribute__((packed))
 
#define ip6_vfc   ip6_ctlun.ip6_un2_vfc
 
#define ip6_flow   ip6_ctlun.ip6_un1.ip6_un1_flow
 
#define ip6_plen   ip6_ctlun.ip6_un1.ip6_un1_plen
 
#define ip6_nxt   ip6_ctlun.ip6_un1.ip6_un1_nxt
 
#define ip6_hlim   ip6_ctlun.ip6_un1.ip6_un1_hlim
 
#define ip6_hops   ip6_ctlun.ip6_un1.ip6_un1_hlim
 
#define IPV6_VERSION   0x60
 
#define IPV6_VERSION_MASK   0xf0
 
#define IPV6_FLOWINFO_MASK   0x0fffffff /* flow info (28 bits) */
 
#define IPV6_FLOWLABEL_MASK   0x000fffff /* flow label (20 bits) */
 
#define IP6TOS_CE   0x01 /* congestion experienced */
 
#define IP6TOS_ECT   0x02 /* ECN-capable transport */
 
#define IP6OPT_PAD1   0x00 /* 00 0 00000 */
 
#define IP6OPT_PADN   0x01 /* 00 0 00001 */
 
#define IP6OPT_JUMBO   0xC2 /* 11 0 00010 = 194 */
 
#define IP6OPT_NSAP_ADDR   0xC3 /* 11 0 00011 */
 
#define IP6OPT_TUNNEL_LIMIT   0x04 /* 00 0 00100 */
 
#define IP6OPT_RTALERT   0x05 /* 00 0 00101 (KAME definition) */
 
#define IP6OPT_ROUTER_ALERT   0x05 /* 00 0 00101 (RFC3542, recommended) */
 
#define IP6OPT_RTALERT_LEN   4
 
#define IP6OPT_RTALERT_MLD   0 /* Datagram contains an MLD message */
 
#define IP6OPT_RTALERT_RSVP   1 /* Datagram contains an RSVP message */
 
#define IP6OPT_RTALERT_ACTNET   2 /* contains an Active Networks msg */
 
#define IP6OPT_MINLEN   2
 
#define IP6OPT_EID   0x8a /* 10 0 01010 */
 
#define IP6OPT_TYPE(o)   ((o) & 0xC0)
 
#define IP6OPT_TYPE_SKIP   0x00
 
#define IP6OPT_TYPE_DISCARD   0x40
 
#define IP6OPT_TYPE_FORCEICMP   0x80
 
#define IP6OPT_TYPE_ICMP   0xC0
 
#define IP6OPT_MUTABLE   0x20
 
#define IP6OPT_JUMBO_LEN   6
 
#define IP6_ALERT_MLD   0x0000
 
#define IP6_ALERT_RSVP   0x0001
 
#define IP6_ALERT_AN   0x0002
 
#define IP6F_OFF_MASK   0xfff8 /* mask out offset from _offlg */
 
#define IP6F_RESERVED_MASK   0x0006 /* reserved bits in ip6f_offlg */
 
#define IP6F_MORE_FRAG   0x0001 /* more-fragments flag */
 
#define IPV6_MAXHLIM   255 /* maximum hoplimit */
 
#define IPV6_DEFHLIM   64 /* default hlim */
 
#define IPV6_FRAGTTL   120 /* ttl for fragment packets, in slowtimo tick */
 
#define IPV6_HLIMDEC   1 /* subtracted when forwarding */
 
#define IPV6_MMTU   1280 /* minimal MTU and reassembly. 1024 + 256 */
 
#define IPV6_MAXPACKET   65535 /* ip6 max packet size without Jumbo payload*/
 
#define IPV6_MAXOPTHDR   2048 /* max option header size, 256 64-bit words */
 

Typedefs

typedef uint8_t inet::serializer::__uint8_t
 
typedef uint16_t inet::serializer::__uint16_t
 
typedef uint32_t inet::serializer::__uint32_t
 

Macro Definition Documentation

#define __PACKED__   __attribute__((packed))
#define IP6_ALERT_AN   0x0002
#define IP6_ALERT_MLD   0x0000
#define IP6_ALERT_RSVP   0x0001
#define ip6_flow   ip6_ctlun.ip6_un1.ip6_un1_flow
#define ip6_hlim   ip6_ctlun.ip6_un1.ip6_un1_hlim
#define ip6_hops   ip6_ctlun.ip6_un1.ip6_un1_hlim
#define ip6_nxt   ip6_ctlun.ip6_un1.ip6_un1_nxt
#define ip6_plen   ip6_ctlun.ip6_un1.ip6_un1_plen
#define ip6_vfc   ip6_ctlun.ip6_un2_vfc
#define IP6F_MORE_FRAG   0x0001 /* more-fragments flag */
#define IP6F_OFF_MASK   0xfff8 /* mask out offset from _offlg */
#define IP6F_RESERVED_MASK   0x0006 /* reserved bits in ip6f_offlg */
#define IP6OPT_EID   0x8a /* 10 0 01010 */
#define IP6OPT_JUMBO   0xC2 /* 11 0 00010 = 194 */
#define IP6OPT_JUMBO_LEN   6
#define IP6OPT_MINLEN   2
#define IP6OPT_MUTABLE   0x20
#define IP6OPT_NSAP_ADDR   0xC3 /* 11 0 00011 */
#define IP6OPT_PAD1   0x00 /* 00 0 00000 */
#define IP6OPT_PADN   0x01 /* 00 0 00001 */
#define IP6OPT_ROUTER_ALERT   0x05 /* 00 0 00101 (RFC3542, recommended) */
#define IP6OPT_RTALERT   0x05 /* 00 0 00101 (KAME definition) */
#define IP6OPT_RTALERT_ACTNET   2 /* contains an Active Networks msg */
#define IP6OPT_RTALERT_LEN   4
#define IP6OPT_RTALERT_MLD   0 /* Datagram contains an MLD message */
#define IP6OPT_RTALERT_RSVP   1 /* Datagram contains an RSVP message */
#define IP6OPT_TUNNEL_LIMIT   0x04 /* 00 0 00100 */
#define IP6OPT_TYPE (   o)    ((o) & 0xC0)
#define IP6OPT_TYPE_DISCARD   0x40
#define IP6OPT_TYPE_FORCEICMP   0x80
#define IP6OPT_TYPE_ICMP   0xC0
#define IP6OPT_TYPE_SKIP   0x00
#define IP6TOS_CE   0x01 /* congestion experienced */
#define IP6TOS_ECT   0x02 /* ECN-capable transport */
#define IPV6_DEFHLIM   64 /* default hlim */
#define IPV6_FLOWINFO_MASK   0x0fffffff /* flow info (28 bits) */
#define IPV6_FLOWLABEL_MASK   0x000fffff /* flow label (20 bits) */
#define IPV6_FRAGTTL   120 /* ttl for fragment packets, in slowtimo tick */
#define IPV6_HLIMDEC   1 /* subtracted when forwarding */
#define IPV6_MAXHLIM   255 /* maximum hoplimit */
#define IPV6_MAXOPTHDR   2048 /* max option header size, 256 64-bit words */
#define IPV6_MAXPACKET   65535 /* ip6 max packet size without Jumbo payload*/
#define IPV6_MMTU   1280 /* minimal MTU and reassembly. 1024 + 256 */
#define IPV6_VERSION   0x60
#define IPV6_VERSION_MASK   0xf0