CAIDA / bgpstream

BGP measurement analysis for the masses
GNU General Public License v2.0
109 stars 43 forks source link

Feedback wanted: pybgpstream community structure #54

Closed alistairking closed 6 years ago

alistairking commented 7 years ago

We're currently working on the v2 release of BGPStream, and I want to get some feedback on how you would like to see the community data structured in the python bindings.

Currently we turn a community set into a list of dictionaries, where each dictionary has asn and value keys.

Is this too cumbersome? Would folks prefer a simple list of :-separated strings? Or something else?

If I don't hear anything, then we'll keep the current structure, so speak now or forever hold your peace :)

alistairking commented 7 years ago

@vgiotsas i know you've used pybgpstream a lot with communities data. Do you have any thoughts about this?

vgiotsas commented 7 years ago

Hey @alistairking thanks for asking. Yes I think the format should be changed to a list of strings, in most cases the Community values make sense only as a whole.

Also it would be great to add support for alternative community formats such as Large Communities:

https://tools.ietf.org/html/rfc8092

I can help with some tasks if you need extra hands.

alistairking commented 7 years ago

Thanks @vgiotsas.

We are actually switching to a new BGP parser in v2, which (in addition to being much faster) has support for Large Communities and to some extent, Extended Communities, so it would be pretty easy to make this data available in BGPStream. I'll add it to my todo list.

Thanks for your offer. I should have a beta version ready within the next couple of weeks, so if you'd be interested in doing some testing, that would be much appreciated.

vgiotsas commented 7 years ago

For sure, thanks a lot.

alistairking commented 7 years ago

It occurs to me.. What about making it a set of strings rather than a list. This would make answering "does this elem have community x?" more efficient I suspect.

vgiotsas commented 7 years ago

Yes, that's a good idea, each Community value should be unique so a set makes more sense.