set -x

ip netns del ip4
ip netns del vxlan

ip netns add ip4
ip link add name ip4ns type veth peer name ip4dp
ip link set netns ip4 dev ip4ns
ip link set up ip4dp
ip netns exec ip4 ip link set up dev lo
ip netns exec ip4 ip link set up dev ip4ns

ip netns exec ip4 ip link set address de:ad:be:ef:00:01 dev ip4ns
ip netns exec ip4 ip address add 20.0.0.1/24 dev ip4ns
ip netns exec ip4 ip address add 40.0.0.1/24 dev lo
ip netns exec ip4 ip r add default via 20.0.0.2 src 40.0.0.1

# setup vxlan namespace
ip netns add vxlan
ip l add name vxlanns type veth peer name vxlandp
ip l set netns vxlan dev vxlanns
ip l set up dev vxlandp
ip netns exec vxlan ip l set up dev lo
ip netns exec vxlan ip l set up dev vxlanns

ip netns exec vxlan ip l set address de:ad:be:ef:00:02 dev vxlanns
ip netns exec vxlan ip a add 169.254.0.2/24 dev vxlanns
ip netns exec vxlan ip a add 192.168.0.1/24 dev lo
ip netns exec vxlan ip l add tun type vxlan id 139 dev vxlanns remote 169.254.0.1 local 169.254.0.2 srcport 4789 4789 dstport 4789
ip netns exec vxlan ip l set address de:ad:be:ef:00:03 dev tun
ip netns exec vxlan ip l set up dev tun
ip netns exec vxlan ip r add default dev tun src 192.168.0.1

