
I was looking at some Ethernet interface statistics last week when I realized I couldn’t find the output that confirmed the results of Ethernet Autonegotiation, just that autonegotiation had been enabled:
john@noisy> show interfaces ge-0/0/0 Physical interface: ge-0/0/0, Enabled, Physical link is Up [...] Link-level type: Ethernet, MTU: 1514, Speed: Auto, Duplex: Auto, [...]
It turns out that the information is there under “extensive” output, but it’s not obvious even when you stare at it because there’s so much other information shown:
john@noisy> show interfaces ge-0/0/0 extensive Physical interface: ge-0/0/0, Enabled, Physical link is Up [...] Link-level type: Ethernet, MTU: 1514, Speed: Auto, Duplex: Auto, [...] Autonegotiation information: Negotiation status: Complete Link partner: Link mode: Full-duplex, Flow control: None, Remote fault: OK, Link partner Speed: 100 Mbps
For some reason as part of this exercise I decided to look at the XML output from the command as well. Predictably the same information is delivered but in a slightly different format:
john@noisy> show interfaces ge-0/0/0 extensive | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/12.3R3/junos">
<interface-information xmlns="http://xml.juniper.net/junos/12.3R3/junos-interface" junos:style="normal">
<physical-interface>
[...]
<ethernet-autonegotiation>
<autonegotiation-status>complete</autonegotiation-status>
<link-partner-status>OK</link-partner-status>
<link-partner-duplexity>full-duplex</link-partner-duplexity>
<link-partner-speed>100 Mbps</link-partner-speed>
<flow-control>None</flow-control>
<local-info>
<local-flow-control>Symmetric</local-flow-control>
<local-remote-fault>Link OK</local-remote-fault>
</local-info>
</ethernet-autonegotiation>
Let me highlight the important bit from my perspective:
<link-partner-duplexity>full-duplex</link-partner-duplexity>
This is one of the most beautiful geek words I’ve seen in a while. Duplexity. Take a moment to wallow in the essence of that word; experience how meaningful it is, and embrace its technical awesomeness as it washes over your brain and spills out of your ears and nose. Duplexity. Say it with me. Duplexity. *happy sigh*
Proposed Junos XML Enhancements
And so, in the happy daze of a vocabularic shot in the arm, so to speak, I found myself wanting more of the same nectar; additional little “easter eggs”; hidden gems in the output. Perhaps we can change some of the existing XML to be a bit more florid? I propose:
<ethernet-autonegotiationness>
<autonegotiation-statusture>complete</autonegotiation-statusture>
<link-partner-statushood>OK</link-partner-statushood>
<link-partner-duplexity>full-duplex</link-partner-duplexity>
<link-partner-speedfulness>100 Mbps</link-partner-speedfulness>
<flow-controlitude>None</flow-controlitude>
</ethernet-autonegotiationness>
In particular I like that I can now hope that a link negotiaties to the correct speed by mentally begging it to “do the speedful“.
What say you?
i love everything about this post