February 22, 2019
Improvements in the MIB loading process
The system’s behaviour (TM&TC) generally remains consistent with previous versions, but the system is more rigorous in checking the loaded contents, especially where duplicates appear after merging several MIB’s.
You are not obliged to clean up duplicates immediately, but you will see warnings. These warnings are correct, and you should clean up as soon as it is convenient.All table resolution (searching for cross-references) is now done after loading all tables; therefore, e.g. cross-references are now allowed from MIB databases loaded first to databases loaded last.
- Tables are still loaded in the alphabetic order of their source name, but cross-references are globally resolved after the file loading and merging process is finished.
- There are additional checks on legal contents of rows. Rows with illegal contents are rejected (not loaded at all).
- Invalid duplicates in tables, for example duplicated TC header names, or duplicate TC names in different MIB’s are now warned.
- A uniform format for reporting errors is used, including the line number in the original file where the error occurred.
- The MIB viewer highlights objects that are not resolved.
The whole MIB loading process is faster, because it performs fewer repeated sorts and searches during loading.
The correct user action when a duplicate is reported is to clean up duplicates from all except a single MIB. Note that cross-references are allowed from one MIB to another, even to MIB’s that are loaded later, but there is a potential ambiguity when the target object is duplicated. The ambiguity should be removed, to make sure that it is clear which TC or which TM object is actually to be used.
Recognising that it may not be convenient to clean up all duplicates immediately, a consistent approach is taken when a duplicate exists:
- When linking one object to another (e.g. TC in CCF table to TC header in TCP table), the first loaded object is selected, so e.g. the first defined TC header will be used.
- When adding one object to another (e.g. TC parameter in CDF table to TC in CCF table), only objects in the same MIB as the target object are added to the target object, e.g. duplicated TC parameters from a second MIB are not added to a duplicated command and remain unresolved, with a warning. Note that so long as there is no duplicate, it is allowed to add objects from one MIB to objects in another.