[frr] syntax for route map matching ipv6 prefix

Donald Sharp sharpd at cumulusnetworks.com
Mon Jan 30 07:34:10 EST 2017


Thomas -

Thanks for reporting this issue, I've submitted a PR that should
address the issue.  You can grab a freebsd version of the install
here:

https://ci1.netdef.org/browse/FRR-FRRPULLREQ-158/artifact/shared/FreeBSD-10-x86_64-Package/frr-test-20170130.002417.txz

Hopefully this will get integrated into master in the next day or so.

donald

On Fri, Jan 27, 2017 at 4:34 AM, Donald Sharp
<sharpd at cumulusnetworks.com> wrote:
> As a comparison:
>
> sharpd at robot ~/frr> sudo vtysh
> 2017/01/27 04:30:04 unknown: cmd_yyerror: FATAL parse error: syntax
> error, unexpected '.', expecting $end
> 2017/01/27 04:30:04 unknown: cmd_yyerror: 1:11-12 of this command definition:
> 2017/01/27 04:30:04 unknown: cmd_yyerror: | no labels .LABELLIST
> 2017/01/27 04:30:04 unknown: cmd_yyerror: |           ^
> 2017/01/27 04:30:04 unknown: Ran out of docstring while parsing 'no label'
> 2017/01/27 04:30:04 unknown: cmd_yyerror: FATAL parse error: Duplicate command.
> 2017/01/27 04:30:04 unknown: cmd_yyerror: 1:1-16 of this command definition:
> 2017/01/27 04:30:04 unknown: cmd_yyerror: | vrf-policy NAME
> 2017/01/27 04:30:04 unknown: cmd_yyerror: | ^^^^^^^^^^^^^^^
> 2017/01/27 04:30:05 unknown: cmd_yyerror: FATAL parse error: syntax
> error, unexpected '.', expecting $end
> 2017/01/27 04:30:05 unknown: cmd_yyerror: 1:8-9 of this command definition:
> 2017/01/27 04:30:05 unknown: cmd_yyerror: | labels .LABELLIST
> 2017/01/27 04:30:05 unknown: cmd_yyerror: |        ^
> 2017/01/27 04:30:05 unknown: cmd_yyerror: FATAL parse error: Duplicate command.
> 2017/01/27 04:30:05 unknown: cmd_yyerror: 1:1-16 of this command definition:
> 2017/01/27 04:30:05 unknown: cmd_yyerror: | exit-vrf-policy
> 2017/01/27 04:30:05 unknown: cmd_yyerror: | ^^^^^^^^^^^^^^^
> 2017/01/27 04:30:05 unknown: cmd_yyerror: FATAL parse error: syntax
> error, unexpected $undefined
> 2017/01/27 04:30:05 unknown: cmd_yyerror: 1:25-26 of this command definition:
> 2017/01/27 04:30:05 unknown: cmd_yyerror: | no set large-comm-list
> <(1-99|(100-500)|WORD)> [delete]
> 2017/01/27 04:30:05 unknown: cmd_yyerror: |                         ^
> 2017/01/27 04:30:05 unknown: Ran out of docstring while parsing 'add
> vrf NAME prefix <A.B.C.D/M|X:X::X:X/M> [rd ASN:nn_or_IP-address]
> [label (0-1048575)] [preference (0-4294967295)]'
>
> Hello, this is FreeRangeRouting (version 2.0-rc0).
> Copyright 1996-2005 Kunihiro Ishiguro, et al.
>
> robot.cumulusnetworks.com# conf t
> robot.cumulusnetworks.com(config)# ipv6 prefix-list FOO seq 5 permit
> 2001:3b8:1cc:222::/64
> robot.cumulusnetworks.com(config)# route-map FFOOE permit 10
> robot.cumulusnetworks.com(config-route-map)# match ipv6 address prefix-list FOO
> robot.cumulusnetworks.com(config-route-map)# exit
> robot.cumulusnetworks.com(config)# exit
> robot.cumulusnetworks.com# exit
> sharpd at robot ~/frr> git status
> HEAD detached at 1e78204
>
> so I am supposedly using the same version you are.  Once I get to work
> in a few hours I will fire up my freebsd vm and see what is going on
> there.
>
> donald
>
> On Fri, Jan 27, 2017 at 3:31 AM, Thomas Hilse <thhi.1964 at gmail.com> wrote:
>> Hi,
>>
>> what I get is (on freebsd 10.3) - more precise I have installed you FRR package on BSDRP (version 1.60)
>>
>> [root at R-Kunde-2]~# vtysh
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: FATAL parse error: Duplicate command.
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: 1:1-16 of this command definition:
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | exit-vrf-policy
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | ^^^^^^^^^^^^^^^
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: FATAL parse error: syntax error
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: 1:8-9 of this command definition:
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | labels .LABELLIST
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: |        ^
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: FATAL parse error: Duplicate command.
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: 1:1-16 of this command definition:
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | vrf-policy NAME
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | ^^^^^^^^^^^^^^^
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: FATAL parse error: syntax error
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: 1:11-12 of this command definition:
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | no labels .LABELLIST
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: |           ^
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: FATAL parse error: syntax error
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: 1:25-26 of this command definition:
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: | no set large-comm-list <(1-99|(100-500)|WORD)> [delete]
>> 2017/01/27 08:24:20 unknown: cmd_yyerror: |                         ^
>> 2017/01/27 08:24:20 unknown: Ran out of docstring while parsing 'no label'
>> 2017/01/27 08:24:20 unknown: Ran out of docstring while parsing 'add vrf NAME prefix <A.B.C.D/M|X:X::X:X/M> [rd ASN:nn_or_IP-address] [label (0-1048575)] [preference (0-4294967295)]'
>> % Can't open configuration file /usr/local/etc/frr-test/vtysh.conf due to 'No such file or directory'.
>>
>> Hello, this is FreeRangeRouting (version 2.0-rc0-ci.NetDEF.org-20170126.021714-git.1e78204).
>> Copyright 1996-2005 Kunihiro Ishiguro, et al.
>>
>> R-Kunde-2# conf t
>> R-Kunde-2(config)# ipv6 prefix-list V6-PREFIX seq 5 permit 2001:db8:1cc:222::/64
>> R-Kunde-2(config)# route-map V6-RM permit 10
>> R-Kunde-2(config-route-map)#  match ipv6 address prefix-list V6-PREFIX
>> % Ambiguous command.
>> R-Kunde-2(config-route-map)#
>>
>> Best regards
>>
>> Thomas
>>
>>
>>
>>
>> Am 26.01.2017 um 21:36 schrieb Donald Sharp:
>>> Thomas -
>>>
>>> Here is what I am seeing:
>>>
>>> s1 ----- robot
>>>
>>> s1's config:
>>> !
>>> router bgp 10
>>>  bgp router-id 10.0.2.15
>>>  no bgp network import-check
>>>  neighbor 4.3.2.1 remote-as external
>>>  neighbor fe:c002:1:2::2 remote-as 10
>>>  neighbor fe:c002:1:2::13 remote-as external
>>> !
>>>  address-family ipv6 unicast
>>>   network 3:2:1::/64
>>>   neighbor fe:c002:1:2::2 activate
>>>   neighbor fe:c002:1:2::13 activate
>>>  exit-address-family
>>> !
>>>
>>>  s1# show bgp ipv6 unic
>>> BGP table version is 4, local router ID is 10.0.2.15
>>> 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
>>> *> 3:2:1::/64       ::                       0         32768 i
>>> *> 2001:db8:1cc:222::/64
>>>                     ::                       0         32768 i
>>> *> 2001:db8:1cc:223::/64
>>>                     ::                       0         32768 i
>>> *> 2002:db9:432:1::/64
>>>                     ::                       0         32768 i
>>>
>>> Total number of prefixes 4
>>> s1#
>>>
>>> on robot we have:
>>>
>>> !
>>> router bgp 44
>>>  neighbor fe:c002:1:2::1 remote-as external
>>>  !
>>>  address-family ipv6 unicast
>>>   neighbor fe:c002:1:2::1 activate
>>>   neighbor fe:c002:1:2::1 route-map V6-RM in
>>>  exit-address-family
>>> !
>>> !
>>> ipv6 prefix-list V6-PREFIX seq 5 permit 2001:db8:1cc:222::/64
>>> !
>>> route-map V6-RM permit 10
>>>  match ipv6 address prefix-list V6-PREFIX
>>> !
>>>
>>> robot.cumulusnetworks.com# show bgp ipv6
>>> BGP table version is 5, local router ID is 192.168.122.1
>>> 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
>>> *> 2001:db8:1cc:222::/64
>>>                     fe80::a00:27ff:fe96:bff9
>>>                                              0             0 10 i
>>>
>>> Displayed  1 routes and 1 total paths
>>> robot.cumulusnetworks.com#
>>>
>>>
>>> Let's add a new item to the prefix-list:
>>> robot.cumulusnetworks.com# conf t
>>> robot.cumulusnetworks.com(config)# ipv6 prefix-list V6-PREFIX seq 10
>>> permit 2002:db9:432:1::/64
>>> robot.cumulusnetworks.com(config)# end
>>> robot.cumulusnetworks.com# show bgp ipv6
>>> BGP table version is 5, local router ID is 192.168.122.1
>>> 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
>>> *> 2001:db8:1cc:222::/64
>>>                     fe80::a00:27ff:fe96:bff9
>>>                                              0             0 10 i
>>>
>>> Displayed  1 routes and 1 total paths
>>>
>>> whoops...
>>>
>>> robot.cumulusnetworks.com# clear bgp *
>>> robot.cumulusnetworks.com# show bgp ipv6
>>> BGP table version is 8, local router ID is 192.168.122.1
>>> 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
>>> *> 2001:db8:1cc:222::/64
>>>                     fe80::a00:27ff:fe96:bff9
>>>                                              0             0 10 i
>>> *> 2002:db9:432:1::/64
>>>                     fe80::a00:27ff:fe96:bff9
>>>                                              0             0 10 i
>>>
>>> Displayed  2 routes and 2 total paths
>>> robot.cumulusnetworks.com#
>>>
>>> It sure looks like some sort of soft clear issue.  I've filed:
>>> https://github.com/freerangerouting/frr/issues/126
>>>
>>> I am not sure why this does not work at the moment.  I would have
>>> expected it too.
>>>
>>> donald
>>>
>>> On Thu, Jan 26, 2017 at 10:48 AM, Thomas Hilse <thhi.1964 at gmail.com> wrote:
>>>> Hi team,
>>>>
>>>> I have tried FRR (version
>>>> 2.0-rc0-ci.NetDEF.org-20170126.021714-git.1e78204) downloaded from the
>>>> "netdef" build system:
>>>>
>>>> https://ci1.netdef.org/ (FRR build #53 - version for freebsd 10.3)
>>>>
>>>> In my test setup - dual homed connection to one ISP - all seems to work
>>>> as expected. (quagga 1.1.1 has a regression -
>>>> https://bugzilla.quagga.net/show_bug.cgi?id=870
>>>> FRR in my setup is not affected from this regression.)
>>>>
>>>> However I am wondering how to define a route map matching an ipv6 prefix
>>>> in FRR. The syntax which is working with quagga seems to be invalid in
>>>> FRR (or not supported). I am using route maps to filter the
>>>> redistribution of routes and to modify the BGP route metricies between
>>>> the two connections to our ISP.
>>>>
>>>> ipv6 prefix-list V6-PREFIX seq 5 permit 2001:db8:1cc:222::/64
>>>> !
>>>> route-map V6-RM permit 10
>>>>   match ipv6 address prefix-list V6-PREFIX
>>>> !
>>>>
>>>> Best regards
>>>>
>>>> Thomas
>>>>
>>>> _______________________________________________
>>>> frr mailing list
>>>> frr at lists.nox.tf
>>>> https://lists.nox.tf/listinfo/frr
>>
>>




More information about the dev mailing list