On 6/5/2015 9:51 AM, Alain Ritoux wrote:


On 06/05/2015 04:28 PM, Jafar Al-Gharaibeh wrote:

Except that it doesn't index a table really, it does index a "domain"
(for lack of a better term) where multiple tables can live.
No, it really indexes a logical-table (ex-domain); the way the
logical-table is mapped into one of the numerous kernel tables
is the "low" part.

In the patchset we propose, we offer to map the logical-table
to the linux "main" table of a specific netns. If someone wants
to use it to populate a specific table of the basic netns, it's
fine, he just has to provide the code to configure the lower part
but the "upper" part, i.e. the handling of multiple RIB will stay
unchanged.

for example it could be
   # current implementation
   # this means "main" table netns "VRF1"
   logical-table 1 netsn /var/run/VRF1

   # possible extensions

   # this means table #3 in defaut netns
   logical-table 1 table 3

   # this means table #3 in netns VRF1
   logical-table 1  netsn /var/run/VRF1 table 3

But the way/cli/ZAPI to add static routes to logical-tabla 1 or
the way for a routing protocol, to populate this table must stay
unchanged, whatever the logical-table represents (nested netns /
tables / etc.)


Are you describing a 1-to-1 mapping between logical-tables(VRF) and kernel-tables?

I know that this is what the VRF patch provides at the moment, but part of the discussion earlier was the possibility of having multiple tables in each VRF, though we probably didn't explicitly state if we are talking about VRFs at the kernel side or at Quagga side. Maybe the use of the VRF term caused the confusion. Using your syntax I could do:

   logical-table 1  netsn /var/run/VRF1 table 1
   logical-table 2  netsn /var/run/VRF1 table 2
   logical-table 3  netsn /var/run/VRF1 table 3

   logical-table 4  netsn /var/run/VRF2 table 1
   logical-table 5  netsn /var/run/VRF2 table 2
   logical-table 6  netsn /var/run/VRF2 table 3

This means we have two VRFs at the kernel side with three tables each. In this case, Quagga doesn't really care (does it need to?) if logical tables 1 & 2 are within the same VRF or if tables 3 & 4 are in two separates VRFs. Is that correct?

Regards,
Jafar








_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to