❦ 14 septembre 2016 16:15 CEST, David Ahern <[email protected]> :
>> When a user wants to assign a routing table to a group of incoming
>> interfaces, the current solutions are:
>>
>> - one IP rule for each interface (scalability problems)
>> - use of fwmark and devgroup matcher (don't work with internal route
>> lookups, used for example by RPF)
>> - use of VRF devices (more complex)
>
> Why do you believe that? A VRF is a formalized grouping of interfaces
> that includes an API for locally generated traffic to specify which
> VRF/group to use. And, with the l3mdev rule you only need 1 rule for
> all VRFs regardless of the number which is the best solution to the
> scalability problem of adding rules per device/group/VRF.
>
> What use case are trying to solve?
Local processes have to be made aware of the VRF by binding to the
pseudo-device. Some processes may be tricked by LD_PRELOAD but some
won't (like stuff written in Go). Maybe I should just find a better way
to bind a process to a VRF without its cooperation.
--
Instrument your programs. Measure before making "efficiency" changes.
- The Elements of Programming Style (Kernighan & Plauger)