snar / bgpq3

bgpq3
BSD 2-Clause "Simplified" License
362 stars 53 forks source link

Add BGPQ3 to Arista EOS #69

Open dudster83 opened 2 years ago

dudster83 commented 2 years ago

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 snar@snar.spb.ru 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 commented 2 years ago

On Thu, Dec 30, 2021 at 01:55:20AM -0800, dudster83 wrote:

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

Strictly saying, it's not bgpq3 requirement but rather it's rpm built for x86_64 arch. You may try this one instead: http://snar.spb.ru/prog/bgpq3/bgpq3-0.1.36.1-0.i686.rpm however, no guarantees: I'm not a big fun of Linux and it's the first RPM I ever built..

dudster83 commented 2 years ago

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 commented 2 years ago

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.

I'll try using the 0.1.31 version and manipulate the output with some bash commands thanks

— Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.*Message ID: <snar/bgpq3/issues/69 @.***>

dudster83 commented 2 years ago

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 commented 2 years ago

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!