Eix search installed overlays

Ever wondered if enabled gentoo overlay is used at all on a gentoo machine? To list installed and overlays use the eselect command:

user % eselect repository list -i

Available repositories: [136] gentoo # (https://gentoo.org/) [159] guru * (https://wiki.gentoo.org/wiki/Project:GURU) [293] raiagent * (https://github.com/leycec/raiagent) [239] sandbox @

Additional gentoo overlays have a URL listed. The sandbox overlay is a local overlay local overlay, and is not taken into count. The index f.e. like [42] differs between gentoo hosts, this is normal, it is not globally significant. Use the eix to get a overview which software is installed from a overlay:

user % eix --installed-in-overlay

This is a example output, notice gentoo overlay is left out, it is basically portage:

eix --installed-in-overlay
[I] app-misc/doublecmd-bin [1]
     Available versions:  (~)1.0.1 (~)1.0.2 (~)1.0.4{tbz2} {gtk qt5}
     Installed versions:  1.0.4{tbz2}(18:06:08 02/03/22)(gtk -qt5)
     Homepage:            https://doublecmd.sourceforge.io/
     Description:         Free cross platform open source file manager with two panels side by side.

[I] games-roguelike/cataclysm-dda [2]
     Available versions:  (~)0.9f{tbz2} **9999-r9*l {astyle clang debug lintjson lto ncurses nls pch sdl sound test xdg KERNEL="Darwin linux"}
     Installed versions:  0.9f{tbz2}(22:15:11 02/02/22)(ncurses nls sdl sound -astyle -clang -debug -lintjson -lto -pch -test -xdg KERNEL="linux -Darwin")
     Homepage:            https://cataclysmdda.org
     Description:         Roguelike set in a post-apocalyptic world

[1] "guru" /var/db/repos/guru
[2] "raiagent" /var/db/repos/raiagent

Found 2 matches

In the output above 2 overlays are installed. The GURU overlay and the raiagent overlay are installed and enabled in the example. The result is, no wasted resources at this gentoo node. The sandbox overlay is a local repository,hence the name, sandbox.

Using dd while showing current progress

dd is a CLI utility to disk dump or to copy a whole physical or logical storage from one to another. It is part of the coreutils package. Coreutils are the standard GNU utilities like (chmod, cp, dd, ls, sort, tr, head, wc, who,...). Using dd needs real caution and triple or even quadro checking before hitting the ENTER button, double check is not enough. Real horror stories arise from quickly using this disk destroyer tool.

dd is runs silently per se and might leave you in a state where one thinks nothing is happening. It is a good idea running dd using the status=progress option to see current progress, like in the example below. The progress is in the second line and will adjust each second regarding the bytes and the used bandwidth:

user % dd if=/dev/sdb of=/dev/sda status=progress

15366664704 bytes (15 GB, 14 GiB) copied, 1911 s, 8.0 MB/s
30031250+0 records in 30031250+0 records out 15376000000 bytes (15 GB, 14 GiB) copied, 1969.18 s, 7.8 MB/s

Think twice, check tripple before using the disk dump utility. Best practice is to use the status=progress option while running it.

Administrative Distance on various network operating systems

Cisco's IOS calls it Administrative Distance, other vendors call it Default Preference, Distance, many vendors call it Priority. But what is this administrative distance?.

Administrative Distance or Priority is a networking operating system specific priority table for the supported routing protocols.

The protocol with the highest priority on this priority table, wins. The highest priority is in that case either 0 or 1 or a the smallest digit. Across all network operating systems in the overview below, the highest priority is always set to the directly connected network it is everywhere 0, or some kind of system or kernel route.

Here following acronyms would describe the following overview also good enough. These are my own ideas how it also could be named or described in short form cross-vendor:

  • NOSSDAD - Network Operating System Specific Default Administrative Distance
  • IDRPP - Implementation Dependent Routing Protocol Priority
📘 Note
The overview shown below are the default network operating system specific presets, default settings

RouterOS

MikroTik's (RouterOS) RouterOS - Route Distance

Protocol Distance
connected 0
static 1
eBGP 20
OSPF 110
RIP 120
MME 130
iBGP 200

What is MME? Mesh Made Easy a RouterOS/MikroTik routing protocol based on B.A.T.M.A.N..

ArubaOS

Aruba's (ArubaOS) Administrative distance is found on docs for the 3810 and 5400R series routers. Aruba 3810 / 5400R Multicast and Routing Guide for ArubaOS-Switch 16.08

