Skip to content
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

Add BGPQ3 to Arista EOS #69

Open
dudster83 opened this issue Dec 30, 2021 · 5 comments
Open

Add BGPQ3 to Arista EOS #69

dudster83 opened this issue Dec 30, 2021 · 5 comments

Comments

@dudster83
Copy link

Hi
I'm trying to install BGPQ3 directly on Arista EOS device.
The last version I could find for bgpq3 is 0.1.35 which requires the EOS to be 64 bit
If i'm trying to add this on the switch I get the following error

SW1EOS#extension bgpq3-0.1.35-0.el7.x86_64.rpm
% Error installing bgpq3-0.1.35-0.el7.x86_64.rpm: RPM install error: Transaction check failed: libc.so.6()(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.14)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.15)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.3)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.3.4)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.4)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libc.so.6(GLIBC_2.7)(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64
libnsl.so.1()(64bit) is needed by bgpq3-0.1.35-0.el7.x86_64

I did found a version that works on 32bit EOS but its missing some attributes - 0.1.31

SW1EOS#show extensions
Name Version/Release Status Extension


bgpq3-0.1.31-1.el6.i686.rpm 0.1.31/1.el6 A, I 1
A: available | NA: not available | I: installed | NI: not installed | F: forced

[admin@SW1EOS ~]$ bgpq3

Usage: bgpq3 [-h host] [-S sources] [-P|E|G |f ] [-2346AbDJjXd] [-R len] ...
-2 : allow routes belonging to as23456 (transition-as) (default: false)
-3 : assume that your device is asn32-safe
-4 : generate IPv4 prefix-lists (default)
-6 : generate IPv6 prefix-lists (IPv4 by default)
-A : try to aggregate Cisco prefix-lists or Juniper route-filters
as much as possible
-b : generate BIRD output (Cisco IOS by default)
-d : generate some debugging output
-D : use asdot notation in as-path (Cisco only)
-E : generate extended access-list(Cisco) or route-filter(Juniper)
-f number : generate input as-path access-list
-G number : generate output as-path access-list
-h host : host running IRRD software (whois.radb.net by default)
-J : generate config for JunOS (Cisco IOS by default)
-j : generate JSON output (Cisco IOS by default)
-M match : extra match conditions for JunOS route-filters
-m len : maximum prefix length (default: 32 for IPv4, 128 for IPv6)
-l name : use specified name for generated access/prefix/.. list
-P : generate prefix-list (default, just for backward compatibility)
-r len : allow more specific routes from masklen specified
-R len : allow more specific routes up to specified masklen
-S sources: use only specified sources (default: RADB,RIPE,APNIC)
-T : disable pipelining (experimental, faster mode)
-W len : specify max-entries on as-path line (use 0 for infinity)
-X : generate config for IOS XR (Cisco IOS by default)

bgpq3 version: 0.1.31
Copyright(c) Alexandre Snarskii [email protected] 2007-2015

I'm missing the -F attribute to use
bgpq3 -F "permit %n/%l le 24\n" AS-NV >/mnt/flash/pl-bgpq3/pl-cellcom-v4.txt
Or the -s to get this numbered for EOS as it requires it as a syntax

Is there any version newer than 0.1.31 that will work with 32bit EOS?

@snar
Copy link
Owner

snar commented Dec 30, 2021 via email

@dudster83
Copy link
Author

Thanks for your quick reply, i'd tried to use the rpm you'd provided but there's still a dependency on libc.so.6(GLIBC_2.28)
I'll try using the 0.1.31 version and manipulate the output with some bash commands
thanks

@snar
Copy link
Owner

snar commented Dec 30, 2021 via email

@dudster83
Copy link
Author

Hi Alexandre , I'll give it a go on another machine I have
I'd just finished deploying the solution i needed with the limitations I had by manipulating the output

bgpq3 -4 -P -A -l AS-NV-IN | awk '{print substr($0, index($0, $4))}' > /mnt/flash/PL-BGPQ3/RAWFILE-AS-NV-IN.txt
sed '1d' /mnt/flash/PL-BGPQ3/RAWFILE-AS-NV-IN.txt > /mnt/flash/PL-BGPQ3/SRC-PL-AS-NV.txt

I'll update this post later for any future interest

@dudster83
Copy link
Author

On Thu, Dec 30, 2021 at 04:46:23AM -0800, dudster83 wrote: Thanks for your quick reply, i'd tried to use the rpm you'd provided but there's still a dependency on libc.so.6(GLIBC_2.28)
Another try: http://snar.spb.ru/prog/bgpq3/bgpq3-0.1.36.1-static1.i686.rpm this time it's statically linked, so libc shall not be a dependency.

it didn't work either as an extension to Arista EOS. I'm currently using the old version of bgpq3. if in the future anyone will happen to test it on EOS, it would be great. A great useful tool. Thanks Alexandre!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants