Using IOVisor to resize IP packets


Mat and Helen <matandhelen@...>
 

I’m interested in the possibility of using ebpf / IOVisor to add encapsulation to IP packets, or to translate IPv4 packets to IPv6.    Either of these would require me to increase the size of the packet header.


Can you tell me whether this is possible please?   Or is it outside of the scope of what can be done with ebpf? 


Many thanks!


Brenden Blanco <bblanco@...>
 

Hi,

Doing raw resizing of a packet from eBPF is not yet possible, with the
exception of push/pop vlan header. This is a feature on my own
wishlist as well.

For encapsulation, it is possible to forward a packet to a tunnel
device (vxlan, gre, ipsec, etc.) with a criteria of your choosing. You
would end up using bpf_[clone_]redirect to pick the egress ifindex,
similar to what is done in
https://github.com/iovisor/bcc/blob/master/examples/networking/distributed_bridge/tunnel_mesh.c.

In the future hopefully this resizing will be possible.

Thanks,
Brenden

On Mon, Dec 21, 2015 at 5:36 AM, Mat and Helen via iovisor-dev
<iovisor-dev@...> wrote:
I’m interested in the possibility of using ebpf / IOVisor to add
encapsulation to IP packets, or to translate IPv4 packets to IPv6. Either
of these would require me to increase the size of the packet header.


Can you tell me whether this is possible please? Or is it outside of the
scope of what can be done with ebpf?


Many thanks!


_______________________________________________
iovisor-dev mailing list
iovisor-dev@...
https://lists.iovisor.org/mailman/listinfo/iovisor-dev