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:
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?