Files
Sachin Tiptur cb9fc3025a Add DHCP relay program.
Initial working version of DHCP relay using XDP is created. Currently, this code
has user program and a xdp ebpf program. User program takes network interface and
dhcp relay server IP as inputs and store it in a map. XDP program filters the
incoming DHCP requests and inserts option 82 in the DHCP request packets and
overwrites the destination IP to that of DHCP relay server IP.An optional argu
-ment for user program is also provided to unload the xdp program.

README file provides to instructions to build and load the xdp program.

Signed-off-by: Sachin Tiptur <sachin.tiptur.satyanarayana.gupta@hof-university.de>
[ whitespace fixes ]
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2021-06-21 22:51:57 +02:00
..
2021-06-21 22:51:57 +02:00
2021-06-21 22:51:57 +02:00
2021-06-21 22:51:57 +02:00
2021-06-21 22:51:57 +02:00
2021-06-21 22:51:57 +02:00
2021-06-21 22:51:57 +02:00

Usage
-----
dhcp_user_xdp takes network interface and dhcp relay server IP
as inputs and stores it in a map. Filters the incoming DHCP requests and inserts
option 82 in the DHCP request packets and overwrites the destination IP to that
of DHCP relay server IP.

Build instructions:
cd bpf-examples/dhcp-relay
make

Loading bpf program:
sudo ./dhcp_user_xdp -i <netif> -d <dhcp relay IP>
where,
netif: Ingress network interface name

unloading program:
sudo ./dhcp_user_xdp -i <netif> -u 

To run in SKB mode:
add option "-m skb" for both load and uload commands

Verify using tcpdump:
sudo tcpdump -s 0 -i <netif> port 67 and port 68 -vvv