Hi Naeem,
My thoughts inline.

Regards
Haris

From: Memon, Mahammadnaeem Karimbhai
Sent: Thursday, December 03, 2015 11:28 PM
To: [email protected]<mailto:[email protected]>
Subject: [quagga-dev 14077] Secondary Ipv4 addresses - functionality / behavior


Hi All,



Please note, here, by "port", I mean logical interface.



I was wondering how should the secondary ipv4 address on a "port" function?



Please correct me if I am wrong, anywhere.



Questions:

1. Should we have connected routes for the secondary IPv4 addresses' subnet as 
like Primary ip address' subnet?

Yes.



2. Is it necessary for "Port" on the peer should also have the similarly 
presence in more than one subnets?

Not necessary to advertise any of those ip prefixes as a route.



3. Does it mean based on the nexthop ip address the source Ip address of the 
originating packets will be picked up?

Source address can be the primary address.



4. Shall we run routing on the secondary ip addresses' subnets? Like, OSPF.

This can be configurable. You may choose to run the OSPF on the primary address 
alone or on specific addresses or all addresses.

If it is only on the primary address, then the behavior should be predictable 
and deterministic when the primary address goes down.

As an example, may be the highest secondary address is taken as primary address 
if the primary address goes down.



5. Does BGP bother about this secondary Ip addresses, I mean can it peer on 
this secondary IP addresses?

BGP is generally configured on the specific network, so this shouldn't be an 
issue.



Please advise on above questions.



Below are some sample behaviors-



Behavior on some NOSes -

1. Allow a primary and multiple secondary Ipv4 addresses on a "Port".

2. OSPF will advertise a secondary subnetwork only if it is also running on the 
primary subnetwork.

3. Secondary networks are considered STUB network and hence NO Hellos are sent 
on them. Hence, no adjacencies can be established on secondary networks.



Quagga's behavior -

1. Quagga doen't have specific commands to configure an ip address as primary 
or secondary.

Probably we can have a CLI to specify the primary address or we need to define 
some default behavior like highest ip address being the primary address by 
default or something like that.

Quagga community need to take ca call.



Logic from code looks like -

2. First ip address configured on an "Port" is Primay. All subsequent ip 
address configurations on the same "Port" are secondary. Doesn't seem to be 
deterministic behavior.

3. If the primary address is being deleted, the next one in the list is 
promoted to "primary".

4. OSPF will run on only primary ip address's subnet.



But not seeing this happening. We may need to debug. Or I am getting it wrong.



As a result multiple ip addresses are configured as Primary, and so able run 
OSPF on all of their subnets.



root@hq1:/# vtysh



Hello, this is Quagga (version 0.99.22.4).

Copyright 1996-2005 Kunihiro Ishiguro, et al.



hq1# sh running-config

Building configuration...



Current configuration:

!

hostname Router

hostname bgpd

log stdout

!

password zebra

enable password zebra

!

interface eth0

ip address 10.10.10.1/24

ip address 11.10.10.1/24

ipv6 nd suppress-ra

!

interface lo

!

router ospf

ospf router-id 1.1.1.1

network 10.0.0.0/8 area 0.0.0.100

network 11.0.0.0/8 area 0.0.0.101

!

ip forwarding

!

line vty

!

end

hq1#

hq1# sh int eth0

Interface eth0 is up, line protocol detection is disabled

  index 136 metric 1 mtu 1500

  flags: <UP,BROADCAST,RUNNING>

  HWaddr: 02:42:ac:11:00:0e

  inet 10.10.10.1/24 broadcast 10.10.10.255

  inet 11.10.10.1/24 broadcast 11.10.10.255

  inet 172.17.0.14/16

  inet6 fe80::42:acff:fe11:e/64

hq1#

hq1# sh ip os ne



    Neighbor ID Pri State           Dead Time Address         Interface         
   RXmtL RqstL DBsmL

2.2.2.2           1 Full/DR           37.761s 10.10.10.2      eth0:10.10.10.1   
       0     0     0

2.2.2.2           1 Full/DR           38.589s 11.10.10.2      eth0:11.10.10.1   
       0     0     0 hq1# hq1# sh ip os int eth0

eth0 is up

  ifindex 136, MTU 1500 bytes, BW 0 Kbit <UP,BROADCAST,RUNNING>

  Internet Address 10.10.10.1/24, Broadcast 10.10.10.255, Area 0.0.0.100

  MTU mismatch detection:enabled

  Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10

  Transmit Delay is 1 sec, State Backup, Priority 1

  Designated Router (ID) 2.2.2.2, Interface Address 10.10.10.2

  Backup Designated Router (ID) 1.1.1.1, Interface Address 10.10.10.1

  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters

  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5

    Hello due in 4.893s

  Neighbor Count is 1, Adjacent neighbor count is 1

  Internet Address 11.10.10.1/24, Broadcast 11.10.10.255, Area 0.0.0.101

  MTU mismatch detection:enabled

  Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10

  Transmit Delay is 1 sec, State Backup, Priority 1

  Designated Router (ID) 2.2.2.2, Interface Address 11.10.10.2

  Backup Designated Router (ID) 1.1.1.1, Interface Address 11.10.10.1

  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters

  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5

    Hello due in 7.933s

  Neighbor Count is 1, Adjacent neighbor count is 1 hq1#



Thanks,
Naeem
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to