-
Notifications
You must be signed in to change notification settings - Fork 447
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
Fix AS_PATH with AS_SET handling #218
Fix AS_PATH with AS_SET handling #218
Conversation
Hello Eiichiro, What you propose seems right and does indeed correct a display issue ( and if you are using the API to get a route and re-announce it, clearly without it this will be causing grief with the generation). Could I also be pedantic and ask you if you could provide the patch as : string = '[ ( %s )]' % (' '.join([str(_) for _ in aset])) As the double % makes it hard to read the line otherwise 😉 Thank you for your feedback, and the time you are spending debugging ExaBGP, this is much appreciated. |
In encoding the messages, the method |
Sorry, I made a mistake. it returned [65002L], not [].
It seems to refer to the same object. so I think exabgp sent the incorrect route. On the otherhand, after applied my patch, it showed:
Then it works correctly. But I didn't understand the root cause...What do you think? |
str is used for indexing so, with the current issue a bad object is used as the code thinks that that attribute was already generated and can be reused. |
Fix AS_PATH with AS_SET handling
Ok - all looking good merged. Thank you for finding this ! |
In the case of using the following configuration, exabgp would send 2 routes with incorrect AS_PATH attributes.
The first route would be advertised with correct AS_PATH attribute to the neighbor, but the second one would be advertised with incorrect attributes.
It should be:
In the latest code, It seems to return [ ] even if AS_SET exists when AS_PATH doesn't have AS_SEQ.