cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

Cisco Community Designated VIP Class of 2020

XR usability and debugability! Got a wish? COMMENT!

2062
Views
0
Helpful
39
Comments
Cisco Employee

Usability and debugability is close to my heart. We have all so many "little things" that we always wanted to see and have in XR that never seem to happen.

THAT IS GOING TO CHANGE!

On Tuesday July 29th we're having a development event to take care of as many usability enhancements as we can!!

The target is to create a feature pack (a-la the now "well-known" service packs) with all the existing smu's, but with this extra functionality. After the event, we'll post a read-out as to what it is that you're gonna get from this.

What I need from YOU!

I am sure you have a need or idea, if you can comment and post a comment with your list of requirements so I can add them to the dev list for the usability event. I need as many ideas as we can!

If you have a desire or idea, this is YOUR chance to get it on the list and have it taken care of sooner then you'd expect.

Now one gotcha (of course :) large(r) features we can't pull off in that event, but all kinds of little show, debug or usability enhancements sure thing. So eg interface-range, yup I know that one, that is a bit too big due to complexity, but removing the \n from the bgp v6 neighbor (my pet-peeve) is definitely something! And oh, we're already getting the BE/bundle-ether mapping in 513 :)

Got an idea?! SHARE!!!

cheers!

xander

39 Comments
Beginner

Nothing deep here, but a few things off the top of my head.

A simple one first as I currently struggle with it.

1) In IOS, the "ip directed-broadcast" command is able to include an ACL.

The ACL option is not allowed in IOS-XR.

I wondered if there was a reason for this being left off?

As an alternative to provide remote wake-on-lan capability, I see one might use a static ARP entry method.

http://blog.ipspace.net/2011/11/sending-wake-on-lan-wol-packet-with-ios.html

Perhaps the ACL capability was left off as this was seen as a better strategy to use?

2) +1 ,   being able to abbreviate 'bundle-ethernet' to 'be'

3) Please continue to evolve the CSM tool to assist/ease SMUs and upgrades.

CSM2.0 was a nice step forward.

4) Add the ability to use the edit facility to be able to edit ACLs as can be done for other types of sets.

5) I still think I like the statelessness of DHCPv6 relay better than proxying... ;-) Perhaps your older (3/30/2011)  post on this topic could be updated to cover why developers removed it?

6) Outside of release notes, I like to see efforts like Greg Tillett's (cisco) email list notices to 'wireless enthusiasts" about Cisco wireless development and happenings.  As part of your effort here, perhaps something similar for IOS-XR? (through email or forum based).

7) add 'host' and 'mtr' as options to the utility command

Beginner

Hi Xander,
well, here's a list with some bullet points that came to my mind:

A litte bit more "Juniper stuff":
- show | compare (should be doable as soon as diff is available: diff "do show running-config" "show configuration merge")
- commit check
- monitor command (which is basicly a "watch -n1 whatever")
- custom sanity check at commiting to enforce standards (JunOS-like SLAX)
- annotate (ability to insert & remove comments into the config)
- deactivate (ability to deactivate & activate some parts of the config without deleting)


Fix some annoying CLI stuff:
- Mapping BE -> Bundle-Ether, as already mentioned
- traceroute not only with source IP but also with source interface like in IOS
- ping parameter alias: repeat -> count, df-bit -> donotfrag, also IOS-like
- some formal configuration commands are not acceped, e.g. "interface ... apply-group ..." or "router isis 1 interface ... apply-group ..."
- don't use commands like "show bfd whatever" and "show bfd-hw-offload whatever", same with "bundle" & "bundle-hash" to prevent unneccesary "typing jams", make it a sub-command instead
- Applying groups at a global level is somehow tricky, especially removing them or adding multiple which required multiple commits (at least at 5.1.0, IMHO)
- make "show version" -> "show version brief" and current "show version" -> "show version detailed", most people don't use that package stuff I guess and it takes quite some time to run the command
- In commands where locations are needed, show only valid locations for that command (prevent lots of "Command is not supported on ...")
- Wildcards ("*") don't work everywhere, like "show running-config interface Bundle-Ether*"


