Get-elem Callback not getting hit post get-next call for a inner level list


I have yang structure with the container and nested list.

 +--ro du
    +--ro RmaDU* [du-id]
       +--ro du-id    int32
       +--ro rim
          +--ro RmaRIM* [rim-id]
             +--ro rim-id     uint16
             +--ro hwinfo
             |  +--ro serial-number?   

The issue is, I do get all the callbacks as expected upto
TRACE CALL data get_next(thandle=40647, /RmaENB/du/RmaDU, -1)

I do set the key and was expecting the get-elem callback to be triggered (just the way I get in case of the 1st/outer level list).

        CONFD_SET_INT16(value, rim_id);
        next_key = 1;
        confd_data_reply_next_key(tctx, value, 1, (long)next_key);

However, I don’t get the get-elem callback for (serial-number) node.

Note: I do get --> CONFD_OK in the trace log for the reply next.

Am I missing something here?

Thank you in advance.


I could get what was the issue (Need to use CONFD_SET_UINT16 )
It’s working fine now.


The callback trace you post here,

TRACE CALL data get_next(thandle=40647, /RmaENB/du/RmaDU, -1)

tries to address the list RmaDU, but your code, if that is what is responsible for the reply, responds with a value for rim_id, which is a key of the list RmaRIM. The important difference is that the two leaves have different type, int32 for du-id and uint16 for rim-id; so confd would get a value with unexpected type and refuses to continue further. If this is the case, you should see a complaint in this sense in devel.log.