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