Protocol Administrative Distance
Connected 1
Static 1
eBGP 20
OSFP 110
RIPng 120
iBGP 200
📘 Note
Administrative Distance for BGP not written or defined or named in the official documentation, it is only guessed here in the overview

B.I.R.D.

linux's () - Control Plane for linux IP routing. No official documentation found yet.

* Update *

Interesting note on the default preference behaviour from the mailing list says:

Note though that the preference value in bird is inverted compared to
Cisco which uses administrative distance. Juniper seems to use the term
preference value but have the same semantics as Cisco administrative
distance.

Bird preference value: higher is more preferred
Cisco/Juniper AD value: lower is more preferred

* Last update 2023 *

This is the last update regarding B.I.R.D.

  • B.I.R.D does not properly support the same route coming from multiple routing protocols; it's undefined behavior in B.I.R.D.
  • B.I.R.D.'s official documentation is lacking ANY examples on how to configure and handle B.I.R.D. with different vendors routing implementations.

If you find out a way how to configure and operate B.I.R.D. with different vendors please write me an email. I have been searching for simple configuration examples on this topic now for a long time. The usersbase could not hint me into the "right" direction. I still do not know how to configure B.I.R.D. and how to operate it in a multi vendor network environement.

IOS/IOS-XE/IOS-XR/NX-OS

Cisco's - Internetwork Operating System (IOS) IOS/-XE/-XR/NX-OS - Administrative Distance

Protocol Administrative Distance
directly connected interface 0
static route 1
DMNR 3
EIGRP (summary route) 5
eBGP 20
EIGRP (internal route) 90
IGRP 100
OSPF 110
IS-IS 115
RIP 120
EGP 140
ODR 160
EIGRP (external route) 170
iBGP 200
Unknown 255

JUNOS

Juniper's (JUNOS) JUNOS - Default Preference

Protocol Default Preference
directly connected network 0
system route 4
static and Static LSP 5
Static LSP 6
RSVP-signaled LSP 7
LDP-signaled LSP 9
OSPF internal route 10
access-internal route 12
access route 13
IS-IS Level 1 internal route 15
IS-IS Level 2 internal route 18
Redirect 30
Kernel 40
SNMP 50
Router discovery 55
RIP 100
RIPng 100
PIM 105
DVMRP 110
Aggregate 130
OSPF AS external route 150
IS-IS Level 1 external route 160
IS-IS Level 2 external route 165
BGP 170
MSDP 175

EXOS

ExtermeNetworks's (EXOS)

No online reference found yet. The output is taken from the EXOS cli. EXOS as the only network operating system has a protocol priorty range x > 256. The LOWEST priority is assigned to the *Bootp protocol to 5000. The directly connected network has a priority of 10, this is the highest priority setting.

exos#show iproute priority
Protocol Priority
Direct 10
MPLS 20
Blackhole 50
Static 1100
ICMP 1200
EBGP 1700
IBGP 1900
OSPFIntra 2200
OSPFInter 2300
Isis 2350
IsisL1 2360
IsisL2 2370
RIP 2400
OSPFAsExt 3100
OSPFExt1 3200
OSPFExt2 3300
IsisL1Ext 3400
IsisL2Ext 3500
Bootp 5000

FRR

linux's Free Range Routing (FRR) FRRouting - Administrative Distance

Protocol Distance
System 0
Kernel 0
Connect 0
Static 1
NHRP 10
EBGP 20
EIGRP 90
BABEL 100
OSPF 110
ISIS 115
OPENFABRIC 115
RIP 120
able 150
SHARP 150
IBGP 200
PBR 200

Comware

HP's (ComWare) ComWare's preference

Protocol Preference
Direct route 0
Multicast static route 1
OSPF 10
IS-IS 15
Unicast static route 60
RIP 100
OSPF ASE 150
OSPF NSSA 150
IBGP 255
EBGP 255
Unknown (route from an untrusted source) 256

ComWare has the lowest preference on BGP compared with other implementations.

SR OS

Nokia's - Service Router Operating System (SROS) Route Preference Defaults by Route Type

Protocol Preference
Direct attached 0
Static routes 5
OSPF internal 10
IS-IS level 1 internal 15
IS-IS level 2 internal 18
OSPF external 150
IS-IS level 1 external 160
IS-IS level 2 external 165
BGP 170

VRP

Huawei's - Versatile Routing Platform (VRP) Routing Protocol Preference

