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