Commit 07d46d93 authored by Justin Iurman's avatar Justin Iurman Committed by Jakub Kicinski
Browse files

uapi: fix big endian definition of ipv6_rpl_sr_hdr

Following RFC 6554 [1], the current order of fields is wrong for big
endian definition. Indeed, here is how the header looks like:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Next Header  |  Hdr Ext Len  | Routing Type  | Segments Left |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CmprI | CmprE |  Pad  |               Reserved                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

This patch reorders fields so that big endian definition is now correct.

  [1] https://tools.ietf.org/html/rfc6554#section-3



Fixes: cfa933d9 ("include: uapi: linux: add rpl sr header definition")
Signed-off-by: default avatarJustin Iurman <justin.iurman@uliege.be>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 62d9f1a6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -28,10 +28,10 @@ struct ipv6_rpl_sr_hdr {
		pad:4,
		reserved1:16;
#elif defined(__BIG_ENDIAN_BITFIELD)
	__u32	reserved:20,
	__u32	cmpri:4,
		cmpre:4,
		pad:4,
		cmpri:4,
		cmpre:4;
		reserved:20;
#else
#error  "Please fix <asm/byteorder.h>"
#endif