Just a quick question, Is it possible using the MTE to convert an external attribute, into an internal one? We want to convert the ifAlias attribute from an external attribtue into an internal one (so that instead of querying an attribute on-demand - as an external attribute would do by default, we have it in memory so queries are much faster).
Is this possible and/or feasable? We have circuit info and/or other info in these ifAliases for interfaces and it would be great to be able to find out which circuit numbers are on which interfaces.
Also if it is possible, how would I get spectrum to update this info (e.g. every 24 hours)? Is this something that is possible without breaking anything? Is it better to just get new attribute in MTE (seems a waste?).
I realise this will increase the memory and/or disk space requirement but we are ok with that. If this works for ifAlias, I'd probably consider doing this with other attributes too, as we use Spectrum as our MoM.
There is already an internal attribute for all interfaces that does exactly that. It's called Internal_If_Alias (0x11f82). I think it's only updated on Interface reconfiguration events and/or device reconfiguration events. Not sure about that though, some technicians may tell you exactly on what event this is reconfigured.
You can set RW communities to Spectrum and set the attributed Write_If_Alias (0x11f83) to 'yes'. This will allow Spectrum to control the ifAlias remotely.
I recommend testing it first. You might mess every configuration on your interfaces, as the last time I did this, Spectrum tried to update automatically the ifAlias for all interfaces that did not have any ifAlias set.
There was also a question regarding changing other attributes from External to Internal. You really can't change the attribute from external to internal. You would have to create another attribute and then populate that. It sounds like what you really want to do is change the read mode when you are reading the attributes. I don't know what you are using to read the attributes but the SSORB API does allow you to specify the read mode when reading attributes. If you set the memory flag on the external attribute and then used READ_MOST_AVAILABLE for the read mode I believe that would get the value from memory before reading it externally.
This is all good info…
I’d like to just point out that for some attributes, we have made them internal by adding “X_” to the beginning of the attribute name.
Also, specifically for ifAlias, you will most likely run into some sort of problem trying to configure it, so we actually created X_ifAlias in 9.4.2. Check out this tech doc:
Document ID: TEC614054
CA Spectrum's Internal_If_Alias attribute does not match the devices actual ifAlias entry for ports
Hope that helps!
Sadly, in the past I have found the "X_*" attributes to still cause SNMP polling to occur, thus they weren't useful for what I was trying to do (similar to the original posed question).
For Reference: Support Ticket "00320813: X_IfType (0x12dfa) Invokes SNMP Poll"
This was my thought exactly. Basically the action to update the attribute value is system-wide action, it not device based action, that is if I got it right from what Jay is saying. Not very comforting when you have man devices and maybe some of those with 2-3000 interfaces.
Btw, are there any plans to implement a throttle mechanism for SNMP requests sent by Spectrum?
Spectrum does contain a throttling mechanism for SNMP requests. The following is from the documentation:
Attribute ID: 0x11f79
Controls whether CA Spectrum restricts the amount of outstanding SNMP requests to a device.
Throttling helps to alleviate problems involving SNMP agents that cannot handle large amounts of
Attribute ID: 0x11f39
Determines how many outstanding SNMP requests are allowed when throttling is enabled for a
Thanks for all the input. I've also noticed that some of the X_ attributes do actually poll. We actually went through an excercise to see which are truly internal and found many not to be.
It looks like I'll have to create new attributes from the feedback so far. I think some of the X_ attributes might actually be useful - I'll look at the X_ifAlias one in particular.
I know about the RW attributes you can change but that's not something we want to implement as only our Network team are supposed to be making changes.