SNAS / openbmp

OpenBMP Server Collector
www.openbmp.org
Eclipse Public License 1.0
232 stars 76 forks source link

L3VPN & EVPN #25

Closed Matvey-Kuk closed 7 years ago

Matvey-Kuk commented 7 years ago

L3VPN:

eVPN:

TimEvens commented 7 years ago

Will merge tomorrow. I made several changes to l3vpn, which I'll go over with you offline. I didn't change evpn on this merge but evpn will most likely need updates.

Matvey-Kuk commented 7 years ago

Ok, thank you!

From: Tim Evens notifications@github.com Reply-To: OpenBMP/openbmp reply@reply.github.com Date: Thursday, January 19, 2017 at 1:06 AM To: OpenBMP/openbmp openbmp@noreply.github.com Cc: "Matvei Kukui -T (mkukui - AAP3 INC at Cisco)" mkukui@cisco.com, Author author@noreply.github.com Subject: Re: [OpenBMP/openbmp] L3VPN & EVPN (#25)

Will merge tomorrow. I made several changes to l3vpn, which I'll go over with you offline. I didn't change evpn on this merge but evpn will most likely need updates.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/OpenBMP/openbmp/pull/25#issuecomment-273718095, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADIfablNZCo5A3baR97oaqN71jqSryqzks5rTyd_gaJpZM4KpwuN.

TimEvens commented 7 years ago

okay, I was going to wait on making the evpn changes/fixes, but I can't wait because your evpn code is causing the collector to crash. Since I have to fix that now, I'll add IPv6 support to evpn, unreach/withdraw support, and the other missing stuff.

please do not do any commits to this PR as I'm in the middle of a merge. I'll go over all the changes and fixes after I do the merge + my updates.

for reference, the segfault is:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./openbmpd -c openbmpd.conf -f'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007ff4a5e1d7e3 in std::string::swap(std::string&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0x00007ff4a5e1d7e3 in std::string::swap(std::string&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ff4a5e1d829 in std::string::operator=(std::string&&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x00000000005fde2a in bgp_msg::EVPN::parse_nlri(bgp_msg::MPReachAttr::mp_reach_nlri&) ()
#3  0x00000000005fd986 in bgp_msg::EVPN::parse(bgp_msg::MPReachAttr::mp_reach_nlri&) ()
#4  0x00000000005f76e1 in bgp_msg::MPReachAttr::parseAfi(bgp_msg::MPReachAttr::mp_reach_nlri&, bgp_msg::UpdateMsg::parsed_update_data&) ()
#5  0x00000000005f757c in bgp_msg::MPReachAttr::parseReachNlriAttr(int, unsigned char*, bgp_msg::UpdateMsg::parsed_update_data&) ()
#6  0x00000000005f5cf4 in bgp_msg::UpdateMsg::parseAttrData(unsigned char, unsigned short, unsigned char*, bgp_msg::UpdateMsg::parsed_update_data&) ()
#7  0x00000000005f5302 in bgp_msg::UpdateMsg::parseAttributes(unsigned char*, unsigned short, bgp_msg::UpdateMsg::parsed_update_data&) ()
#8  0x00000000005f4c1a in bgp_msg::UpdateMsg::parseUpdateMsg(unsigned char*, unsigned long, bgp_msg::UpdateMsg::parsed_update_data&) ()
#9  0x00000000005e2ce1 in parseBGP::handleUpdate(unsigned char*, unsigned long) ()
#10 0x0000000000566521 in BMPReader::ReadIncomingMsg(BMPListener::ClientInfo*, MsgBusInterface*) ()
#11 0x0000000000565b31 in BMPReader::readerThreadLoop(bool&, BMPListener::ClientInfo*, MsgBusInterface*) ()
#12 0x00000000005e29ad in void std::_Mem_fn<void (BMPReader::*)(bool&, BMPListener::ClientInfo*, MsgBusInterface*)>::operator()<std::reference_wrapper<bool>, BMPListener::ClientInfo*, MsgBusInterface*, void>(BMPReader*, std::reference_wrapper<bool>&&, BMPListener::ClientInfo*&&, MsgBusInterface*&&) const ()
#13 0x00000000005e28ad in void std::_Bind_simple<std::_Mem_fn<void (BMPReader::*)(bool&, BMPListener::ClientInfo*, MsgBusInterface*)> (BMPReader*, std::reference_wrapper<bool>, BMPListener::ClientInfo*, MsgBusInterface*)>::_M_invoke<0ul, 1ul, 2ul, 3ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) ()
#14 0x00000000005e26c5 in std::_Bind_simple<std::_Mem_fn<void (BMPReader::*)(bool&, BMPListener::ClientInfo*, MsgBusInterface*)> (BMPReader*, std::reference_wrapper<bool>, BMPListener::ClientInfo*, MsgBusInterface*)>::operator()() ()
#15 0x00000000005e265e in std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (BMPReader::*)(bool&, BMPListener::ClientInfo*, MsgBusInterface*)> (BMPReader*, std::reference_wrapper<bool>, BMPListener::ClientInfo*, MsgBusInterface*)> >::_M_run() ()
#16 0x00007ff4a5e15a60 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#17 0x00007ff4a6ce7184 in start_thread (arg=0x7ff467fff700) at pthread_create.c:312
#18 0x00007ff4a588337d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111