[NETVIRT-1115] ECMP config not working on router Created: 21/Feb/18  Updated: 25/May/18  Resolved: 25/May/18

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: None
Fix Version/s: Oxygen-SR2, Fluorine

Type: Bug Priority: High
Reporter: Philippe Guibert Assignee: Philippe Guibert
Resolution: Done Votes: 0
Labels: regression
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There is a code change [0] in NeutronvpnManager.java which checks if rdList size < number of

nexthops configured for an extra route. (During neutron router change event)

This is checked when vpn interface(config) has to be updated with extra route adjacency.

 

In case when router is not associated with bgp, this check will fail.

This prevents addition of extra route adjacency in the vpn interface config DS.

And thus ECMP [1][2] code doesn’t get invoked.

 

           if (rdList.size() < nbNextHops) {

                neutronvpnAlarm.raiseNeutronvpnAlarm(typeAlarm, detailsAlarm.toString());

                LOG.error("there are too many next hops for prefixe in vpn {}", vpnId);

                routesError.add(route);

          }

 

Was there any particular reason for adding this check (inside checkAlarmExtraRoutes method).

 

[0] [ https://git.opendaylight.org/gerrit/#/c/60881/|https://git.opendaylight.org/gerrit/#/c/60881/]

[1] [ https://git.opendaylight.org/gerrit/#/c/48915/|https://git.opendaylight.org/gerrit/#/c/48915/]

[2] [ https://git.opendaylight.org/gerrit/#/q/status:merged+project:netvirt+branch:master+topic:l3vpn_ecmp|https://git.opendaylight.org/gerrit/#/q/status:merged+project:netvirt+branch:master+topic:l3vpn_ecmp]

 



 Comments   
Comment by Philippe Guibert [ 21/Feb/18 ]

Good catch. You are right that if you want to configure ECMP entries for a non BGPVPN case ( router for instance), you will not be able to do that.
Indeed, the alarm should work only for BGPVPN, but should not impact The ECMP router configuration.

I created a ticket for that in [0].
Possible solution is to not call that code block, in the case we are not on BGPVPN case.
Thanks for point out that,

Regards,
Philippe

[0] https://jira.opendaylight.org/browse/NETVIRT-1115

Generated at Wed Feb 07 20:23:16 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.