From b2d1ff8b81188be3c0338b87a705f8387d207d3f Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 7 Sep 2015 16:21:15 +0000 Subject: map: ignore insignificant PSID bits Signed-off-by: Steven Barth git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46804 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/network/ipv6/map/src/mapcalc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'package/network/ipv6/map/src') diff --git a/package/network/ipv6/map/src/mapcalc.c b/package/network/ipv6/map/src/mapcalc.c index b9fab4d923..7aa28e57d5 100644 --- a/package/network/ipv6/map/src/mapcalc.c +++ b/package/network/ipv6/map/src/mapcalc.c @@ -314,7 +314,9 @@ int main(int argc, char *argv[]) psid = be16_to_cpu(psid16); } - psid16 = cpu_to_be16(psid >> (16 - psidlen)); + psid = psid >> (16 - psidlen); + psid16 = cpu_to_be16(psid); + psid = psid << (16 - psidlen); if (prefix4len < 0 || prefix6len < 0 || ealen < 0 || ealen < psidlen) { fprintf(stderr, "Skipping invalid or incomplete rule: %s\n", argv[i]); -- cgit v1.2.3