108f71a1eSMartynas Pumputis // SPDX-License-Identifier: GPL-2.0
208f71a1eSMartynas Pumputis /* Copyright (c) 2021 Isovalent, Inc. */
308f71a1eSMartynas Pumputis #include <linux/bpf.h>
408f71a1eSMartynas Pumputis #include <bpf/bpf_helpers.h>
508f71a1eSMartynas Pumputis 
608f71a1eSMartynas Pumputis struct inner {
708f71a1eSMartynas Pumputis 	__uint(type, BPF_MAP_TYPE_ARRAY);
808f71a1eSMartynas Pumputis 	__type(key, __u32);
908f71a1eSMartynas Pumputis 	__type(value, int);
1008f71a1eSMartynas Pumputis 	__uint(max_entries, 4);
1108f71a1eSMartynas Pumputis };
1208f71a1eSMartynas Pumputis 
1308f71a1eSMartynas Pumputis struct {
1408f71a1eSMartynas Pumputis 	__uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS);
1508f71a1eSMartynas Pumputis 	__uint(max_entries, 0); /* This will make map creation to fail */
16*bd368cb5SHengqi Chen 	__type(key, __u32);
1708f71a1eSMartynas Pumputis 	__array(values, struct inner);
1808f71a1eSMartynas Pumputis } mim SEC(".maps");
1908f71a1eSMartynas Pumputis 
2008f71a1eSMartynas Pumputis SEC("xdp")
xdp_noop0(struct xdp_md * ctx)2108f71a1eSMartynas Pumputis int xdp_noop0(struct xdp_md *ctx)
2208f71a1eSMartynas Pumputis {
2308f71a1eSMartynas Pumputis 	return XDP_PASS;
2408f71a1eSMartynas Pumputis }
2508f71a1eSMartynas Pumputis 
2608f71a1eSMartynas Pumputis char _license[] SEC("license") = "GPL";
27