ntop / nProbe

Open source components and extensions for nProbe
http://ntop.org
GNU General Public License v2.0
1.64k stars 44 forks source link

nProbe BGP Plugin not able to start using IPv6 Address Family #565

Open netravnen opened 1 year ago

netravnen commented 1 year ago

Problem statement

Missing documentation concerning how to utilize the nProbe BGP Plugin to ingest IPv6 prefix information via BGP to nProbe collector.

https://github.com/ntop/nProbe/blob/master/bgp/bgp_probe_client.pl

https://www.ntop.org/guides/nprobe/plugins/bgp.html

Feature Request

Missing Ipv6 support.

Example configuration block with IPv6 addresses.

my $local_ip    = '2001:db8:bad:da1::1';
my $local_as    = 65002;
my $remote_ip   = '2001:db8:face:b00c::2';
my $remote_as   = 4200000000;
my $refresh = Net::BGP::Refresh->new(
    AFI      => Net::BGP::AFI_IP6,
    SAFI     => Net::BGP::SAFI_BOTH,
    );

Error in the system log is:

Mar 02 13:42:40 trafficanalyzer1 systemd[1]: Started nProbe BGP Plugin v6 - https://www.ntop.org/guides/nprobe/plugins/bgp.html.
Mar 02 13:42:40 trafficanalyzer1 perl[26709]: Undefined address for Socket::pack_sockaddr_in at /usr/lib/x86_64-linux-gnu/perl-base/Socket.pm line 172.
Mar 02 13:42:40 trafficanalyzer1 perl[26709]:  at /usr/local/share/perl/5.34.0/Net/BGP/Process.pm line 119.
systemd conf ```conf % cat /etc/systemd/system/bgp_probe_client_6.service [Unit] Description=nProbe BGP Plugin v6 - https://www.ntop.org/guides/nprobe/plugins/bgp.html Requires=network.target nprobe.service After=network.target nprobe.service systemd-networkd.service [Service] Type=simple ExecStart=/usr/bin/perl /usr/local/bin/bgp_probe_client_6.pl ExecStop=/bin/kill -15 $MAINPID Restart=on-abnormal RestartSec=5 [Install] WantedBy=multi-user.target ```

System info

 % lsb_release -d 
Description:    Ubuntu 22.04.2 LTS

 % uname -p
x86_64

 % uname -r
5.15.0-67-generic

 % systemd-detect-virt 
kvm
netravnen commented 1 year ago

If I explicitly set the ListenAddress (in Net::BGP::Process), too. The error is this msg instead,

Mar 02 13:46:04 trafficanalyzer1 systemd[1]: Started nProbe BGP Plugin v6 - https://www.ntop.org/guides/nprobe/plugins/bgp.html.
Mar 02 13:46:04 trafficanalyzer1 perl[27093]: Undefined address for Socket::pack_sockaddr_in at /usr/lib/x86_64-linux-gnu/perl-base/Socket.pm line 172.
Mar 02 13:46:04 trafficanalyzer1 perl[27093]:  at /usr/local/bin/bgp_probe_client_6.pl line 144.
Mar 02 13:46:04 trafficanalyzer1 systemd[1]: bgp_probe_client_6.service: Main process exited, code=exited, status=29/n/a
Mar 02 13:46:04 trafficanalyzer1 systemd[1]: bgp_probe_client_6.service: Failed with result 'exit-code'.
lucaderi commented 1 year ago

The BGP plugin in nProbe is IPv4 only, as we have no way to test it with IPv6. Will offer this in order to add IPv6 support?

netravnen commented 1 year ago

we have no way to test it with IPv6

Is this due to missing test case(s)? Or other reasons?

Is there anything I as an end-user can possibly contribute to have IPv6 support for the nProbe BGP plugin without being a developer?

Will offer this in order to add IPv6 support?

I bit confused due the word placing in that sentence :confused: and the question mark at the end.

zunder1990 commented 8 months ago

Any update on proper v6 support? My ntop server lives behind a nat firewall and I have no desire to change that. I would prefer to setup v6 bgp sessions with my routers.