Is there a command line option for confdc to give more detail about where the enum conflict is happening other than just the name?
Warning: the following symbols have been suppressed due to a
conflict with an enum or bit with the same mapped name but a different value:
when compiling a module, and I’ve gone through the module and I’m fairly sure all its imports (and imports imports!), and added a unique code-name to all instances of enum UNKNOWN I can find, but I’m still getting the error.
See the confdc(1) man page for what your options are:
Without this option, all macro definitions in the generated .h file are prepended with the argument of the prefix statement in the YANG module. If this
option is used, the macro definitions are prepended with Prefix instead.
If this option is used, macro definitions for enums are omitted from the generated .h file. This can in some cases be useful to avoid conflicts between
enum symbols, or between enums and other symbols.
If there are 58 typedefs with enums in them I suggest you first add those tailf:code-name + tailf-common import statements directly into a copy of the original YANG file and then generate the annotation file using this Python script:
I wish it handled enums the same way protobufs do (enumeration uses its name as the prefix for all the enums within) but I will look into crafting a python script to use the typedef name as the prefix.