/** @file
 @brief 6lowpan private header

 This is not to be included by the application.
 */

/*
 * Copyright (c) 2016 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <stdio.h>

/* 6lopan dispatches */
#define NET_6LO_DISPATCH_IPV6		0x41 /* 01000001 */
#define NET_6LO_DISPATCH_BROADCAST	0x50 /* 01010000 */
#define NET_6LO_DISPATCH_IPHC		0x60 /* 01100000 */
#define NET_6LO_DISPATCH_MESH		0x80 /* 10xxxxxx */
#define NET_6LO_DISPATCH_FRAG1		0xC0 /* 11000xxx */
#define NET_6LO_DISPATCH_FRAGN		0xE0 /* 11100xxx */

/**
  * TF (Traffic class and Flow label)
  * 00:  ECN + DSCP + 4-bit Pad + Flow Label (4 bytes)
  * 01:  ECN + 2-bit Pad + Flow Label (3 bytes), DSCP is elided.
  * 10:  ECN + DSCP (1 byte), Flow Label is elided.
  * 11:  Traffic Class and Flow Label are elided.
  */
#define NET_6LO_IPHC_TF_00		0x00
#define NET_6LO_IPHC_TF_01		0x08
#define NET_6LO_IPHC_TF_10		0x10
#define NET_6LO_IPHC_TF_11		0x18

/* NH (next header) */
#define NET_6LO_IPHC_NH_0		0x00
#define NET_6LO_IPHC_NH_1		0x04

/* HLIM (Hop Limit) */
#define NET_6LO_IPHC_HLIM		0x00 /* 00 */
#define NET_6LO_IPHC_HLIM1		0x01 /* 01 */
#define NET_6LO_IPHC_HLIM64		0x02 /* 10 */
#define NET_6LO_IPHC_HLIM255		0x03 /* 11 */

/* CID (Context Identifier Extension) */
#define NET_6LO_IPHC_CID_0		0x00
#define NET_6LO_IPHC_CID_1		0x80

/* SAC (Source Address Compression) */
#define NET_6LO_IPHC_SAC_0		0x00
#define NET_6LO_IPHC_SAC_1		0x40

/* SAM (Source Address Mode) */
#define NET_6LO_IPHC_SAM_00		0x00
#define NET_6LO_IPHC_SAM_01		0x10
#define NET_6LO_IPHC_SAM_10		0x20
#define NET_6LO_IPHC_SAM_11		0x30

/* M (Multicast compression) */
#define NET_6LO_IPHC_M_0		0x00
#define NET_6LO_IPHC_M_1		0x08

/* DAC (Destination Address Compression) */
#define NET_6LO_IPHC_DAC_0		0x00
#define NET_6LO_IPHC_DAC_1		0x04

/* DAM (Destination Address Mode) */
#define NET_6LO_IPHC_DAM_00		0x00
#define NET_6LO_IPHC_DAM_01		0x01
#define NET_6LO_IPHC_DAM_10		0x02
#define NET_6LO_IPHC_DAM_11		0x03

/* Next Header UDP */
#define NET_6LO_NHC_UDP_BARE		0xF0

#define NET_6LO_NHC_UDP_CHKSUM_0	0x00
#define NET_6LO_NHC_UDP_CHKSUM_1	0x08

#define NET_6LO_NHC_UDP_PORT_00		0x00
#define NET_6LO_NHC_UDP_PORT_01		0x01
#define NET_6LO_NHC_UDP_PORT_10		0x02
#define NET_6LO_NHC_UDP_PORT_11		0x03

#define NET_6LO_NHC_UDP_8_BIT_PORT	0xF0
#define NET_6LO_NHC_UDP_4_BIT_PORT	0xF0B

#define IPHC ((frag)->data)
#define CIPHC ((pkt->frags)->data)

#define NET_6LO_FRAG1_HDR_LEN		4
#define NET_6LO_FRAGN_HDR_LEN		5

#define NET_6LO_FRAG_DATAGRAM_SIZE_LEN		2
#define NET_6LO_FRAG_DATAGRAM_OFFSET_LEN	2

/* Timeout when getting net_buf in RX path. In RX, we must not wait forever as
 * that can cause the stack to deadlock. This can happen if RX side is flooding
 * incoming data and we cannot get process the packet in 6lo side.
 */
#define NET_6LO_RX_PKT_TIMEOUT 100 /* in ms */
