0005-lldp-add-packed-struct-definition.patch 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. From 702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c Mon Sep 17 00:00:00 2001
  2. From: Aaron Conole <aconole@redhat.com>
  3. Date: Mon, 3 Aug 2020 15:14:50 -0400
  4. Subject: [PATCH] lldp: add packed struct definition
  5. Signed-off-by: Aaron Conole <aconole@redhat.com>
  6. [Retrieved from:
  7. https://github.com/intel/openlldp/pull/55/commits/702dd20f43d9ca7e0bcb917e8acfec3f1acdcb5c]
  8. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  9. ---
  10. include/lldp.h | 6 ++++++
  11. lldp/l2_packet.h | 5 ++---
  12. 2 files changed, 8 insertions(+), 3 deletions(-)
  13. diff --git a/include/lldp.h b/include/lldp.h
  14. index fb5ee93..de6a4ad 100644
  15. --- a/include/lldp.h
  16. +++ b/include/lldp.h
  17. @@ -255,5 +255,11 @@ enum {
  18. #define LLDP_EVB_DEFAULT_RTE 15
  19. #define LLDP_EVB_DEFAULT_MAX_RTE 31
  20. +#ifndef _MSC_VER
  21. +#define STRUCT_PACKED(STRUCT) STRUCT __attribute__((__packed__))
  22. +#else
  23. +#define STRUCT_PACKED(STRUCT) __pragma(pack(push, 1)) STRUCT __pragma(pack(pop))
  24. +#endif
  25. +
  26. void somethingChangedLocal(const char *ifname, int type);
  27. #endif /* _LLDP_H */
  28. diff --git a/lldp/l2_packet.h b/lldp/l2_packet.h
  29. index 607b8a3..831958c 100644
  30. --- a/lldp/l2_packet.h
  31. +++ b/lldp/l2_packet.h
  32. @@ -58,12 +58,11 @@
  33. */
  34. struct l2_packet_data;
  35. -
  36. -struct l2_ethhdr {
  37. +STRUCT_PACKED(struct l2_ethhdr {
  38. u8 h_dest[ETH_ALEN];
  39. u8 h_source[ETH_ALEN];
  40. u16 h_proto;
  41. -} STRUCT_PACKED;
  42. +});
  43. /**
  44. * l2_packet_init - Initialize l2_packet interface