I don’t see any buggy behavior on ConfD side - it is common that ConfD iterates over list instances several times, especially when CLI interaction is in play. But I see something that looks like a bug in your data provider, you posted this:
TRACE CALL data get_elem(thandle=35,/plmn{400 “”}/mcc)
(NOEXISTS) --> CONFD_OK
This is most likely incorrect, the instance /plmn{400 ""}
was presumably retrieved in one of the previous get_next
invocations and mcc
is the list’s first key. ConfD uses this kind of callback to verify list instance and your data provider needs to reply with the key value (if the instance indeed exists). See also here.