From 702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c Mon Sep 17 00:00:00 2001 From: Aaron Conole Date: Mon, 3 Aug 2020 15:14:50 -0400 Subject: [PATCH] lldp: add packed struct definition Signed-off-by: Aaron Conole [Retrieved from: https://github.com/intel/openlldp/pull/55/commits/702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c] Signed-off-by: Fabrice Fontaine --- include/lldp.h | 6 ++++++ lldp/l2_packet.h | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/lldp.h b/include/lldp.h index fb5ee93..de6a4ad 100644 --- a/include/lldp.h +++ b/include/lldp.h @@ -255,5 +255,11 @@ enum { #define LLDP_EVB_DEFAULT_RTE 15 #define LLDP_EVB_DEFAULT_MAX_RTE 31 +#ifndef _MSC_VER +#define STRUCT_PACKED(STRUCT) STRUCT __attribute__((__packed__)) +#else +#define STRUCT_PACKED(STRUCT) __pragma(pack(push, 1)) STRUCT __pragma(pack(pop)) +#endif + void somethingChangedLocal(const char *ifname, int type); #endif /* _LLDP_H */ diff --git a/lldp/l2_packet.h b/lldp/l2_packet.h index 607b8a3..831958c 100644 --- a/lldp/l2_packet.h +++ b/lldp/l2_packet.h @@ -58,12 +58,11 @@ */ struct l2_packet_data; - -struct l2_ethhdr { +STRUCT_PACKED(struct l2_ethhdr { u8 h_dest[ETH_ALEN]; u8 h_source[ETH_ALEN]; u16 h_proto; -} STRUCT_PACKED; +}); /** * l2_packet_init - Initialize l2_packet interface