| Low-Power Border Router

- Main Page
- Packages
- Classes

- Class List
- Class Hierarchy
- Class Members

# Lowpan.Defines.Defines Class Reference

Defines used for IPv6 Header Compression More...

List of all members.

## Static Public Attributes
Possible values for the IPv6 'next_header' field
int | IPv6_NH_VALUE_TCP = 6
| the next header is TCP
int | IPv6_NH_VALUE_UDP = 17
| the next header is UDP
int | IPv6_NH_VALUE_ICMPv6 = 58
| the next header is ICMPv6
Possible values for the ICMPv6 'type' field
int | ICMPv6_TYPE_ECHO_REQ = 128
| ICMPv6 Echo Request.
int | ICMPv6_TYPE_ECHO_REPLY = 129
| ICMPv6 Echo Reply.
int | ICMPv6_TYPE_ECHO_RA = 134
| ICMPv6 Router Advertisement.
Possible values for the IPHC 'dispatch' field
int | IPHC_DISPATCH = 3
| IPHC encoding.
Possible values for the IPHC 'TF' (Traffic Class, Flow Label) field
int | IPHC_TF_4B = 0
| ECN + DSCP + 4-bit Pad + Flow Label (4 bytes)
int | IPHC_TF_3B = 1
| ECN + 2-bit Pad + Flow Label (3 bytes), DSCP is elided.
int | IPHC_TF_1B = 2
| ECN + DSCP (1 byte), Flow Label is elided.
int | IPHC_TF_ELIDED = 3
| Traffic Class and Flow Label are elided.
Possible values for the IPHC 'NH' (Next Header) field
int | IPHC_NH_INLINE = 0
| Full 8 bits for Next Header are carried in-line.
int | IPHC_NH_COMPRESSED = 1
| The Next Header field is compressed and the next header is encoded using LOWPAN_NHC.
Possible values for the IPHC 'HLIM' (Hop Limit Compression) field
int | IPHC_HLIM_INLINE = 0
| The Hop Limit field is carried in-line.
int | IPHC_HLIM_1 = 1
| The Hop Limit field is compressed and the hop limit is 1.
int | IPHC_HLIM_64 = 2
| The Hop Limit field is compressed and the hop limit is 64.
int | IPHC_HLIM_255 = 3
| The Hop Limit field is compressed and the hop limit is 255.
Possible values for the IPHC 'CID' (Context Identifier Extension) field
int | IPHC_CID_NO = 0
| No additional 8-bit Context Identifier Extension is used.
int | IPHC_CID_INLINE = 1
| An additional 8-bit Context Identifier Extension field immediately follows the DAM field.
Possible values for the IPHC 'SAC' (Source Address Compression) field
int | IPHC_SAC_STATELESS = 0
| Source address compression uses stateless compression.
int | IPHC_SAC_STATEFUL = 1
| Source address compression uses stateful, context-based compression.
Possible values for the IPHC 'SAM' (Source Address Mode) field
int | IPHC_SAM_128B = 0
| 128 bits of the src address are carried inline.
int | IPHC_SAM_64B = 1
| 64 bits of the src address are carried inline.
int | IPHC_SAM_16B = 2
| 16 bits of the src address are carried inline.
int | IPHC_SAM_ELIDED = 3
| The src address is elided from the packet.
Possible values for the IPHC 'M' (Multicast Compression) field
int | IPHC_M_UNICAST = 0
| Destination address is not a multicast address.
int | IPHC_M_MULTICAST = 1
| Destination address is a multicast address.
Possible values for the IPHC 'DAC' (Destination Address Compression) field
int | IPHC_DAC_STATELESS = 0
| Destination address compression uses stateless compression.
int | IPHC_DAC_STATEFUL = 1
| Destination address compression uses stateful, context-based compression.
Possible values for the IPHC 'DAM' (Destination Address Mode) field
int | IPHC_DAM_128B = 0
| 128 bits of the dest address are carried inline.
int | IPHC_DAM_64B = 1
| 64 bits of the dest address are carried inline.
int | IPHC_DAM_16B = 2
| 16 bits of the dest address are carried inline.
int | IPHC_DAM_ELIDED = 3
| The dest address is elided from the packet.
Possible values for the IPHC UDP 'C' (Checksum) field
int | IPHC_UDP_CHECKSUM_INLINE = 0
| All 16 bits of Checksum are carried in-line.
int | IPHC_UDP_CHECKSUM_ELIDED = 1
| All 16 bits of Checksum are elided.
Possible values for the IPHC UDP 'ports' field
int | IPHC_UDP_PORTS_s16_d16 = 0
| All 16 bits for both Source Port and Destination Port are carried in-line.
int | IPHC_UDP_PORTS_s16_d8 = 1
| All 16 bits for Source Port are carried in-line.
int | IPHC_UDP_PORTS_s8_d16 = 2
| First 8 bits of Source Port are 0xF0 and elided.
int | IPHC_UDP_PORTS_s4_d4 = 3
| First 12 bits of both Source Port and Destination Port are 0xF0B and elided.

## Detailed Description

Defines used for IPv6 Header Compression

