[quagga-users 14360] Re: redistribute both IPv4 and IPv6 connected routes - howto?

Anil DSouza anilsou77 at gmail.com
Fri Jun 17 03:57:55 BST 2016


Hi Martin,

Our internal guys looked into  the code came up with patch below,  i've
test this patch and is working as expected for our scenario.   If you get
chance can you have a review?  if all good i can attach it to the the bug
so we can fix available for the next release.

Thanks,
Anil


On Wed, Jun 15, 2016 at 10:32 AM, Anil DSouza <anilsou77 at gmail.com> wrote:

> Hi Martin,
>
> Sorry for the delay,  tested this workaround it seems weird and works,
> both v4 and v6 are seen on routing table now.  I would need to do test more
> on this if we can have multiple v6 address and just redistribute only one
> or both at a time.  will get back to you within a day or two.
>
> i have open BUG earlier for this same issue for tracking
> https://bugzilla.quagga.net/show_bug.cgi?id=864
>
> Thanks,
> Anil
>
> On Mon, Jun 13, 2016 at 4:38 PM, Martin Winter <
> mwinter at opensourcerouting.org> wrote:
>
>> Anil,
>>
>> it looks like the same issue as seen before.
>>
>> The problem seems to be the route-map attached to the redistribute
>> connected and
>> having 2 different route-maps (one each for IPv4 and IPv6)
>>
>> Please try the following to verify that this is the same bug as I
>> debugged earlier
>> and as a workaround for you:
>>
>> Create a new route-map with IPv4 _and_ IPv6 in it (yes, sounds weird… but
>> Quagga allows this):
>>
>>         route-map IPFOURANDSIX permit 10
>>          match ip address 1
>>         !
>>         route-map IPFOURANDSIX permit 20
>>          match ipv6 address IPV6
>>         !
>>         route-map IPFOURANDSIX deny 30
>>         !
>>
>> and then attach this route-map to BOTH redistribute connected statements:
>>
>>         router bgp 65056
>>          bgp router-id 12x.xxx.xx.235
>>          aggregate-address 6x.x.x.x/24 summary-only
>>          redistribute connected route-map IPFOURANDSIX
>>          neighbor 12x.xxx.xx.227 remote-as 65059
>>          neighbor 12x.xxx.xx.228 remote-as 65059
>>          neighbor 2xxx:x:xx:x::a1 remote-as 65059
>>          no neighbor 2xxx:x:xx:x::a1 activate
>>          neighbor 2xxx:x:xx:x::a2 remote-as 65059
>>          no neighbor 2xxx:x:xx:x::a2 activate
>>         !
>>          address-family ipv6
>>          redistribute connected route-map IPFOURANDSIX
>>          neighbor 2xxx:x:xx:x::a1 activate
>>          neighbor 2xxx:x:xx:x::a2 activate
>>          exit-address-family
>>          exit
>>
>> Please confirm if this works.
>>
>> It is still a bug - no question there, but if I’m correct then this
>> should work
>> and be useable as a workaround for you.
>>
>> - Martin
>>
>>
>>
>> On 12 Jun 2016, at 19:53, Anil DSouza wrote:
>>
>> Thanks martin.  Below is my running config
>>>
>>> myhost.localhost# show running-config
>>> Building configuration...
>>>
>>> Current configuration:
>>> !
>>> hostname myhost.localhost
>>> log file /var/logs/zebra.log
>>> log file /var/logs/bgpd.log
>>> log stdout
>>> !
>>> debug bgp events
>>> debug bgp updates
>>> !
>>> password XXXxx
>>> enable password XXXxx
>>> !
>>> interface eth0
>>>  no link-detect
>>> !
>>> interface eth1
>>>  no link-detect
>>> !
>>> interface lo
>>>  no link-detect
>>> !
>>> router bgp 65056
>>>  bgp router-id 12x.xxx.xx.235
>>>  aggregate-address 6x.x.x.x/24 summary-only
>>>  redistribute connected route-map IPFOUR
>>>  neighbor 12x.xxx.xx.227 remote-as 65059
>>>  neighbor 12x.xxx.xx.228 remote-as 65059
>>>  neighbor 2xxx:x:xx:x::a1 remote-as 65059
>>>  no neighbor 2xxx:x:xx:x::a1 activate
>>>  neighbor 2xxx:x:xx:x::a2 remote-as 65059
>>>  no neighbor 2xxx:x:xx:x::a2 activate
>>> !
>>>  address-family ipv6
>>>  redistribute connected route-map IPSIX
>>>  neighbor 2xxx:x:xx:x::a1 activate
>>>  neighbor 2xxx:x:xx:x::a2 activate
>>>  exit-address-family
>>>  exit
>>> !
>>> access-list 1 permit 6x.x.x.5
>>> access-list 1 deny any
>>> !
>>> ipv6 access-list IPV6 permit 20xx:x:yy:xxx::10/128 exact-match
>>> ipv6 access-list IPV6 deny any
>>> !
>>> route-map IPFOUR permit 10
>>>  match ip address 1
>>> !
>>> route-map IPFOUR deny 20
>>> !
>>> route-map IPSIX permit 10
>>>  match ipv6 address IPV6
>>> !
>>> route-map IPSIX deny 20
>>> !
>>> line vty
>>> !
>>> end
>>> myhost.localhost#
>>>
>>> Regards,
>>> Anil
>>>
>>> On Sat, Jun 11, 2016 at 4:42 AM, Martin Winter <
>>> mwinter at opensourcerouting.org> wrote:
>>>
>>> Anil,
>>>>
>>>> sorry for the long delay…
>>>> I just troubleshooted a similar (or same) issue with someone else.
>>>> Curious ti find out if this is the same issue.
>>>>
>>>> Can you post the “router bgp …” section of your configuration?
>>>> (Incl route-maps and filter/prefix lists)
>>>>
>>>> If you don’t feel like posting the whole BGP config, then either
>>>> email it to me privately or replace the IPs with some dummy numbers
>>>> and blank out any potential passwords.
>>>>
>>>> Regards,
>>>>    Martin Winter
>>>>    mwinter at opensourcerouting.org
>>>>
>>>>
>>>> On 2 Jun 2016, at 23:01, Anil DSouza wrote:
>>>>
>>>> Can someone have a look on how to get this working?
>>>>
>>>>>
>>>>> On Mon, May 30, 2016 at 3:01 PM, Anil DSouza <anilsou77 at gmail.com>
>>>>> wrote:
>>>>>
>>>>> Hi Guys,
>>>>>
>>>>>>
>>>>>> I've been trying to get both ipv4 and ipv6 routes in place with BGP,
>>>>>>  found no luck so far, Surfing the internet lead me to the same issue
>>>>>> reported earlier in ilist
>>>>>> <
>>>>>>
>>>>>> https://lists.quagga.net/pipermail/quagga-dev/2011-September/008869.html
>>>>>>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>>   I've trying this on latest version 1.0.20160315 and find no success.
>>>>>>  I
>>>>>>  also tried 0.99.20 with patch attached to the earlier ilist and that
>>>>>> works
>>>>>> like charm.
>>>>>>
>>>>>> Can someone help how can i achieve this with latest version of quagga?
>>>>>>
>>>>>> Below is the test output for both 1.0.20160315 and patched version of
>>>>>> 0.99.20
>>>>>>
>>>>>> #========== quaggga  1.0.20160315 ===========
>>>>>>
>>>>>> 07:57:13 a at oxy-oxygen-0a52c5e3:~$  bgpd -v
>>>>>> bgpd version 1.0.20160315
>>>>>> Copyright 1996-2005 Kunihiro Ishiguro, et al.
>>>>>> configured with:
>>>>>> --enable-vtysh --disable-ripd --disable-ripngd --disable-isisd
>>>>>> --disable-pimd --disable-ospfd --disable-ospf6d --disable-ospfapi
>>>>>> --disable-ospfclient --disable-isisd --disable-rtadv
>>>>>> --enable-logfile-mask=0644 --prefix=/home/y --libdir=/home/y/lib64
>>>>>> --enable-user=quagga --enable-group=users --enable-vty-group=users
>>>>>> --disable-doc
>>>>>> 07:57:21 a at oxy-oxygen-0a52c5e3:~$
>>>>>>
>>>>>>
>>>>>> oxy-oxygen-0a52c5e3# show ip route connected
>>>>>> Codes: K - kernel route, C - connected, S - static, R - RIP,
>>>>>>        O - OSPF, I - IS-IS, B - BGP, P - PIM, A - Babel,
>>>>>>        > - selected route, * - FIB route
>>>>>>
>>>>>> C>* 10.1.1.10/32 is directly connected, lo
>>>>>> C>* 10.82.196.0/22 is directly connected, eth0
>>>>>> C>* 127.0.0.0/8 is directly connected, lo
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>> oxy-oxygen-0a52c5e3# show ipv6 route  connected
>>>>>> Codes: K - kernel route, C - connected, S - static, R - RIPng,
>>>>>>        O - OSPFv6, I - IS-IS, B - BGP, A - Babel,
>>>>>>        > - selected route, * - FIB route
>>>>>>
>>>>>> C>* ::1/128 is directly connected, lo
>>>>>> C>* 2002::/16 is directly connected, lo
>>>>>> C>* fe80::/64 is directly connected, eth0
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>>
>>>>>>
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>> oxy-oxygen-0a52c5e3# configure  terminal
>>>>>> oxy-oxygen-0a52c5e3(config)# router bgp  1
>>>>>> oxy-oxygen-0a52c5e3(config-router)# redistribute connected
>>>>>> oxy-oxygen-0a52c5e3(config-router)#  address-family ipv6
>>>>>> oxy-oxygen-0a52c5e3(config-router-af)#  redistribute connected
>>>>>> oxy-oxygen-0a52c5e3(config-router-af)# end
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>>
>>>>>> oxy-oxygen-0a52c5e3# show ip bgp
>>>>>> BGP table version is 0, local router ID is 10.1.1.10
>>>>>> Status codes: s suppressed, d damped, h history, * valid, > best, =
>>>>>> multipath,
>>>>>>               i internal, r RIB-failure, S Stale, R Removed
>>>>>> Origin codes: i - IGP, e - EGP, ? - incomplete
>>>>>>
>>>>>>    Network          Next Hop            Metric LocPrf Weight Path
>>>>>> *> 10.1.1.10/32     0.0.0.0                  0          32768 ?
>>>>>> *> 10.82.196.0/22   0.0.0.0                  0          32768 ?
>>>>>>
>>>>>> Displayed  2 out of 2 total prefixes
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>> oxy-oxygen-0a52c5e3# show ipv6 bgp
>>>>>> No BGP prefixes displayed, 0 exist
>>>>>> oxy-oxygen-0a52c5e3#
>>>>>>
>>>>>> #========== quaggga  1.0.20160315  end ===========
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> #========== quaggga  0.99.20  ===========
>>>>>> # this version is downloaded from
>>>>>> http://download.savannah.gnu.org/releases/quagga/quagga-0.99.20.tar.gz
>>>>>> # and the patches applied from
>>>>>>
>>>>>> https://lists.quagga.net/pipermail/quagga-dev/2011-September/008892.html
>>>>>> #  redistribute connected works after applying the patch for 0.99.20
>>>>>>
>>>>>> 07:57:16 a at oxy-oxygen-0a52c5e4:~$  bgpd -v
>>>>>> bgpd version 0.99.20
>>>>>> Copyright 1996-2005 Kunihiro Ishiguro, et al.
>>>>>> 07:57:18 a at oxy-oxygen-0a52c5e4:~$
>>>>>>
>>>>>>
>>>>>> oxy-oxygen-0a52c5e4# show ip route connected
>>>>>> Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
>>>>>>        I - ISIS, B - BGP, > - selected route, * - FIB route
>>>>>>
>>>>>> C>* 10.1.1.10/32 is directly connected, lo
>>>>>> C>* 10.82.196.0/22 is directly connected, eth0
>>>>>> C>* 127.0.0.0/8 is directly connected, lo
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>> oxy-oxygen-0a52c5e4# show ipv6 route  connected
>>>>>> Codes: K - kernel route, C - connected, S - static, R - RIPng, O -
>>>>>> OSPFv3,
>>>>>>        I - ISIS, B - BGP, * - FIB route.
>>>>>>
>>>>>> C>* ::1/128 is directly connected, lo
>>>>>> C>* 2002::/16 is directly connected, lo
>>>>>> C>* fe80::/64 is directly connected, eth0
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>> oxy-oxygen-0a52c5e4# configure  terminal
>>>>>> oxy-oxygen-0a52c5e4(config)#  router bgp  1
>>>>>> oxy-oxygen-0a52c5e4(config-router)# redistribute connected
>>>>>> oxy-oxygen-0a52c5e4(config-router)#  address-family ipv6
>>>>>> oxy-oxygen-0a52c5e4(config-router-af)#  redistribute connected
>>>>>> oxy-oxygen-0a52c5e4(config-router-af)# end
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>>
>>>>>> oxy-oxygen-0a52c5e4# show ip bgp
>>>>>> BGP table version is 0, local router ID is 10.1.1.10
>>>>>> Status codes: s suppressed, d damped, h history, * valid, > best, i -
>>>>>> internal,
>>>>>>               r RIB-failure, S Stale, R Removed
>>>>>> Origin codes: i - IGP, e - EGP, ? - incomplete
>>>>>>
>>>>>>    Network          Next Hop            Metric LocPrf Weight Path
>>>>>> *> 10.1.1.10/32     0.0.0.0                  1         32768 ?
>>>>>> *> 10.82.196.0/22   0.0.0.0                  1         32768 ?
>>>>>>
>>>>>> Total number of prefixes 2
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>> oxy-oxygen-0a52c5e4# show ipv6 bgp
>>>>>> BGP table version is 0, local router ID is 10.1.1.10
>>>>>> Status codes: s suppressed, d damped, h history, * valid, > best, i -
>>>>>> internal,
>>>>>>               r RIB-failure, S Stale, R Removed
>>>>>> Origin codes: i - IGP, e - EGP, ? - incomplete
>>>>>>
>>>>>>    Network          Next Hop            Metric LocPrf Weight Path
>>>>>> *> 2002::/16        ::                       1         32768 ?
>>>>>>
>>>>>> Total number of prefixes 1
>>>>>> oxy-oxygen-0a52c5e4#
>>>>>>
>>>>>> #========== quaggga  0.99.20 end ===========
>>>>>>
>>>>>> Thanks,
>>>>>> Anil
>>>>>>
>>>>>> _______________________________________________
>>>>>>
>>>>> Quagga-users mailing list
>>>>> Quagga-users at lists.quagga.net
>>>>> https://lists.quagga.net/mailman/listinfo/quagga-users
>>>>>
>>>>>
>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160617/b3b979d5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-1.0.20160315_bgp_zebra.c.patch
Type: application/octet-stream
Size: 1167 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160617/b3b979d5/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-1.0.20160315_redistribute.c.patch
Type: application/octet-stream
Size: 587 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160617/b3b979d5/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-1.0.20160315_zclient.c.patch
Type: application/octet-stream
Size: 670 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160617/b3b979d5/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: quagga-1.0.20160315_zclient.h.patch
Type: application/octet-stream
Size: 420 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160617/b3b979d5/attachment-0007.obj>


More information about the Quagga-users mailing list