Routing enhancement - reduce routing table locking

Ingo Flaschberger if at freebsd.org
Wed Apr 6 12:41:14 UTC 2011


Hi,

regarding multipath problems:

Setup which should work:

+--------+              +--------+
|Router A|----(ospf)----|Router B|
+--------+              +--------+
      |(carp)                |(carp)
      |                      |
      +----------+-----------+
                 |
                Lan

Router A & B run quagga and exchange routing table.
Router B has during failover of carp a route to lan via ospf/router A and 
a direct connected interface.
Thus FreeBSD carp is not able to handle this correctly, I use a modified 
version of ucarp.

Testsetup:

+---------+ (em1)        +-----+
| FreeBSD |--------------|Probe|
+---------+              +-----+

Probe: 	10.13.13.95/24
FreeBSD:
 	em2: 10.11.11.100/24

++ probe answer ping
-- probe does not answer ping

Script:
--- snip ---
ifconfig em1 alias 10.13.13.90/24
ping -c 1 10.13.13.95
 	++
route add 10.13.13.0/24 10.11.11.1 -weight 2
ping -c 1 10.13.13.95
 	++
route add 10.13.13.0/24 10.11.11.2 -weight 3
ping -c 1 10.13.13.95
 	++

route delete 10.13.13.0/24 10.11.11.1
ping -c 1 10.13.13.95
 	++
route delete 10.13.13.0/24 10.11.11.2
ping -c 1 10.13.13.95
 	++
ifconfig em1 -alias 10.13.13.90
ping -c 1 10.13.13.95
 	--

route add 10.13.13.0/24 10.11.11.1 -weight 2
ping -c 1 10.13.13.95
 	--
ifconfig em1 alias 10.13.13.90/24
ping -c 1 10.13.13.95
 	++
route add 10.13.13.0/24 10.11.11.2 -weight 3
ping -c 1 10.13.13.95
 	++
ifconfig em1 -alias 10.13.13.90
ping -c 1 10.13.13.95
 	--
route delete 10.13.13.0/24 10.11.11.1
ping -c 1 10.13.13.95
 	--
route delete 10.13.13.0/24 10.11.11.2
ping -c 1 10.13.13.95
 	--

route add 10.13.13.0/24 10.11.11.1 -weight 2
ping -c 1 10.13.13.95
 	--
route add 10.13.13.0/24 10.11.11.2 -weight 3
ping -c 1 10.13.13.95
 	--
ifconfig em1 alias 10.13.13.90/24
ping -c 1 10.13.13.95
 	++
route delete 10.13.13.0/24 10.11.11.2
ping -c 1 10.13.13.95
 	++
route delete 10.13.13.0/24 10.11.11.1
ping -c 1 10.13.13.95
 	++
ifconfig em1 -alias 10.13.13.90
 	--

route add 10.13.13.0/24 10.11.11.1
ifconfig em1 alias 10.13.13.90/24
ifconfig em1 down
ifconfig em1 up
ifconfig em1 down

ifconfig em1 -alias 10.13.13.90
route delete 10.13.13.0/24 10.11.11.1

ifconfig em1 alias 10.13.13.90/24
route add 10.13.13.0/24 10.11.11.1
ifconfig em1 down
ifconfig em1 up
ifconfig em1 down
--- snap ---

If this script runs without any kernels errors (dmesg), crashes and probe 
replies accordingly - then everything is alright.

Mit freundlichen Gruessen,
 	Ingo Flaschberger

Geschaeftsleitung
____________________________________
crossip communications gmbh
A-1020 Wien, Sebastian Kneipp Gasse 1/3

Sitz der Gesellschaft: 1020 Wien, Oesterreich
Firmenbuchgericht: Handelsgericht Wien, FN 269698 s,
Umsatzsteueridentifikationsnummer (UID): ATU62080367

Haftungsausschluss / Disclaimer <http://www.xip.at/content/view/278/>


More information about the freebsd-net mailing list