Hello,

I noticed a bug in your BMP collector implementation.

See RFC 7854:
https://tools.ietf.org/html/rfc7854#section-4.2

   o  Peer Address: The remote IP address associated with the TCP
      session over which the encapsulated PDU was received.  It is 4
      bytes long if an IPv4 address is carried in this field (with the
      12 most significant bytes zero-filled) and 16 bytes long if an
      IPv6 address is carried in this field.

If the peer-address is an IPv4 address, the format should be:
12 bytes with value zero, followed by 4 bytes with the IPv4 address
It seems your BMP implementation expects:
4 bytes with the IPv4 address, followed by 12 bytes with value zero

That's wrong.
See the RFC.
As a result, your BMP collector will always report IPv4-peers as 0.0.0.0. The same problem happens with the local-address in the peer-up message. Also always wrongly reported as 0.0.0.0.

I checked, and existing implementations of BMP in routers follow the RFC.
I suggest your fix the problem on Ryu's end.
The fix should be easy, but I am not working on Ryu, so I am not going to fix this myself.


Is there still ongoing development of the BMP part of Ryu ?
An obvious bug like this would seem to indicate that very few people are using Ryu's BMP ? Or else maybe everybody is using IPv6 ? With IPv6 all 16 bytes in the address are used, so in that case, there is no confusion and no bug.

Thanks in advance,

henk.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to