[BGPCEP-690] BGP session does not get established when send-max flag is not included in configuration Created: 19/Sep/17  Updated: 18/Apr/18  Resolved: 16/Jan/18

Status: Verified
Project: bgpcep
Component/s: BGP
Affects Version/s: Oxygen
Fix Version/s: Bugzilla Migration

Type: Bug
Reporter: Ajay Chhabria Assignee: Ajay Lele
Resolution: Won't Do Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File karaf.log    
External issue ID: 9186

 Description   

From the protocols-config.xml file, remove the line send-max and try to peer with other BGP speaker.



 Comments   
Comment by Ajay Chhabria [ 19/Sep/17 ]

Attachment karaf.log has been added with description: Karaf Log

Comment by Ajay Lele [ 22/Sep/17 ]

Master: https://git.opendaylight.org/gerrit/#/c/63464/

Comment by Claudio David Gasparini [ 12/Oct/17 ]

https://git.opendaylight.org/gerrit/#/q/topic:Bug-9186

Comment by Claudio David Gasparini [ 13/Oct/17 ]

Hi Ajay, please extend the issue, scenario and what you are trying to achieve and its failing.

After check the patch, from my point of view what you are doing is a missconfiguration and therefore you are hitting the NPE.

Regards,

Claudio

Comment by Claudio David Gasparini [ 13/Oct/17 ]

When Configuring ADD PATH capabilty.

  • global/rib it should be configured per AFI/SAFI if its supported and what strategy will be used. send-max field is mandatory
  • peer here send-max is not mandatory, from doc:

Note
The path selection strategy is not configurable on per peer basis. The send-max presence indicates a willingness to send ADD-PATH NLRIs to the neighbor.

Regards,

Claudio

Comment by Ajay Lele [ 17/Oct/17 ]

(In reply to Claudio D. Gasparini from comment #3)
> Hi Ajay, please extend the issue, scenario and what you are trying to
> achieve and its failing.
>
> After check the patch, from my point of view what you are doing is a
> missconfiguration and therefore you are hitting the NPE.
>
> Regards,
>
> Claudio

The issue was found while testing add-path capability modes (ref. https://tools.ietf.org/html/rfc7911#page-4). In version of OpenConfig model currently used by ODL BGP code, there is no separate provision to specify that send capability should not be advertised. Only value associated with send is send-max. If it is not specified, it was causing NPE. This patch adds check to prevent NPE. So now for send capability not to be advertised, send-max can be skipped

BGP OpenConfig model has been updated recently to add a boolean flag for specifying if send capability should be advertised (ref. https://github.com/openconfig/public/commit/e020ce4b7e94482a9bbcf8dfb73f3d01dbdda5e6#diff-0d759af0e8ee335a03ba94fd5055d69cL312) which is the correct way of doing this and once we update to this version above will not be required

Comment by Ajay Lele [ 17/Oct/17 ]

(In reply to Claudio D. Gasparini from comment #4)
> When Configuring ADD PATH capabilty.
> - global/rib it should be configured per AFI/SAFI if its supported and what
> strategy will be used. send-max field is mandatory

where is send-max mentioned as mandatory and how do we enforce it? I don't see it as mandatory in the yang

> - peer here send-max is not mandatory, from doc:
>
> Note
> The path selection strategy is not configurable on per peer basis. The
> send-max presence indicates a willingness to send ADD-PATH NLRIs to the
> neighbor.
>

I don't understand this doc note. Generally per neighbor config should override the global config

>
>
> Regards,
>
>
> Claudio

Comment by Claudio David Gasparini [ 18/Oct/17 ]

(In reply to Ajay Lele from comment #6)
> (In reply to Claudio D. Gasparini from comment #4)
> > When Configuring ADD PATH capabilty.
> > - global/rib it should be configured per AFI/SAFI if its supported and what
> > strategy will be used. send-max field is mandatory
>
> where is send-max mentioned as mandatory and how do we enforce it? I don't
> see it as mandatory in the yang
>
> > - peer here send-max is not mandatory, from doc:
> >
> > Note
> > The path selection strategy is not configurable on per peer basis. The
> > send-max presence indicates a willingness to send ADD-PATH NLRIs to the
> > neighbor.
> >
>
> I don't understand this doc note. Generally per neighbor config should
> override the global config
>
> >
> >
> > Regards,
> >
> >
> > Claudio

Hi Ajay, global configuration is used to defined the path selection strategy to be used when supporting add-path(only configurable per RIB).
Then neighbor config is used to define the additional capability per neighbor(receive flag and send flag). As you mentioned send flag is not present therefore send-max presence is used as flag.

All this is mentioned in documentation, if you thing that it can be improved, feel free to provide some improvement and we can go through it.

[0] http://docs.opendaylight.org/en/stable-nitrogen/user-guide/bgp-user-guide.html#additional-path

Comment by Claudio David Gasparini [ 23/Oct/17 ]

Could you close the bug as wont be fixed.

Thanks

Comment by Ajay Lele [ 23/Oct/17 ]

Hi Claudio

Ok I see what you are saying. So to achieve what is intended, config required is:
1. config add-path (both receive and send-max params) at global level
2. exclude send-max param under neighbor config

I tried it out and confirm that it works. Fine to close this issue

Regards
Ajay

Generated at Wed Feb 07 19:13:50 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.