New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Large BGP Community #1094

Closed
job opened this Issue Sep 7, 2016 · 10 comments

Comments

Projects
None yet
5 participants
@job
Contributor

job commented Sep 7, 2016

Can GoBGP implement support for https://tools.ietf.org/html/draft-heitz-idr-large-community ? The Large BGP Community is a very straightforward, easy to implement type of BGP Community.

Inter-op testing can be done with ExaBGP, the latest release supports Large BGP Community. Information about Large BGP Community is tracked here http://largebgpcommunities.net/implementations/

@pavel-odintsov

This comment has been minimized.

Show comment
Hide comment
@pavel-odintsov

pavel-odintsov Sep 12, 2016

Contributor

Hello!

I'm also interested in this feature so much! I'll be happy to help with test and API integration as usual :)

Contributor

pavel-odintsov commented Sep 12, 2016

Hello!

I'm also interested in this feature so much! I'll be happy to help with test and API integration as usual :)

@ishidawataru

This comment has been minimized.

Show comment
Hide comment
@ishidawataru

ishidawataru Sep 14, 2016

Member

Hi, added the feature by this commit (a3ccd8e).

you can try like

% gobgp global rib add -a ipv4 10.0.0.0/24 large-community 100:100:100
% gobgp global rib add -a ipv4 10.0.0.0/24 large-community 100:100:100,200:200:200
Member

ishidawataru commented Sep 14, 2016

Hi, added the feature by this commit (a3ccd8e).

you can try like

% gobgp global rib add -a ipv4 10.0.0.0/24 large-community 100:100:100
% gobgp global rib add -a ipv4 10.0.0.0/24 large-community 100:100:100,200:200:200
@job

This comment has been minimized.

Show comment
Hide comment
@job

job Sep 14, 2016

Contributor

Very cool! I'll do some testing against ExaBGP and report back on the interoperability.

Please make sure that if the IETF specification changes (for instance changes the Attribute codepoint) GoBGP can change accordingly. This is easiest accomplished by keeping the Large Community feature in a separate branch until the standardisation process is finished.

Contributor

job commented Sep 14, 2016

Very cool! I'll do some testing against ExaBGP and report back on the interoperability.

Please make sure that if the IETF specification changes (for instance changes the Attribute codepoint) GoBGP can change accordingly. This is easiest accomplished by keeping the Large Community feature in a separate branch until the standardisation process is finished.

@job

This comment has been minimized.

Show comment
Hide comment
@job

job Sep 28, 2016

Contributor

Dear @ishidawataru ,

Can you provide me with answers to these questions for the implementation report at https://trac.tools.ietf.org/wg/idr/trac/wiki/draft-ietf-idr-large-community%20implementations ?

  • Can receive and display Large Communities with Routes?
  • Do GoBGP aggregate routes with multiple Large Communities, removing duplicates?
  • Can GoBGP match Large Communities using the 3 decimal uint32 representation?
  • Can GoBGP Set/delete Large Communities using the 3 decimal uint32 representation?
  • Separator used in the textual representation?
  • Treat-as-withdraw when a route contains a Large Community attribute of invalid length?
  • Are there any restrictions on the value of Global Administrator field?
Contributor

job commented Sep 28, 2016

Dear @ishidawataru ,

Can you provide me with answers to these questions for the implementation report at https://trac.tools.ietf.org/wg/idr/trac/wiki/draft-ietf-idr-large-community%20implementations ?

  • Can receive and display Large Communities with Routes?
  • Do GoBGP aggregate routes with multiple Large Communities, removing duplicates?
  • Can GoBGP match Large Communities using the 3 decimal uint32 representation?
  • Can GoBGP Set/delete Large Communities using the 3 decimal uint32 representation?
  • Separator used in the textual representation?
  • Treat-as-withdraw when a route contains a Large Community attribute of invalid length?
  • Are there any restrictions on the value of Global Administrator field?
@pierky

This comment has been minimized.

Show comment
Hide comment
@pierky

pierky Oct 5, 2016

Contributor

As of my findings, I try to answer some of your questions. Any corrections, suggestions and comments are welcome.

Can receive and display Large Communities with Routes?

Yes.

Can GoBGP match Large Communities using the 3 decimal uint32 representation?
Can GoBGP Set/delete Large Communities using the 3 decimal uint32 representation?

Not yet: a feature request is tracked on #1133 and it's already on devs' todo list. Currently it can only set large communities via CLI.

Separator used in the textual representation?

:

Are there any restrictions on the value of Global Administrator field?

No: tested with some reserved values (65535:1:1 and 4294967295:4294967295:4294967295)

Contributor

pierky commented Oct 5, 2016

As of my findings, I try to answer some of your questions. Any corrections, suggestions and comments are welcome.

Can receive and display Large Communities with Routes?

Yes.

Can GoBGP match Large Communities using the 3 decimal uint32 representation?
Can GoBGP Set/delete Large Communities using the 3 decimal uint32 representation?

Not yet: a feature request is tracked on #1133 and it's already on devs' todo list. Currently it can only set large communities via CLI.

Separator used in the textual representation?

:

Are there any restrictions on the value of Global Administrator field?

No: tested with some reserved values (65535:1:1 and 4294967295:4294967295:4294967295)

@job

This comment has been minimized.

Show comment
Hide comment
@job

job Jan 6, 2017

Contributor

I think this one is done now?

Contributor

job commented Jan 6, 2017

I think this one is done now?

@pierky

This comment has been minimized.

Show comment
Hide comment
@pierky

pierky Jan 6, 2017

Contributor

Support has been added but I think there are a couple of things to improve, unless I missed something.

  • Duplicate Large Communities handling: #1143 (comment)
  • Malformed large BGP communities attributes handling: #1147
Contributor

pierky commented Jan 6, 2017

Support has been added but I think there are a couple of things to improve, unless I missed something.

  • Duplicate Large Communities handling: #1143 (comment)
  • Malformed large BGP communities attributes handling: #1147
@pavel-odintsov

This comment has been minimized.

Show comment
Hide comment
@pavel-odintsov

pavel-odintsov May 20, 2017

Contributor

Any updates, guys? :) I really want to add this shiny option in FastNetMon's GoBGP plugin!

Contributor

pavel-odintsov commented May 20, 2017

Any updates, guys? :) I really want to add this shiny option in FastNetMon's GoBGP plugin!

@fujita

This comment has been minimized.

Show comment
Hide comment
@fujita

fujita May 21, 2017

Member

@pavel-odintsov except for handing bad messages, GoBGP supports this feature. Already good enough for FastNetMon?

Member

fujita commented May 21, 2017

@pavel-odintsov except for handing bad messages, GoBGP supports this feature. Already good enough for FastNetMon?

@fujita

This comment has been minimized.

Show comment
Hide comment
@fujita

fujita Nov 24, 2017

Member

Please create a new issue if there is something to improve about Large BGP Community in GoBGP.

Member

fujita commented Nov 24, 2017

Please create a new issue if there is something to improve about Large BGP Community in GoBGP.

@fujita fujita closed this Nov 24, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment