summaryrefslogtreecommitdiffstats
path: root/net/6lowpan/nhc.c
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2015-10-20 08:31:21 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-10-21 00:49:25 +0200
commit607b0bd3f2b9ac118f2c67dbd18c55f1f5aefeb1 (patch)
treea468c264189290359c05bb38b8603dae90e9ff70 /net/6lowpan/nhc.c
parent478208e3b9988adc7ec2c480f237049aaf7c4609 (diff)
downloadop-kernel-dev-607b0bd3f2b9ac118f2c67dbd18c55f1f5aefeb1.zip
op-kernel-dev-607b0bd3f2b9ac118f2c67dbd18c55f1f5aefeb1.tar.gz
6lowpan: nhc: move iphc manipulation out of nhc
This patch moves the iphc setting of next header commpression bit inside iphc functionality. Setting of IPHC bits should be happen at iphc.c file only. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/6lowpan/nhc.c')
-rw-r--r--net/6lowpan/nhc.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/net/6lowpan/nhc.c b/net/6lowpan/nhc.c
index 589224e..7008d53 100644
--- a/net/6lowpan/nhc.c
+++ b/net/6lowpan/nhc.c
@@ -95,23 +95,20 @@ static struct lowpan_nhc *lowpan_nhc_by_nhcid(const struct sk_buff *skb)
}
int lowpan_nhc_check_compression(struct sk_buff *skb,
- const struct ipv6hdr *hdr, u8 **hc_ptr,
- u8 *iphc0)
+ const struct ipv6hdr *hdr, u8 **hc_ptr)
{
struct lowpan_nhc *nhc;
+ int ret = 0;
spin_lock_bh(&lowpan_nhc_lock);
nhc = lowpan_nexthdr_nhcs[hdr->nexthdr];
- if (nhc && nhc->compress)
- *iphc0 |= LOWPAN_IPHC_NH_C;
- else
- lowpan_push_hc_data(hc_ptr, &hdr->nexthdr,
- sizeof(hdr->nexthdr));
+ if (!(nhc && nhc->compress))
+ ret = -ENOENT;
spin_unlock_bh(&lowpan_nhc_lock);
- return 0;
+ return ret;
}
int lowpan_nhc_do_compression(struct sk_buff *skb, const struct ipv6hdr *hdr,
OpenPOWER on IntegriCloud