Index: /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv4/lwip/icmp.h
===================================================================
--- /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv4/lwip/icmp.h	(revision 85318)
+++ /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv4/lwip/icmp.h	(revision 85319)
@@ -82,4 +82,14 @@
  *  use the data part.
  */
+#ifdef VBOX /* Clang 11 takes offence when member addresses are taken (id).  Packing not needed, so just dispense with it. */
+struct icmp_echo_hdr {
+  u8_t type;
+  u8_t code;
+  u16_t chksum;
+  u16_t id;
+  u16_t seqno;
+};
+AssertCompileSize(struct icmp_echo_hdr, sizeof(uint32_t)*2);
+#else
 PACK_STRUCT_BEGIN
 struct icmp_echo_hdr {
@@ -94,4 +104,5 @@
 #  include "arch/epstruct.h"
 #endif
+#endif /* VBOX */
 
 #define ICMPH_TYPE(hdr) ((hdr)->type)
Index: /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv6/lwip/icmp6.h
===================================================================
--- /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv6/lwip/icmp6.h	(revision 85318)
+++ /trunk/src/VBox/Devices/Network/lwip-new/src/include/ipv6/lwip/icmp6.h	(revision 85319)
@@ -117,4 +117,14 @@
 
 /** This is the ICMP6 header adapted for echo req/resp. */
+#ifdef VBOX /* Clang 11 takes offence when member addresses are taken (id).  Packing not needed, so just dispense with it. */
+struct icmp6_echo_hdr {
+  u8_t type;
+  u8_t code;
+  u16_t chksum;
+  u16_t id;
+  u16_t seqno;
+};
+AssertCompileSize(struct icmp6_echo_hdr, sizeof(uint32_t) * 2);
+#else
 #ifdef PACK_STRUCT_USE_INCLUDES
 #  include "arch/bpstruct.h"
@@ -132,4 +142,5 @@
 #  include "arch/epstruct.h"
 #endif
+#endif /* VBOX */
 
 
