From ca4d1604b18abf7189ecfd5e06cb74abc3694076 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Thu, 16 Jan 2020 18:40:52 +0100 Subject: [PATCH] xfrm: spi is big-endian Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1790963 Upstream Status: nftables commit 488356b895024 commit 488356b895024d0944b20feb1f930558726e0877 Author: Florian Westphal Date: Tue Jan 14 13:37:28 2020 +0100 xfrm: spi is big-endian the kernel stores spi in a __be32, so fix up the byteorder annotation. Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/xfrm.c | 2 +- tests/py/inet/ipsec.t.payload | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/xfrm.c b/src/xfrm.c index 4dd53c3..336e8c9 100644 --- a/src/xfrm.c +++ b/src/xfrm.c @@ -39,7 +39,7 @@ const struct xfrm_template xfrm_templates[] = { [NFT_XFRM_KEY_DADDR_IP6] = XFRM_TEMPLATE_BE("daddr", &ip6addr_type, 16 * BITS_PER_BYTE), [NFT_XFRM_KEY_SADDR_IP6] = XFRM_TEMPLATE_BE("saddr", &ip6addr_type, 16 * BITS_PER_BYTE), [NFT_XFRM_KEY_REQID] = XFRM_TEMPLATE_HE("reqid", &integer_type, 4 * BITS_PER_BYTE), - [NFT_XFRM_KEY_SPI] = XFRM_TEMPLATE_HE("spi", &integer_type, 4 * BITS_PER_BYTE), + [NFT_XFRM_KEY_SPI] = XFRM_TEMPLATE_BE("spi", &integer_type, 4 * BITS_PER_BYTE), }; static void xfrm_expr_print(const struct expr *expr, struct output_ctx *octx) diff --git a/tests/py/inet/ipsec.t.payload b/tests/py/inet/ipsec.t.payload index 6049c66..c46a226 100644 --- a/tests/py/inet/ipsec.t.payload +++ b/tests/py/inet/ipsec.t.payload @@ -16,7 +16,6 @@ ip ipsec-ip4 ipsec-input # ipsec out spi 1-561 inet ipsec-inet ipsec-post [ xfrm load out 0 spi => reg 1 ] - [ byteorder reg 1 = hton(reg 1, 4, 4) ] [ cmp gte reg 1 0x01000000 ] [ cmp lte reg 1 0x31020000 ] -- 2.31.1