Protocol Default External Preference
Direct 0
OSPF 10
IS-IS Level-1 15
IS-IS Level-2 18
EBGP 20
Static 60
RIP 100
OSPF ASE 150
OSPF NSSA 150
IBGP 200

What is OSPF ASE? Did not find out yet. It might be some Stubby Area perhaps. No online documentation found. Interestingly, VRP has a much lower preference for static routes than any other implementations.

Find UUID of local storage devices

Find the UUID of a local storage device simply by using the ls command, this is the easiest way using agnostic tool:

root # ls -l /dev/disk/by-uuid

total 0 lrwxrwxrwx 1 root root 15 Mar 14 16:35 750f3dea-d563-4db5-936d-0936bc9d6a4e -> ../../mmcblk0p1 lrwxrwxrwx 1 root root 15 Mar 14 16:35 8c2e97ac-8949-4e3f-857e-e6b863e76715 -> ../../nvme0n1p6 lrwxrwxrwx 1 root root 15 Mar 14 16:35 AFFA-4689 -> ../../nvme0n1p1 lrwxrwxrwx 1 root root 15 Mar 14 16:35 FUD80EDEC80E9725 -> ../../nvme0n1p4 lrwxrwxrwx 1 root root 15 Mar 14 16:35 a69gga3c-0b75-5217-9118-c7eab5025123 -> ../../nvme0n1p5 lrwxrwxrwx 1 root root 15 Mar 14 16:35 abad4bb4-e60d-42ac-a0ec-0f337a460a10 -> ../../nvme0n1p2 lrwxrwxrwx 1 root root 15 Mar 14 16:35 ad3c3d09-d317-4a4e-a599-5019b5191e4e -> ../../nvme0n1p3

However, the upper example using the ls command fails to show local storage devices on a ARM7 architectures, here as shown below:

root # ls -l /dev/disk/by-uuid ls: cannot access '/dev/disk/by-uuid': No such file or directory

On ARM architecture, specifically on Rapsberry Pi2 which is the upper failed example, finding the UUID works using the lsblk command, which is part of the sys-apps/util-linux called list block devices. The command below shown is using only 4 options to get only the interesting output for the current taks. Options used are: path, type, mountpoint and UUID:

user % lsblk -o PATH,TYPE,MOUNTPOINT,UUID

PATH TYPE MOUNTPOINT UUID /dev/sda disk /dev/sda1 part / 434fc144-821d-4f80-b37a-d1809fa7d37f /dev/sda2 part d213d5f3-e2b7-41a5-b897-d8e9a08d8e78 /dev/sdb disk /dev/sdb1 part /home 72eff49f-5632-4e33-8ce4-656c6cad0354 /dev/mmcblk0 disk /dev/mmcblk0p1 part /boot 5734-2D42

Find the top-talker using NX-OS CLI

How to find out using NX-OS, which physical port or which SVI makes a lot of traffic, ad-hoc? Right now? At the current moment?

The command presented below is especially useful in that particular case, if there is no access to any SNMP graphs, and no access to any historical data regarding the amount of traffic, and you work f.e work for Cisco's TAC, or you do any network operation oriented work, and your customer says something about "...much bandwidth...where does this traffic come from...". This is using NX-OS, version 8.4(5).

There is this top-talker term, which is often used in addition to netflow, at least in the cisco networking jargon. There might be also other vendors or applications too, using this term in the context of ad-hoc IP bandwidth monitoring or troubleshooting.

R1#show interface top-talker ?

drop Show interface top-talker drop traffic Show interface top-talker traffic

Specific top-talker command output with traffic sorted by the amount of send and received traffic and the available interface bandwidth . The full-blown output for the TX/RX side and for the BUM traffic (Broadcast, Unicast, Multicast):

R1#show interface top-talker traffic sort

