github.com/cilium/cilium@v1.16.2/pkg/alignchecker/testdata/bpf_foo.c (about)

     1  // SPDX-License-Identifier: GPL-2.0
     2  /* Copyright Authors of Cilium */
     3  
     4  // To compile: make -C bpf testdata in repo root.
     5  
     6  #include <linux/types.h>
     7  
     8  union v6addr {
     9    struct {
    10      __u32 p1;
    11      __u32 p2;
    12      __u32 p3;
    13      __u32 p4;
    14    };
    15    __u8 addr[16];
    16  };
    17  
    18  struct foo {
    19    union {
    20      struct {
    21        __u32 ip4;
    22        __u32 pad1;
    23        __u32 pad2;
    24        __u32 pad3;
    25      };
    26      union v6addr ip6;
    27    };
    28    union {
    29      __u32 p1;
    30      __u32 p2;
    31    };
    32    __u8 family;
    33    __u8 pad4;
    34    __u16 pad5;
    35  } __attribute__((packed));
    36  
    37  struct foo _1;
    38  union v6addr _2;