On Tue, 2 May 2023 00:25:29 +0800 Vladimir Nikishkin vladimir@nikishkin.pw wrote:
If a packet needs to be encapsulated towards a local destination IP and a VXLAN device that matches the destination port and VNI exists, then the packet will be injected into the Rx path as if it was received by the target VXLAN device without undergoing encapsulation. If such a device does not exist, the packet will be dropped.
There are scenarios where we do not want to drop such packets and instead want to let them be encapsulated and locally received by a user space program that post-processes these VXLAN packets.
To that end, add a new VXLAN device attribute that controls whether such packets are dropped or not. When set ("localbypass") these packets are dropped and when unset ("nolocalbypass") the packets are encapsulated and locally delivered to the listening user space application. Default to "localbypass" to maintain existing behavior.
Signed-off-by: Vladimir Nikishkin vladimir@nikishkin.pw
Is there some way to use BPF for this. Rather than a special case for some userspace program?