Mellanox and bad CLI choices

I’ve been working on Mellanox S-Series switches lately in a largish network with several hundred 10GbE server ports. On the whole, the product has performed beyond my cynically low expectations and the product has good capabilities overall but the command line interface (CLI) is a really poor user experience.

How about this gem for configuring the NTP server on the device uses a double negative:

no ntp server xx.xx.xx.xx disable

That syntax says “don’t disable the NTP server” – what the hell ?

So I checked the manual for the exact syntax and found that there are two options for the same command.

ntp {disable | enable | {peer | server}  [version  | disable]} 

no ntp {disable | enable | {peer | server}  [disable]}

Whatever you use, the first line is what shows in the configuration.

Configuring PIM

switch (config)# ip routing
switch (config)# ip multicast-routing

Enable PIM. Run:

switch (config)# protocol pim

Globally enable Bidirectional PIM (BIDIR mode). Run:

switch (config)# no ip pim bidir shutdown

The first three commands are example of positive action where I tell the interface to “do this”. Then the syntax flow is completely reversed to “don’t don’t this”.

I can’t see how this is anything but really poor product management since chaining the CLI structure should be straightforward no matter whose code they are using for the CLI processor.

The EtherealMind View

I’ve been public about losing faith with the command line and this example of bad user experience is some part of the reason. The idea of “not shutting down PIM” to enable the function is bad enough but to make it follow directly after three consecutive commands that are positive configuration is just plain silly.

This sort of poor user experience it what causes tech support costs for both customers and vendors. And makes makes grumpy old network engineers.

PS: I would link to the documentation but Mellanox hides it behind a paywall for registered support customers only. Apparently its configuring their equipment is meant to be a secret.

  • Jeff Carrell

    X vendor hides docs behind a paywall for registered support customers only.
    Apparently its configuring their equipment is meant to be a secret.

    This alone makes me stop looking/recommending a vendor’s solutions.

  • Jeff Carrell

    Another fav, Comware5 (former 3Com now HP Networking) has one for IPv6 that I just love. In Comware5, IPv6 routing is enabled by default, therefore IPv6 Router Advertisements (RAs) would start going out an interface as soon as an IPv6 addr is assigned to it. However Comware5 has RAs disabled by default so no RAs go out till you config it to do so. To activate said IPv6 intf to send RA’s, you give this command ‘undo ipv6 nd ra halt’ ……. another no + no = yes

    Altho I actually like this behavior (most all other router vendors I’ve played with operate opposite), it’s the command that makes me laugh……and it’s also harder to explain to folks.