## Member Data Documentation

int Lowpan.Defines.Defines.IPv6_NH_VALUE_TCP = 6`[static]`

the next header is TCP

int Lowpan.Defines.Defines.IPv6_NH_VALUE_UDP = 17`[static]`

the next header is UDP

int Lowpan.Defines.Defines.IPv6_NH_VALUE_ICMPv6 = 58`[static]`

the next header is ICMPv6

int Lowpan.Defines.Defines.ICMPv6_TYPE_ECHO_REQ = 128`[static]`

ICMPv6 Echo Request.

int Lowpan.Defines.Defines.ICMPv6_TYPE_ECHO_REPLY = 129`[static]`

ICMPv6 Echo Reply.

int Lowpan.Defines.Defines.ICMPv6_TYPE_ECHO_RA = 134`[static]`

ICMPv6 Router Advertisement.

int Lowpan.Defines.Defines.IPHC_DISPATCH = 3`[static]`

IPHC encoding.

int Lowpan.Defines.Defines.IPHC_TF_4B = 0`[static]`

ECN + DSCP + 4-bit Pad + Flow Label (4 bytes)

int Lowpan.Defines.Defines.IPHC_TF_3B = 1`[static]`

ECN + 2-bit Pad + Flow Label (3 bytes), DSCP is elided.

int Lowpan.Defines.Defines.IPHC_TF_1B = 2`[static]`

ECN + DSCP (1 byte), Flow Label is elided.

int Lowpan.Defines.Defines.IPHC_TF_ELIDED = 3`[static]`

Traffic Class and Flow Label are elided.

int Lowpan.Defines.Defines.IPHC_NH_INLINE = 0`[static]`

Full 8 bits for Next Header are carried in-line.

int Lowpan.Defines.Defines.IPHC_NH_COMPRESSED = 1`[static]`

The Next Header field is compressed and the next header is encoded using LOWPAN_NHC.

int Lowpan.Defines.Defines.IPHC_HLIM_INLINE = 0`[static]`

The Hop Limit field is carried in-line.

int Lowpan.Defines.Defines.IPHC_HLIM_1 = 1`[static]`

The Hop Limit field is compressed and the hop limit is 1.

int Lowpan.Defines.Defines.IPHC_HLIM_64 = 2`[static]`

The Hop Limit field is compressed and the hop limit is 64.

int Lowpan.Defines.Defines.IPHC_HLIM_255 = 3`[static]`

The Hop Limit field is compressed and the hop limit is 255.

int Lowpan.Defines.Defines.IPHC_CID_NO = 0`[static]`

No additional 8-bit Context Identifier Extension is used.

If context-based compression is specified in either SAC or DAC, context 0 is used.

int Lowpan.Defines.Defines.IPHC_CID_INLINE = 1`[static]`

An additional 8-bit Context Identifier Extension field immediately follows the DAM field.

int Lowpan.Defines.Defines.IPHC_SAC_STATELESS = 0`[static]`

Source address compression uses stateless compression.

int Lowpan.Defines.Defines.IPHC_SAC_STATEFUL = 1`[static]`

Source address compression uses stateful, context-based compression.

int Lowpan.Defines.Defines.IPHC_SAM_128B = 0`[static]`

128 bits of the src address are carried inline.

- If SAC=0: The full address is carried in-line.
- If SAC=1: The UNSPECIFIED address, ::

int Lowpan.Defines.Defines.IPHC_SAM_64B = 1`[static]`

64 bits of the src address are carried inline.

- If SAC=0: The first 64-bits of the address are elided. The value of those bits is the link-local prefix padded with zeros. The remaining 64 bits are carried in-line.
- If SAC=1: The address is derived using context information and the 64 bits carried in-line. Bits covered by context information are always used. Any IID bits not covered by context information are taken directly from the corresponding bits carried in-line. Any remaining bits are zero.

int Lowpan.Defines.Defines.IPHC_SAM_16B = 2`[static]`

16 bits of the src address are carried inline.

- If SAC=0: The first 112 bits of the address are elided. The value of the first 64 bits is the link-local prefix padded with zeros. The following 64 bits are 0000:00ff:fe00:XXXX, where XXXX are the 16 bits carried in-line.
- If SAC=1: The address is derived using context information and the 16 bits carried in-line. Bits covered by context information are always used. Any IID bits not covered by context information are taken directly from their corresponding bits in the 16-bit to IID mapping given by 0000:00ff:fe00:XXXX, where XXXX are the 16 bits carried in-line. Any remaining bits are zero.

int Lowpan.Defines.Defines.IPHC_SAM_ELIDED = 3`[static]`

The src address is elided from the packet.

- If SAC=0: The address is fully elided. The first 64 bits of the address are the link-local prefix padded with zeros. The remaining 64 bits are computed from the encapsulating header (e.g. 802.15.4 or IPv6 src address)
- If SAC=1: The address is fully elided and is derived using context information and the encapsulating header (e.g. 802.15.4 or IPv6 src address). Bits covered by context information are always used. Any IID bits not covered by context information are computed from the encapsulating header. Any remaining bits are zero.

