summaryrefslogtreecommitdiff
path: root/net/6lowpan/nhc_ghc_icmpv6.c
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2022-04-28 06:05:33 +0300
committerStefan Schmidt <stefan@datenfreihafen.org>2022-06-09 22:53:28 +0300
commit31264f9563e6c2b2f895582e0632881cbc197af9 (patch)
tree8b70f8a6e007a07edb36666812342415e9aa6935 /net/6lowpan/nhc_ghc_icmpv6.c
parenteb9edf4366a2364b626c000b9ac720b0c13a551c (diff)
downloadlinux-31264f9563e6c2b2f895582e0632881cbc197af9.tar.xz
net: 6lowpan: use array for find nhc id
This patch will remove the complete overengineered and overthinking rb data structure for looking up the nhc by nhcid. Instead we using the existing nhc next header array and iterate over it. It works now for 1 byte values only. However there are only 1 byte nhc id values currently supported and IANA also does not specify large than 1 byte values yet. If there are 2 byte values for nhc ids specified we can revisit this data structure and add support for it. Signed-off-by: Alexander Aring <aahringo@redhat.com> Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com> Link: https://lore.kernel.org/r/20220428030534.3220410-3-aahringo@redhat.com Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Diffstat (limited to 'net/6lowpan/nhc_ghc_icmpv6.c')
-rw-r--r--net/6lowpan/nhc_ghc_icmpv6.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/net/6lowpan/nhc_ghc_icmpv6.c b/net/6lowpan/nhc_ghc_icmpv6.c
index 339ceffc25a9..1634f3eb0be8 100644
--- a/net/6lowpan/nhc_ghc_icmpv6.c
+++ b/net/6lowpan/nhc_ghc_icmpv6.c
@@ -5,18 +5,11 @@
#include "nhc.h"
-#define LOWPAN_GHC_ICMPV6_IDLEN 1
#define LOWPAN_GHC_ICMPV6_ID_0 0xdf
#define LOWPAN_GHC_ICMPV6_MASK_0 0xff
-static void icmpv6_ghid_setup(struct lowpan_nhc *nhc)
-{
- nhc->id[0] = LOWPAN_GHC_ICMPV6_ID_0;
- nhc->idmask[0] = LOWPAN_GHC_ICMPV6_MASK_0;
-}
-
LOWPAN_NHC(ghc_icmpv6, "RFC7400 ICMPv6", NEXTHDR_ICMP, 0,
- icmpv6_ghid_setup, LOWPAN_GHC_ICMPV6_IDLEN, NULL, NULL);
+ LOWPAN_GHC_ICMPV6_ID_0, LOWPAN_GHC_ICMPV6_MASK_0, NULL, NULL);
module_lowpan_nhc(ghc_icmpv6);
MODULE_DESCRIPTION("6LoWPAN generic header ICMPv6 compression");