140123Sdes// SPDX-License-Identifier: GPL-2.0
266830Sobrien
3126310Smtm#include <linux/bpf.h>
466830Sobrien#include <bpf/bpf_helpers.h>
566830Sobrien
666830Sobrienstruct {
766830Sobrien	__uint(type, BPF_MAP_TYPE_DEVMAP);
866830Sobrien	__uint(max_entries, 8);
966830Sobrien	__uint(key_size, sizeof(int));
1066830Sobrien	__uint(value_size, sizeof(int));
1166830Sobrien} tx_port SEC(".maps");
1266830Sobrien
1366830SobrienSEC("redirect_map_0")
1466830Sobrienint xdp_redirect_map_0(struct xdp_md *xdp)
1566830Sobrien{
1666830Sobrien	return bpf_redirect_map(&tx_port, 0, 0);
1766830Sobrien}
1866830Sobrien
1966830SobrienSEC("redirect_map_1")
2066830Sobrienint xdp_redirect_map_1(struct xdp_md *xdp)
2166830Sobrien{
2266830Sobrien	return bpf_redirect_map(&tx_port, 1, 0);
2366830Sobrien}
2466830Sobrien
2566830SobrienSEC("redirect_map_2")
2666830Sobrienint xdp_redirect_map_2(struct xdp_md *xdp)
2783871Sobrien{
2850472Speter	return bpf_redirect_map(&tx_port, 2, 0);
2966830Sobrien}
3037Srgrimes
3137Srgrimeschar _license[] SEC("license") = "GPL";
3237Srgrimes