int Lowpan.Defines.Defines.IPHC_M_UNICAST = 0`[static]`

Destination address is not a multicast address.

int Lowpan.Defines.Defines.IPHC_M_MULTICAST = 1`[static]`

Destination address is a multicast address.

int Lowpan.Defines.Defines.IPHC_DAC_STATELESS = 0`[static]`

Destination address compression uses stateless compression.

int Lowpan.Defines.Defines.IPHC_DAC_STATEFUL = 1`[static]`

Destination address compression uses stateful, context-based compression.

int Lowpan.Defines.Defines.IPHC_DAM_128B = 0`[static]`

128 bits of the dest address are carried inline.

- if M=0:
  - if DAC=0: The full address is carried in-line.
  - if DAC=1: Reserved.
- if M=1:
  - if DAC=0: 128 bits. The full address is carried in-line.
  - if DAC=1: 48 bits. This format is designed to match Unicast-Prefix-based IPv6 Multicast Addresses as defined in [RFC3306] and [RFC3956]. The multicast address takes the form FFXX:XXLL:PPPP:PPPP:PPPP:PPPP:XXXX:XXXX. where the X are the nibbles that are carried in-line, in the order in which they appear in this format. P denotes nibbles used to encode the prefix itself. L denotes nibbles used to encode the prefix length. The prefix information P and L is taken from the specified context.

int Lowpan.Defines.Defines.IPHC_DAM_64B = 1`[static]`

64 bits of the dest address are carried inline.

- if M=0:
  - if DAC=0: The first 64-bits of the address are elided. The value of those bits is the link-local prefix padded with zeros. The remaining 64 bits are carried in-line.
  - if DAC=1: 64 bits. The address is derived using context information and the 64 bits carried in-line. Bits covered by contextinformation are always used. Any IID bits not covered by context information are taken directly from the corresponding bits carried in-line. Any remaining bits are zero.
- if M=1:
  - if DAC=0: 48 bits. The address takes the form FFXX::00XX:XXXX:XXXX.
  - if DAC=1: reserved

int Lowpan.Defines.Defines.IPHC_DAM_16B = 2`[static]`

16 bits of the dest address are carried inline.

- if M=0:
  - if DAC=0: 16 bits. The first 112 bits of the address are elided. The value of the first 64 bits is the link-local prefix padded with zeros. The following 64 bits are 0000:00ff: fe00:XXXX, where XXXX are the 16 bits carried in-line.
  - if DAC=1: 16 bits. The address is derived using context information and the 16 bits carried in-line. Bits covered by context information are always used. Any IID bits not covered by context information are taken directly from their corresponding bits in the 16-bit to IID mapping given by 0000:00ff:fe00:XXXX, where XXXX are the 16 bits carried in- line. Any remaining bits are zero.
- if M=1:
  - if DAC=0: 32 bits. The address takes the form FFXX::00XX:XXXX.
  - if DAC=1: reserved

int Lowpan.Defines.Defines.IPHC_DAM_ELIDED = 3`[static]`

The dest address is elided from the packet.

- if M=0:
  - if DAC=0: 0 bits. The address is fully elided. The first 64 bits of the address are the link-local prefix padded with zeros. The remaining 64 bits are computed from the encapsulating header (e.g. 802.15.4 or IPv6 dest address) as specified in Section 3.2.2.
  - if DAC=1: 0 bits. The address is fully elided and is derived using context information and the encapsulating header (e.g. 802.15.4 or IPv6 dest address). Bits covered by context information are always used. Any IID bits not covered by context information are computed from the encapsulating header as specified in Section 3.2.2. Any remaining bits are zero.
- if M=1:
  - if DAC=0: 8 bits. The address takes the form FF02::00XX.
  - if DAC=1: reserved

int Lowpan.Defines.Defines.IPHC_UDP_CHECKSUM_INLINE = 0`[static]`

All 16 bits of Checksum are carried in-line.

int Lowpan.Defines.Defines.IPHC_UDP_CHECKSUM_ELIDED = 1`[static]`

All 16 bits of Checksum are elided.

The Checksum is recovered by recomputing it on the 6LoWPAN termination point.

int Lowpan.Defines.Defines.IPHC_UDP_PORTS_s16_d16 = 0`[static]`

All 16 bits for both Source Port and Destination Port are carried in-line.

int Lowpan.Defines.Defines.IPHC_UDP_PORTS_s16_d8 = 1`[static]`

All 16 bits for Source Port are carried in-line.

First 8 bits of Destination Port is 0xF0 and elided. The remaining 8 bits of Destination Port are carried in-line.

int Lowpan.Defines.Defines.IPHC_UDP_PORTS_s8_d16 = 2`[static]`

First 8 bits of Source Port are 0xF0 and elided.

The remaining 8 bits of Source Port are carried in-line. All 16 bits for Destination Port are carried in-line.

int Lowpan.Defines.Defines.IPHC_UDP_PORTS_s4_d4 = 3`[static]`

First 12 bits of both Source Port and Destination Port are 0xF0B and elided.

The remaining 4 bits for each are carried in-line.