• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * @file
3  * 6LowPAN options list
4  */
5 
6 /*
7  * Copyright (c) 2015 Inico Technologies Ltd.
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without modification,
11  * are permitted provided that the following conditions are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright notice,
14  *    this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright notice,
16  *    this list of conditions and the following disclaimer in the documentation
17  *    and/or other materials provided with the distribution.
18  * 3. The name of the author may not be used to endorse or promote products
19  *    derived from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
22  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
23  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
24  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
26  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
30  * OF SUCH DAMAGE.
31  *
32  * This file is part of the lwIP TCP/IP stack.
33  *
34  * Author: Ivan Delamer <delamer@inicotech.com>
35  *
36  *
37  * Please coordinate changes and requests with Ivan Delamer
38  * <delamer@inicotech.com>
39  */
40 
41 #ifndef LWIP_HDR_LOWPAN6_OPTS_H
42 #define LWIP_HDR_LOWPAN6_OPTS_H
43 
44 #include "lwip/opt.h"
45 
46 #define LOWPAN_LINK_LAYER_TYPE_RF 1
47 #define LOWPAN_LINK_LAYER_TYPE_PLC 2
48 
49 /*
50  * This configuration will enable the 6lowpan layer processing for the IPv6
51  * traffic. 6lopwan enables the IPv6 packets to sned over the link whose MTU is
52  * less than the default IPv6 MTU.
53  */
54 #ifndef LWIP_6LOWPAN
55 #define LWIP_6LOWPAN                     1
56 #endif
57 
58 /*
59  * This configuration will enable the 6lowpan layer statistics.
60  */
61 #if !defined LOWPAN6_STATS || defined __DOXYGEN__
62 #define LOWPAN6_STATS        (LWIP_STATS && LWIP_IPV6 && LWIP_6LOWPAN)
63 #endif
64 
65 #define LWIP_6LOWPAN_MAX_CTXID 15
66 
67 /*
68  * Defines the number of 6lowpan contexts that can be added to the 6lowpan layer.
69  */
70 #ifndef LWIP_6LOWPAN_NUM_CONTEXTS
71 #define LWIP_6LOWPAN_NUM_CONTEXTS        10
72 #endif
73 
74 #ifndef LWIP_6LOWPAN_INFER_SHORT_ADDRESS
75 #define LWIP_6LOWPAN_INFER_SHORT_ADDRESS 1
76 #endif
77 
78 #ifndef LWIP_6LOWPAN_IPHC
79 #define LWIP_6LOWPAN_IPHC                1
80 #endif
81 
82 #ifndef LWIP_6LOWPAN_HW_CRC
83 #define LWIP_6LOWPAN_HW_CRC              1
84 #endif
85 /*
86  * Enables debug log for 6lowpan module.
87  */
88 #ifndef LOWPAN6_DEBUG
89 #define LOWPAN6_DEBUG                    LWIP_DBG_OFF
90 #endif
91 
92 /*
93  * Defines the MTU of PLC link.
94  */
95 #ifndef LOWPAN6_PLC_MAX_LINK_MTU
96 #define LOWPAN6_PLC_MAX_LINK_MTU 512
97 #endif
98 
99 /*
100  * Defines the MTU of RF link.
101  */
102 #ifndef LOWPAN6_RF_MAX_LINK_MTU
103 #define LOWPAN6_RF_MAX_LINK_MTU 128
104 #endif
105 
106 /*
107  * Defines the MAC layer overhead for PLC link.
108  */
109 #ifndef LOWPAN6_PLC_MAC_FIXED_OVERHEAD
110 #define LOWPAN6_PLC_MAC_FIXED_OVERHEAD 16
111 #endif
112 
113 /*
114  * Defines the MAC layer overhead for PLC link.
115  */
116 #ifndef LOWPAN6_RF_MAC_FIXED_OVERHEAD
117 #define LOWPAN6_RF_MAC_FIXED_OVERHEAD 23
118 #endif
119 
120 /*
121  * Defines the maximum IPv6 MTU over PLC link.
122  */
123 #ifndef LOWPAN6_IPV6_MAX_MTU_OVER_IEE802154
124 #define LOWPAN6_IPV6_MAX_MTU_OVER_IEE802154 1280
125 #endif
126 
127 /*
128  * Defines the maximum IPv6 MTU over RF link.
129  */
130 #ifndef LOWPAN6_IPV6_MAX_MTU_OVER_PLC
131 #define LOWPAN6_IPV6_MAX_MTU_OVER_PLC 1280
132 #endif
133 
134 #endif /* LWIP_HDR_LOWPAN6_OPTS_H */
135