From 34afb764077768a361d76256fb05cbba172de223 Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Fri, 21 Jul 2017 20:57:47 +0200 Subject: [PATCH] system-linux: fix GRE ikey/okey endianness The kernel expects IFLA_GRE_IKEY and IFLA_GRE_OKEY to be in network byte order, so convert the values from host byte order. Fixes ikey/okey on little endian systems. Signed-off-by: Stijn Tintel --- system-linux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system-linux.c b/system-linux.c index f7704cf..483a98d 100644 --- a/system-linux.c +++ b/system-linux.c @@ -2446,10 +2446,10 @@ static int system_add_gre_tunnel(const char *name, const char *kind, nla_put_u16(nlm, IFLA_GRE_IFLAGS, iflags); if (okey) - nla_put_u32(nlm, IFLA_GRE_OKEY, okey); + nla_put_u32(nlm, IFLA_GRE_OKEY, htonl(okey)); if (ikey) - nla_put_u32(nlm, IFLA_GRE_IKEY, ikey); + nla_put_u32(nlm, IFLA_GRE_IKEY, htonl(ikey)); nla_nest_end(nlm, infodata); nla_nest_end(nlm, linkinfo); -- 2.11.0