Who *are* these people?

Posted by Scott Laird Wed, 10 Sep 2003 23:54:12 GMT

Another Cisco IOS rant. Who designed the bizarre excuse they have for a configuration language? That’s a rhetorical question; obviously no one designed it, it just happened.

Today’s example: the syntax for ip nat pool. It needs a name, a netmask, and an address range. Unusually for Cisco, it’ll let you use either a traditional 4-byte netmask or a cidr prefix-length for specifying the netmask. Except, it won’t convert between the two, so it remembers it in whichever format you provided. Nice and consistent. The address(s) can be entered either on the ip nat pool line, or they can be left out, but if they’re left out you’ll be dropped into config-ipnat-pool config mode, where you can enter one or more address range pairs. If you enter one, then show config will show you the single-line form, if you enter more then one, then you’ll get the config-mode form.

Way to be consistent, guys. By itself, this isn’t too hideously nasty, but IOS is completely full of things like this. When faced with a choice, they not only took both forks, but added a mountain bike trail and maybe a passenger trebuchet, and then it keeps track of how you got to the far end. And, if you take the trebuchet, it keeps track of how many pieces you arrive in.

Posted in  | no comments

Work is hell, or at least Cisco is evil

Posted by Scott Laird Wed, 10 Sep 2003 01:17:52 GMT

It’s been an interesting week for work, and it’s only Tuesday. We’ve just started a big project at work to replace our existing grammar for Cisco IOS with a new, shiny one that’s more complete, and the sheer size of IOS keeps getting to me. There are probably somewhere around 15,000 IOS configuration commands, as we count them, and the grammar that covers all of them stretches the limits of most parser generators. We’ve been killing yacc this week, it’s been fun.

Posted in  | Tags ,  | 5 comments

Older posts: 1 2