Hi Pragash,

It’s in vnet_ip_route_cmd() from ip/lookup.c.

It is a loop over a series of text matching rules. After each rule (unformat) 
the matched text is consumed and the next iteration occurs further into the 
string, which as you say, occurs left to right. So the order the matching rules 
are applied is important.

Regards,
neale


From: Pragash Vijayaragavan <pxv3...@rit.edu>
Reply-To: "pxv3...@rit.edu" <pxv3...@rit.edu>
Date: Friday, 11 August 2017 at 10:12
To: "Neale Ranns (nranns)" <nra...@cisco.com>
Cc: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>, "John Marshall (jwm)" 
<j...@cisco.com>, Minseok Kwon <mxk...@rit.edu>
Subject: Re: ip6 route add bug

Hi Neale,

I took a look at the code.

What i believe is being done is the parsing is going from left to right, for 
say  "ip route add add::123/128 via 9001::3",
then when the parser encounters a "add", it sets the is_add = 1, flag, so the 
is_add flag is set two times in this case
and hence the ip is not parsed properly.

We can just have a check, if the is_add flag is set or not, thus preventing it 
being set 2 times.

I tried to find where i should do this change in the code, but could not get 
where the cli is being used and called.

I tried to modify the vat/api_format.c, which has the "api_ip_add_del_route 
(vat_main_t * vam)" function
but it didnt work.

Could you please hint me on how this function was generated.

I checked all the format files and api files. I could not find any file where 
the input string is parsed.
















Thanks,

Pragash Vijayaragavan
Grad Student at Rochester Institute of Technology
email : pxv3...@rit.edu<mailto:pxv3...@rit.edu>
ph : 585 764 4662


On Thu, Aug 10, 2017 at 9:56 AM, Neale Ranns (nranns) 
<nra...@cisco.com<mailto:nra...@cisco.com>> wrote:
Hi Pragash,

Yes that’s a bug.
Could you submit a patch for it – we need to flip the order the ‘add’ string is 
parsed from the options so that it comes after parsing the IPv6 address.

Thanks,
neale

From: Pragash Vijayaragavan <pxv3...@rit.edu<mailto:pxv3...@rit.edu>>
Reply-To: "pxv3...@rit.edu<mailto:pxv3...@rit.edu>" 
<pxv3...@rit.edu<mailto:pxv3...@rit.edu>>
Date: Thursday, 10 August 2017 at 14:47
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
<vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>>
Cc: "Neale Ranns (nranns)" <nra...@cisco.com<mailto:nra...@cisco.com>>, "John 
Marshall (jwm)" <j...@cisco.com<mailto:j...@cisco.com>>, Minseok Kwon 
<mxk...@rit.edu<mailto:mxk...@rit.edu>>
Subject: ip6 route add bug

Hi,

When i add the following ip6 route, which starts with "add", the "add" is 
ignored and the rest of the ip is added.

Is this a bug?

You can check the outputs below.

This is in 17.07-rc0.


vpp# ip route add add:9538:44f8::/45 via 9000::1

vpp# sh ip6 fib
ipv6-VRF:0, fib_index 0, flow hash:
::/0
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:5 buckets:1 uRPF:5 to:[0:0]]
    [0] [@0]: dpo-drop ip6
9000::1/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:8 buckets:1 uRPF:5 to:[0:0]]
    [0] [@0]: dpo-drop ip6
9538:44f8::/45
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:9 buckets:1 uRPF:7 to:[0:0]]
      load-balance-map: index:0 buckets:1
         index:    0
           map:    0
    [0] [@6]: dpo-load-balance: [index:8 buckets:1 uRPF:5 to:[0:0]]
          [0] [@0]: dpo-drop ip6
fe80::/10
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:6 buckets:1 uRPF:6 to:[0:0]]
    [0] [@2]: dpo-receive


Is this fixed in 17.10.



Thanks,

Pragash Vijayaragavan
Grad Student at Rochester Institute of Technology
email : pxv3...@rit.edu<mailto:pxv3...@rit.edu>
ph : 585 764 4662<tel:(585)%20764-4662>


_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to