aboutsummaryrefslogtreecommitdiffstats
path: root/net/6lowpan/nhc_udp.c
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2015-10-20 08:31:22 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-10-21 00:49:25 +0200
commit6350047eb8dbd3dcf0ff29a637ece96db8f59d8d (patch)
treef6cd61e1ddf0b7602e1d73c0e929dbf5958a7cbd /net/6lowpan/nhc_udp.c
parent6lowpan: nhc: move iphc manipulation out of nhc (diff)
downloadlinux-dev-6350047eb8dbd3dcf0ff29a637ece96db8f59d8d.tar.xz
linux-dev-6350047eb8dbd3dcf0ff29a637ece96db8f59d8d.zip
6lowpan: move IPHC functionality defines
This patch removes the IPHC related defines for doing bit manipulation from global 6lowpan header to the iphc file which should the only one implementation which use these defines. Also move next header compression defines to their nhc implementation. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/6lowpan/nhc_udp.c')
-rw-r--r--net/6lowpan/nhc_udp.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/net/6lowpan/nhc_udp.c b/net/6lowpan/nhc_udp.c
index 72d0b57eb6e5..69537a2eaab1 100644
--- a/net/6lowpan/nhc_udp.c
+++ b/net/6lowpan/nhc_udp.c
@@ -17,7 +17,27 @@
#include "nhc.h"
-#define LOWPAN_NHC_UDP_IDLEN 1
+#define LOWPAN_NHC_UDP_MASK 0xF8
+#define LOWPAN_NHC_UDP_ID 0xF0
+#define LOWPAN_NHC_UDP_IDLEN 1
+
+#define LOWPAN_NHC_UDP_4BIT_PORT 0xF0B0
+#define LOWPAN_NHC_UDP_4BIT_MASK 0xFFF0
+#define LOWPAN_NHC_UDP_8BIT_PORT 0xF000
+#define LOWPAN_NHC_UDP_8BIT_MASK 0xFF00
+
+/* values for port compression, _with checksum_ ie bit 5 set to 0 */
+
+/* all inline */
+#define LOWPAN_NHC_UDP_CS_P_00 0xF0
+/* source 16bit inline, dest = 0xF0 + 8 bit inline */
+#define LOWPAN_NHC_UDP_CS_P_01 0xF1
+/* source = 0xF0 + 8bit inline, dest = 16 bit inline */
+#define LOWPAN_NHC_UDP_CS_P_10 0xF2
+/* source & dest = 0xF0B + 4bit inline */
+#define LOWPAN_NHC_UDP_CS_P_11 0xF3
+/* checksum elided */
+#define LOWPAN_NHC_UDP_CS_C 0x04
static int udp_uncompress(struct sk_buff *skb, size_t needed)
{