Hello misc,

I'm playing with rdomain/rtable on OpenBSD 7.4 and I'm a bit confused about the relation between rdomains and rtables.

If I got rdomain(4) right, the two facilities are designed so that a rdomain can hold 0-255 rtables. Even rdomain 0 -no rdomain configured- can hold several rtables. IP addresses can overlap if configured in different rdomains.

In my mind the design is somehow "hierarchical"

rdomain 0
|--> rtable 0
|--> rtable 1
|...
|--> rtable 255

rdomain 1
|--> rtable 0
|--> rtable 1
|...
|--> rtable 255

but in practice, since there's no utility to add more rtables beyond the default one per rdomain, in the current implementation OS tools (pf, route, ifconfig, daemons etc...) take advantage of these facilities in a "flat" way:

rdomain 0
|--> rtable 0

rdomain 1
|--> rtable 0

and so on, where rtables are numbered after their containing rdomain. Documentation refers to rdomains when it's appropriate to think about a logical segment of the routing space, while it refers to rtables when the concept is "do something with routing table number XXX".

So while in theory one should think about rdomains first and then about the rtables that belong to each of them, in current usage they're the same thing: $tool -T $number and don't bother.

But...I read the slides presented by Peter Hessler (thank you) at EuroBSD 2012 and everything was clear...well, until I came to slide 16 and pf ruleset "pass in on rdomain 2 rtable 4" (1). I'm puzzled: how can I "create" rtable 4 inside rdomain 2?

Thanks and I apologize for my lack of brevity.

f.

1: https://www.openbsd.org/papers/eurobsd2012/phessler-rdomains/mgp00016.html

Reply via email to