Some features:
- option to force "configure exclusive"
- IOS-like "show run vrf ..." or "context ..." VRF sub-mode (very useful if you use the 9K as VPN PE)
- A command to show _all_ config related to an interface over _all_ processes
- option to save commit requests for a later application (e.g. change prep), maybe in combiation with "commit at ..." or "commit in ..."
- make a simple "grep" available (typo, since egrep is mostly an alias for "grep -e" on linux)
- omit the "utility" in combination with a pipe, if possible
- auto-complete on tab / whitespace for configured variables / parameters, like VRF, peer-groups, etc.
- make wget, curl & mtr available - iperf, nmap & tcpdump could be useful too, but don't know if it makes much sense due to the architecture if possible at all
- file transfer thru SCP & HTTP / HTTPS (maybe wget?)
- option to have unconfigured interfaces in shutdown by default (that's currently not the case, afaik)
- A PIE for dopewars ;-) (wouldn't that be something for the first feature pack?! ;-) )


Regards
Christoph
 

- Decide whether you support wildcards or not, if yes, make them available to all "install * " commands, not only to "install activate"

 

- ISSU for software upgrades!!!

 

- Make it easier to read mac addresses from the bridge domain

 

Florian

 

Beginner

Ah, just another thing which came to my mind:
When it comes to all PIE-related things (SMU's, SP's, features packs, etc.), why don't you integrate a package-manager like thing into XR? I mean something like APT or yum, but for XR.

CSM is a step in the right direction, but when feature packs arrive, I don’t want to fire up an application just for installing a single feature pack onto one box.
And let's be honest, most people still prefer the CLI over a point & click application…

Regards
Christoph

 

 

- Some additional filtering options for debugging PPPoE & PPP packet / sessions would be useful. In many cases during the debuging of unsuccessfull sessions (e.g. wrong username), we do not have the subscriber MAC address but we know the expected circuit-id. It would be useful to be able to debug PPP (and PPPOE if possible) using the circuit-id to identify a specific session.

- The output of show configuration failed a lot of times is not very helpful

- Last - this is not strictly related to the IOS XR - but the IOS XR XML-API and the Perl toolkit seem a little outdated when compared to the NXAPI and corresponding python API of Nexus 9000. It would be nice to have a python API for IOS XR

Victor

Cisco Employee

hi gary! thanks for these pointers, few answers (and some questions)

1) no particular reason why it was left out, the directed broadcast was not something we foresaw as a necessity per-se and generally only used for dhcp (although of coruse there are other applications) hence. Do you have a specific use for this capability or is it merely a hey I was used to it and now gone?

2) ok that is taken care of in 513 :)

3) thanks! yeah we have a lot of focus, dedication and attention to it. Although CSM is not part of the dev event (separate group), but I would like to hear what you like to see evolved or if interested I can connect you with the guy in my group that project manages this so he can get the ideas from you directly?

4) This is an interesting request, because the ask that I usually get is the conversion of RPL into an ACL style format (with lines so it can be configured inline rather then by editor). This is on the roadmap, but the ask you have, editor for ACL is not. This will be a big work, so I need to put this on the shelf unfortunately to build a case around it, but noted.

5) The answer to that is support reasons really. Due to lack of demand, we didnt dev on it as hard as proxy and that leaves things vulnerable, hence it was removed. I would like to reinstantiate it if necessary, but can you tell me what you like better about relay vs proxy in this regard? I need such ammo in order to warrant the dev and test time.

6) Awesome! definitely! Let me work on that.

7) Sounds interesting, can you give me a few examples on how it is used? Should be doable.

Thanks for the inputs, really appreciate it!

cheers

xander

Cisco Employee

Hi Christoph!

great suggestion and in the pipeline indeed! That is the ultimate goal to have a better image repository and management via apt or yum like approach.

We're not there yet however, so we use CSM in the interim while we are squaring it out.

And you're as old school like I am if you prefer CLI over apps :)

cheers!

xander

Cisco Employee

Hi Christoph, great list! Some of it is in the pipeline already, so few responses to your suggestions:

A litte bit more "Juniper stuff":

As a matter of fact we're indeed working on adopting a lot of the good usability stuff they have integrated. Hey we can steel things too :)


- show | compare (should be doable as soon as diff is available: diff "do show running-config" "show configuration merge")

We've got that in XR 513 finalized. A "show config diff" is available that can print the diffs in unix style.

- commit check

Lots of discussion about it, it has to be done on a component per component basis due to the nature of XR, initial focus is on ACL and BGP. More to follow on this.


- monitor command (which is basicly a "watch -n1 whatever")
There is a monitor command available for the interface, can you let me know what needs to change or added to it?


- annotate (ability to insert & remove comments into the config)

This is now available, there is one bug that prevents at times the negation of the comment, but it is in the works (check 513).


- deactivate (ability to deactivate & activate some parts of the config without deleting)

This is on the roadmap indeed, called graceful shutdown.


- ping parameter alias: repeat -> count, df-bit -> donotfrag, also IOS-like
yeah, good one. will look into that.


- don't use commands like "show bfd whatever" and "show bfd-hw-offload whatever", same with "bundle" & "bundle-hash" to prevent unneccesary "typing jams", make it a sub-command instead


Let me look into that.


- make "show version" -> "show version brief" and current "show version" -> "show version detailed", most people don't use that package stuff I guess and it takes quite some time to run the command

one of my pet-peeves too, will look into that.


- In commands where locations are needed, show only valid locations for that command (prevent lots of "Command is not supported on ...")

good idea, will look into that.


- Wildcards ("*") don't work everywhere, like "show running-config interface Bundle-Ether*"

that's a bug, will look into that.