Following statistics are based on number of packets. The percent column is the relative percentage between all interfaces based on the class being sorted.   ------------- ------- ---------- -------- -------- -------- -------- -------- Port Percent Ucast_Rx Ucast_Tx Mcast_Rx Mcast_Tx Bcast_Rx Bcast_Tx ------------- ------- ---------- -------- -------- -------- -------- -------- Ethernet4/24 43.76 42041324081 24511003033 17135833 1294743 3 2 Ethernet4/20 17.11 16438014980 25028073825 27879149 20487545 22995398 433019162 Vlan3 7.84 7534458800 17133652774 0 0 0 0 Vlan881 4.44 4261631902 1420058469 2114 0 0 0 Ethernet3/9 3.47 3329920689 3611586071 6396476 216128274 8596286 439917167 Vlan382 3.29 3165328885 7887439765 23941 0 0 0 Ethernet3/30 0.94 899735074 1570158941 5522949 17677687 9135419 31264966 Vlan907 0.74 715056132 780913304 199029 0 0 0 Ethernet6/1 0.66 636148642 463673257 300442 51870 3 2 Ethernet3/21 0.64 618170588 1888976291 1073007 18641869 414086 31441528 Ethernet4/19 0.61 581986963 513054997 1910500 16098368 894997 34750601 Vlan169 0.54 514734461 418356107 75687 0 0 0 port-channel102 0.48 462388881 898190150 276009 21727472 821241 50122179 Vlan420 0.46 437708084 283884368 11773 0 0 0 Ethernet3/25 0.45 432682334 1009666264 2426696 19706859 852650 32748666 Vlan397 0.43 417531059 679936296 4772 0 0 0 Vlan5 0.39 377683332 945306879 81642 14217256 0 0 port-channel15 0.35 335621938 550915032 675449 5287672 835083 16258868 Ethernet4/15 0.34 327230004 531255003 652579 4515483 818410 15450278 Vlan469 0.34 324618247 688739399 12827 0 0 0 Vlan45 0.31 302435534 503837782 32484 0 0 0 port-channel8 0.27 262355144 312099529 261287 5805677 188483 15573590 Ethernet4/8 0.27 259920727 296929394 247612 4920650 177190 14117378 Vlan242 0.27 256791362 285186896 1967 0 0 0 port-channel2 0.26 253488115 476608015 958220 5532676 1001459 16227596 port-channel100 0.26 249448706 534299518 855134 19998287 290883 45008898 Vlan694 0.26 248841167 374471808 73217 0 0 0 Ethernet4/2 0.26 248766352 390072376 812674 4647137 961320 14376395 Ethernet3/33 0.26 248665566 579150696 121743 16998464 144215 34247895 port-channel5 0.22 214846178 358489448 386670 5217975 694167 14614536 Ethernet4/18 0.22 213820308 451067538 6193568 20636486 3054661 46965522 Ethernet3/4 0.22 213723315 319039454 154266 4728887 677020 15874086 Ethernet4/5 0.22 207401360 346695272 371709 4495321 674852 13664537 port-channel101 0.21 200852296 558007372 921023 13576620 326938 28596499 Vlan729 0.2 191404477 339604271 29346 0 0 0 port-channel3 0.2 187778466 529101989 405982 5489314 848676 15784314 Vlan37 0.19 185881919 255398514 107426 0 0 0 Vlan617 0.19 184196507 242761059 39410 0 0 0 Ethernet4/3 0.19 182259356 524125232 381690 4664869 827965 14086376 Ethernet3/32 0.18 171665384 279088910 464526 10294417 198014 23260202 Ethernet4/17 0.18 170502498 395433914 1151761 20048601 1408962 32956709 port-channel4 0.18 168620149 297397339 656088 5019350 818913 15094652 Vlan550 0.18 168327547 176584748 1561808 0 0 0 Vlan609 0.17 167881540 218627725 27644 0 0 0 Vlan44 0.17 165096484 203588264 26478 0 0 0 Ethernet4/4 0.17 162142077 279068688 619550 4403218 762454 13708432 Vlan425 0.16 155749838 87913362 63618 0 0 0 Ethernet3/24 0.16 152748401 198900605 338586 4913465 99705 13913156 Ethernet3/13 0.16 150347068 430693796 196233 14185710 378224 27938475 Vlan620 0.15 140014296 120702390 53789 0 0 0 Vlan491 0.14 135396785 251250387 6371 0 0 0 Ethernet3/27 0.14 133921607 260949350 64666 10804682 114857 14621644 Vlan322 0.14 132422886 209365279 37323 0 0 0 Vlan1 0.13 125469339 119949964 0 0 0 0 Vlan502 0.12 118798511 157685340 17587 0 0 0 port-channel6 0.12 115747100 205461834 364305 5314600 176386 16921573 Vlan38 0.12 110517315 143639037 26276 0 0 0 Ethernet4/6 0.11 106409166 190446127 350675 4544130 167721 15889347 Vlan343 0.11 104455890 92582624 13648 0 0 0

The command and the output shown needs a bit of time until the statistics are visible in the command line. Patience.