Hi,

I'm trying to send route packets in VPP into a vxlan tunnel. I have it
working, but I'm wondering if there's some cleaner adjacency magic to
make things nicer.

Right now I have a bunch of packets, that I want tunneled somewhere
else. These all have the destination ip 10.0.0.0/24.

I created the vxlan tunnel and a loopback on a bridge domain.
<snip>
create vxlan tunnel src 192.168.0.1 dst 192.168.0.2 vni 139
loopback create mac de:ad:be:ef:00:05
set int state loop0 up
set int l2 bridge vxlan_tunnel0 13 1
set int l2 bridge loop0 13 bvi
set int ip table loop0 1
set int ip table vxlan_tunnel0 1
</snip>

I want traffic on vrf 1 with dst ip 10.0.0.0/24 to go into the tunnel,
so I added a route
ip route add table 1 10.0.0.0/24 via loop0

This ended up encapsulating the packets, but only from the ip header
onwards. OVS is catching the packet at the other end, and ethernet
headers are expected even though the addressing is ignored, so I had
to add a rewrite, which would just add a dummy eth header.
ip route add table 1 10.0.0.0/24 via loop0 0xdeadbeef0003deadbeef00040800

I'm wondering is there any cleaner way basically say, route to this
node, shift the buffer pointer back to the start of the ethernet
header. Similarly, I'd like to have the vxlan tunnel dump straight
into ip4-lookup, rather than having to go through l2 handling. Is this
possible?

This is on 16.09 btw, so no fib2.

Regards
Ivan
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to