Some features:
- option to force "configure exclusive"
- IOS-like "show run vrf ..." or "context ..." VRF sub-mode (very useful if you use the 9K as VPN PE)
- A command to show _all_ config related to an interface over _all_ processes
- option to save commit requests for a later application (e.g. change prep), maybe in combiation with "commit at ..." or "commit in ..."
- make a simple "grep" available (typo, since egrep is mostly an alias for "grep -e" on linux)

in the works already fortunately (requested many times, some limitations exist due to the QNX kernel we have in todays XR).


- omit the "utility" in combination with a pipe, if possible

may not be possible due to the way parser works, but will verify.


- auto-complete on tab / whitespace for configured variables / parameters, like VRF, peer-groups, etc.
yup, good one, on some commands that works (eg policy-map or rpl) some others don't. can you let me know the commands that dont do that which you need?


- file transfer thru SCP & HTTP / HTTPS (maybe wget?)

good idea. this is in the works.


- option to have unconfigured interfaces in shutdown by default (that's currently not the case, afaik)

yeah by default they are unshut, which is somewhat annoying I guess but changing a default may be tricky also as some other folks may rely on this current behavior. Maybe via a global command like "interface default-shut" or so which will add shutdown to the unused/new interfaces when initialized.

Cisco Employee

Hi Florian,

Will look into the wildcards!

ISSU is not a small request, but definitely necessary, good things are on the way, but unfortunately out of scope for this event...

As for hte mac-addresses, what is the current problem you are facing with the existing way? Can you describe what you like to see changed so I can take that forward?

thanks!

xander

Cisco Employee

Great ideas too Victor!

will file for the conditional debug on PPP/PPPoE

yeah the XML api is a bit out of date indeed, we are getting python support in I want to say 52 (which is just released).

Checking in on the config failed, this may be a larger "program" in terms of instructing de's to file the right error messages when something goes wrong. But I'll check in on that.

regards

xander

Beginner

Hi Xander,

shouldn't 5.1.3 just fix some bugs instead of adding features?! ;-)

Not complaining, just wondering...

 

>>That is the ultimate goal to have a better image repository and management via apt or yum like approach.

If you combine that with HTTP proxy support including proxy authentication, you're golden!

 

>>There is a monitor command available for the interface, can you let me know what needs to change or added to it?

Wow, wasn't aware of that, sorry. But maybe you can make it more versatile, f.e. for ACL- and Policy-Map counters. Adding a "watch" utility might do it already...

 

>>yup, good one, on some commands that works (eg policy-map or rpl) some others don't. can you let me know the commands that dont do that which you need?

Off the top of my head: Interface VRF command, BGP neighbors, at least with 5.1.2.

Compared to JunOS, the look and feel is a bit different since JunOS does also provide me the available options if the command is not unique yet (on whitespace / tab). In XR I have to press tab or space twice to get the same result.

Also the sorting is one below the other, which is easier to read.

 

>>Maybe via a global command like "interface default-shut" or so which will add shutdown to the unused/new interfaces when initialized.

Yeah, that was the direction I had in mind.

But to make it clean, it also depends on the initialization of the cards, don't know if the default "up" state is also controlled by the card at boot time before XR is actually running. Your turn.. ;-)

 

And another idea: Syntax highlighting for RPL edits.

 

Vooraf bedankt!

 

Regards

Christoph

 

Cisco Employee

Florian,

Good point about * wildcard everywhere for installs.. We are working on something like this, it's called single command upgrades. BTW, install * does work for add, or it should, I'll take a look at that.

 

ISSU is a big one, i know Xander touched on this, we are doing a LOT of work in this regards. I don't want to announce those prematurely, but you will be impressed. 

Eddie.

Cisco Employee

Gary, Christoph,

Thanks for the feedback on CSM, we're continuously working on improving that. Today (well in a couple of hours) we will be doing the first demo of CSM Server, which is a zero touch smu management and software deployment app. You just don't need to install through CLI anymore, i love cli too (like xander) because we are bunching in the lab on a couple of routers day in day out, but when you have 500 routers it doesn't scale.. we will have more to come on that..

 

In the mean time keep your thinking caps on and keep sending those ideas on, this is a great discussion we love hearing from you.

 

Eddie.

Beginner

Hi Eddie,

I absolutely agree, but not everybody has 500 routers and therefore the need (and justification) to have an own software management system.

I mean, look at RedHat - they've YUM and optionally a system (Satellite / Spacewalk) to manage hundreds servers. The same applies to Microsoft - I don't set up a WSUS or SCCM for 15 or 20 boxes.

 

If you manage to get the balance between the two, that's gonna be something. :-)

 

Regards

Christoph

 

Beginner

I just stumbled across another small but annoying thing:

Interface bandwith command is still in kbps age whereas we're almost in Tbps age. Suffixes like k, m, g & t would be helpful and prevent counting zeros ad nauseam.

 

Another one: " | section" command from IOS which is quite handy is not available in XR.

 

Regards

Christoph

CreatePlease to create content
Content for Community-Ad
FusionCharts will render here