mirror of
https://github.com/xdp-project/bpf-examples.git
synced 2024-05-06 15:54:53 +00:00
17 lines
696 B
Org Mode
17 lines
696 B
Org Mode
|
* NAT64 BPF implementation
|
||
|
|
||
|
This directory contains a BPF implementation of a stateless NAT64
|
||
|
implementation, like that performed by Tayga, but entirely in BPF.
|
||
|
|
||
|
Design:
|
||
|
|
||
|
- Global v6 /96 prefix defined as NAT64 prefix
|
||
|
- Each interface is assigned a v4 prefix for mapping v6 addresses
|
||
|
- Install onlink v4 route for that prefix to make sure traffic goes out the interface
|
||
|
|
||
|
- Attach ingress and egress BPF programs to each interface
|
||
|
- On ingress: match v6 packets with a NAT64 prefix destination; remap to v4
|
||
|
- On egress: lookup v4 destination address; if it's in the configured NAT64 prefix, remap back to v6
|
||
|
|
||
|
- Some logic to dynamically assign v4 addresses each time a new v6 source is seen
|