[prev in list] [next in list] [prev in thread] [next in thread]
List: quagga-users
Subject: [quagga-users 12425] Re: ospf6 between bird and quagga
From: Alex Bligh <alex () alex ! org ! uk>
Date: 2011-08-19 17:25:06
Message-ID: 2D4DD1F2BFA7208A63B323F5 () Ximines ! local
[Download RAW message or body]
> Problems that I see on the Quagga side:
Results so far below (thanks to Paul Thornton for some help)
> 1. Quagga has "redistribute connected" and "redistribute static"
> set. However, "how ipv6 ospf6 redistribute" is empty, and the
> redistributed statics (pull ups to NULL0) do not appear in the
> OSPF database. I would expect to see them there as E2 routes.
Two problems
a) ospf6d does not appear to redistribute routes successfully unless
a routemap is provided which sets the metric and the metric-type.
The bare redistribute command does not work.
b) whilst ospfd is happy redistributing a static route to null0
(i.e. an invalid route), ospf6d is not, and requires that
the route be a blackhole route to lo0 or similar.
> 2. Quagga appears to have no way to do default-originate like
> it can in OSPF2. The "area 0.0.0.0 range ::/0" does not
> appear to get this advertised (or even into the database)
> whether or not the "redistribute" lines are present.
There appears to be no easy solution to this, save for redistributing
the kernel and static routes and hoping this works. I tried hacking
in support for a default-originate option by porting code from ospfd
but the code bases are sufficiently different this is beyond my
skills.
> 3. The external LSA for prefix fc00:3333:33:333::/64 does appear
> to make it from BIRD into quagga's database. However, it is
> not installed in the routing table.
I think this is probably a bug in quagga. I have now seen the
route there. It comes and goes.
Alex
>
> The setup works fine with OSPF and IPv4. I am pretty sure my
> IPv6 setup is functional, as it works fine with BGP to bird6.
>
> Any ideas?
>
> Lots of details below
>
> --
> Alex Bligh
>
> amb@quaggabox:~$ ip -6 a l
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
> inet6 ::1/128 scope host
> valid_lft forever preferred_lft forever
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fe80::213:72ff:fefd:62e7/64 scope link
> valid_lft forever preferred_lft forever
> 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fc00:41c8:10:1dd::1/64 scope global
> valid_lft forever preferred_lft forever
> inet6 fe80::213:72ff:fefd:62e8/64 scope link
> valid_lft forever preferred_lft forever
>
> quaggabox# show running-config
> Building configuration...
>
> Current configuration:
> !
> log file /var/log/quagga/bgpd.log
> !
> service integrated-vtysh-config
> !
> interface eth0
> ipv6 nd suppress-ra
> ipv6 ospf6 cost 1
> ipv6 ospf6 dead-interval 40
> ipv6 ospf6 hello-interval 10
> ipv6 ospf6 instance-id 0
> ipv6 ospf6 passive
> ipv6 ospf6 priority 1
> ipv6 ospf6 retransmit-interval 5
> ipv6 ospf6 transmit-delay 1
> !
> interface eth1
> ipv6 nd suppress-ra
> ipv6 ospf6 cost 1
> ipv6 ospf6 dead-interval 40
> ipv6 ospf6 hello-interval 10
> ipv6 ospf6 instance-id 0
> ipv6 ospf6 priority 100
> ipv6 ospf6 retransmit-interval 5
> ipv6 ospf6 transmit-delay 1
> !
> interface lo
> !
> router ospf6
> router-id 10.255.199.1
> area 0.0.0.0 range ::/0
> area 0.0.0.0 range fc00:41c8:10:1dd::/64
> interface eth1 area 0.0.0.0
> !
> ipv6 route 3ffe:401d:3133::/48 Null0
> ipv6 route 3ffe:401d:4144::/48 Null0
> !
> ipv6 forwarding
> !
> line vty
> !
> end
>
>
>
> quaggabox# show ipv6 o neighbor det
> Neighbor 10.255.199.3%eth1
> Area 0.0.0.0 via interface eth1 (ifindex 3)
> His IfIndex: 123 Link-local address: fe80::a868:caff:fefd:1c94
> State Full for a duration of 00:15:47
> His choice of DR/BDR 10.255.199.1/0.0.0.0, Priority 0
> DbDesc status: Slave SeqNum: 0x9fe24079
> Summary-List: 0 LSAs
> Request-List: 0 LSAs
> Retrans-List: 0 LSAs
> 0 Pending LSAs for DbDesc in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSReq in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
> quaggabox# show ipv6 o neighbor
> Neighbor ID Pri DeadTime State/IfState Duration I/F[State]
> 10.255.199.3 0 00:00:33 Full/DROther 00:15:53 eth1[DR]
> quaggabox# show ipv6 o neighbor det
> Neighbor 10.255.199.3%eth1
> Area 0.0.0.0 via interface eth1 (ifindex 3)
> His IfIndex: 123 Link-local address: fe80::a868:caff:fefd:1c94
> State Full for a duration of 00:15:55
> His choice of DR/BDR 10.255.199.1/0.0.0.0, Priority 0
> DbDesc status: Slave SeqNum: 0x9fe24079
> Summary-List: 0 LSAs
> Request-List: 0 LSAs
> Retrans-List: 0 LSAs
> 0 Pending LSAs for DbDesc in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSReq in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSUpdate in Time 00:00:00 [thread off]
> 0 Pending LSAs for LSAck in Time 00:00:00 [thread off]
>
>
> quaggabox# show ipv6 o database detail
>
> Area Scoped Link State Database (Area 0.0.0.0)
>
> Age: 1003 Type: Router
> Link State ID: 0.0.0.0
> Advertising Router: 10.255.199.1
> LS Sequence Number: 0x80000001
> CheckSum: 0x284b Length: 40
> Bits: -------- Options: --|R|-|--|E|V6
> Type: Transit-Network Metric: 1
> Interface ID: 0.0.0.3
> Neighbor Interface ID: 0.0.0.3
> Neighbor Router ID: 10.255.199.1
>
> Age: 1004 Type: Router
> Link State ID: 0.0.0.0
> Advertising Router: 10.255.199.3
> LS Sequence Number: 0x80000001
> CheckSum: 0x510a Length: 24
> Bits: ------E- Options: --|R|-|--|E|V6
>
> Age: 1003 Type: Network
> Link State ID: 0.0.0.3
> Advertising Router: 10.255.199.1
> LS Sequence Number: 0x80000001
> CheckSum: 0x4f5c Length: 32
> Options: --|R|-|--|E|V6
> Attached Router: 10.255.199.1
> Attached Router: 10.255.199.3
>
> Age: 1003 Type: Intra-Prefix
> Link State ID: 0.0.0.3
> Advertising Router: 10.255.199.1
> LS Sequence Number: 0x80000001
> CheckSum: 0x38eb Length: 44
> Number of Prefix: 1
> Reference: Network Id: 0.0.0.3 Adv: 10.255.199.1
> Prefix Options: --|--|--|--
> Prefix: fc00:41c8:10:1dd::/64
>
> Age: 1004 Type: Intra-Prefix
> Link State ID: 0.0.0.0
> Advertising Router: 10.255.199.3
> LS Sequence Number: 0x80000001
> CheckSum: 0xf626 Length: 44
> Number of Prefix: 1
> Reference: Router Id: 0.0.0.0 Adv: 10.255.199.3
> Prefix Options: --|--|--|--
> Prefix: fc00:41c8:10:1dd::/64
>
>
> I/F Scoped Link State Database (I/F eth1 in Area 0.0.0.0)
>
> Age: 1045 Type: Link
> Link State ID: 0.0.0.3
> Advertising Router: 10.255.199.1
> LS Sequence Number: 0x80000001
> CheckSum: 0xd495 Length: 56
> Priority: 100 Options: --|R|-|--|E|V6
> LinkLocal Address: fe80::213:72ff:fefd:62e8
> Number of Prefix: 1
> Prefix Options: --|--|--|--
> Prefix: fc00:41c8:10:1dd::/64
>
> Age: 636 Type: Link
> Link State ID: 0.0.0.123
> Advertising Router: 10.255.199.3
> LS Sequence Number: 0x80000005
> CheckSum: 0xd2c3 Length: 56
> Priority: 0 Options: --|R|-|--|E|V6
> LinkLocal Address: fe80::a868:caff:fefd:1c94
> Number of Prefix: 1
>
>
> AS Scoped Link State Database
>
> Age: 491 Type: AS-External
> Link State ID: 255.3.0.0
> Advertising Router: 10.255.199.3
> LS Sequence Number: 0x80000004
> CheckSum: 0xe30e Length: 36
> Bits: E--
> Metric: 10000
> Prefix Options: xxx
> Referenced LSType: 0
> Prefix: fc00:3333:33:333::/64
>
>
> quaggabox# show ip ospf route
> ============ OSPF network routing table ============
> N 10.255.199.0/24 [10] area: 0.0.0.0
> directly attached to eth1
>
> ============ OSPF router routing table =============
> R 10.255.199.3 [10] area: 0.0.0.0, ASBR
> via 10.255.199.3, eth1
>
> ============ OSPF external routing table ===========
> N E2 10.1.2.255/24 [10/10000] tag: 0
> via 10.255.199.3, eth1
>
>
> quaggabox# show ipv6 ospf6 redistribute
> Redistributing External Routes from:
> Total 0 routes
>
> quaggabox# show ipv6 route
> Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3,
> I - ISIS, B - BGP, * - FIB route.
>
> K>* ::/0 via fe80::1, eth1
> C>* ::1/128 is directly connected, lo
> S 3ffe:401d:3133::/48 [1/0] is directly connected, Null0 inactive
> S 3ffe:401d:4144::/48 [1/0] is directly connected, Null0 inactive
> O fc00:41c8:10:1dd::/64 [110/1] is directly connected, eth1, 00:18:05
> C>* fc00:41c8:10:1dd::/64 is directly connected, eth1
> C * fe80::/64 is directly connected, eth1
> C>* fe80::/64 is directly connected, eth0
>
>
>
>
>
>
> BIRD BOX
> ========
>
> root@birdbox# ip -6 a l
> 120: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
> inet6 ::1/128 scope host
> valid_lft forever preferred_lft forever
> 121: dummy2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fe80::dc58:e3ff:fe52:456b/64 scope link
> valid_lft forever preferred_lft forever
> 122: dummy: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fe80::4411:a3ff:fea9:3736/64 scope link
> valid_lft forever preferred_lft forever
> 123: evrr-000000: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fc00:41c8:10:1dd::3/64 scope global
> valid_lft forever preferred_lft forever
> inet6 fe80::a868:caff:fefd:1c94/64 scope link
> valid_lft forever preferred_lft forever
> 125: evrr-000001: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 fc00:3333:33:333::1/64 scope global
> valid_lft forever preferred_lft forever
> inet6 fe80::a0e0:d2ff:fef2:890a/64 scope link
> valid_lft forever preferred_lft forever
>
> root@birdbox/# birdc6
> BIRD 1.3.2 ready.
> bird> show protocols all
> name proto table state since info
> evrkernel Kernel master up 11:34
> Preference: 10
> Input filter: ACCEPT
> Output filter: ACCEPT
> Routes: 0 imported, 0 exported, 0 preferred
> Route change stats: received rejected filtered ignored
> accepted
> Import updates: 0 0 0 0 0
> Import withdraws: 0 0 --- 0 0
> Export updates: 17 15 0 --- 2
> Export withdraws: 7 --- --- --- 2
>
> device1 Device master up 11:34
> Preference: 240
> Input filter: ACCEPT
> Output filter: REJECT
> Routes: 0 imported, 0 exported, 0 preferred
> Route change stats: received rejected filtered ignored
> accepted
> Import updates: 0 0 0 0 0
> Import withdraws: 0 0 --- 0 0
> Export updates: 0 0 0 --- 0
> Export withdraws: 0 --- --- --- 0
>
> evrdirect Direct master up 11:34
> Preference: 240
> Input filter: ACCEPT
> Output filter: ACCEPT
> Routes: 1 imported, 0 exported, 1 preferred
> Route change stats: received rejected filtered ignored
> accepted
> Import updates: 1 0 0 0 1
> Import withdraws: 0 0 --- 0 0
> Export updates: 0 0 0 --- 0
> Export withdraws: 0 --- --- --- 0
>
> evrradv RAdv master up 11:34
> Preference: 0
> Input filter: ACCEPT
> Output filter: REJECT
> Routes: 0 imported, 0 exported, 0 preferred
> Route change stats: received rejected filtered ignored
> accepted
> Import updates: 0 0 0 0 0
> Import withdraws: 0 0 --- 0 0
> Export updates: 0 0 0 --- 0
> Export withdraws: 0 --- --- --- 0
>
> evrospf OSPF master up 13:01 Running
> Preference: 150
> Input filter: ACCEPT
> Output filter: ACCEPT
> Routes: 1 imported, 1 exported, 1 preferred
> Route change stats: received rejected filtered ignored
> accepted
> Import updates: 20 0 6 0 14
> Import withdraws: 5 0 --- 6 5
> Export updates: 18 15 0 --- 3
> Export withdraws: 5 --- --- --- 1
>
> bird> show ospf lsadb
>
> Global
>
> Type LS ID Router Age Sequence Checksum
> 4005 255.3.0.0 10.255.199.3 289 80000004 e30e
>
> Area 0.0.0.0
>
> Type LS ID Router Age Sequence Checksum
> 2001 0.0.0.0 10.255.199.1 803 80000001 284b
> 2002 0.0.0.3 10.255.199.1 803 80000001 4f5c
> 2009 0.0.0.3 10.255.199.1 803 80000001 38eb
> 2001 0.0.0.0 10.255.199.3 798 80000001 13da
> 2009 0.0.0.0 10.255.199.3 798 80000001 dc8d
>
> Link evrr-000000
>
> Type LS ID Router Age Sequence Checksum
> 0008 0.0.0.3 10.255.199.1 892 80000001 d495
> 0008 0.0.0.123 10.255.199.3 434 80000005 d2c3
> bird>
>
> bird> show osp state all
>
> area 0.0.0.0
>
> router 10.255.199.1
> distance 10
> network [10.255.199.1-3] metric 1
>
> router 10.255.199.3
> distance 0
> network [10.255.199.1-3] metric 10
> external fc00:3333:33:333::/64 metric2 10000
>
> network [10.255.199.1-3]
> distance 10
> router 10.255.199.1
> router 10.255.199.3
> address fc00:41c8:10:1dd::/64
>
>
> bird> show ospf top all
>
> area 0.0.0.0
>
> router 10.255.199.1
> distance 10
> network [10.255.199.1-3] metric 1
>
> router 10.255.199.3
> distance 0
> network [10.255.199.1-3] metric 10
>
> network [10.255.199.1-3]
> distance 10
> router 10.255.199.1
> router 10.255.199.3
>
> bird> show ospf neighbors
> evrospf:
> Router ID Pri State DTime Interface Router IP
> 10.255.199.1 100 full/dr 00:34 evrr-000000
> fe80::213:72ff:fefd:62e8
> bird>
>
> /etc/bird6.conf contains:
>
> router id 10.255.199.3;
>
> protocol kernel evrkernel {
> persist; # Don't remove routes on bird shutdown
> scan time 10; # Scan kernel routing table every 20
> seconds
> import all;
> export all;
> learn; # Learn all alien routes from the kernel
> }
>
># This pseudo-protocol watches all interface up/down events.
> protocol device {
> scan time 10; # Scan interfaces every 10 seconds
> }
>
> protocol direct evrdirect {
> interface "-evrr-000000", "evrr-*";
> export all;
> }
>
> protocol ospf evrospf {
> area 0.0.0.0 {
> interface "evrr-000000" {
> cost 10;
> priority 0;
> authentication none;
> };
> };
> export all;
> import all;
> }
>
>
>
>
>
--
Alex Bligh
_______________________________________________
Quagga-users mailing list
Quagga-users@lists.quagga.net
http://lists.quagga.net/mailman/listinfo/quagga-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic