we are using external DB.

while typing the configuration line there are calls to the get_elem registred function in my application.
I see the following:
TRACE CALL data get_elem(thandle=8,/tp/tp-tunnels/tp-tunnel/config/name)
when typing in cli: tp tp-tunnels tp-tunnel abc
sometimes I manage to do the space but then I fail while typing tp tp-tunnels tp-tunnel abc unidirectional on the following:
TRACE CALL data get_elem(thandle=8,/tp/tp-tunnels/tp-tunnel{abc eci-tp:unidirectional}/name

both of them fails on: Assertion `(type)->type == C_XMLTAG’ failed.

the relevant code:
confd_value_t *type = &(a_pKeyPath->v[0][0]); //tp type

case eci_tp_unidirectional:


I have 2 questions:

  1. how come sometimes I faile just after the name abc and sometimes it fails one step later?
  2. why the CONFD_GET_XMLTAG fails?
  3. basiclly in order to configure or to get_elem in my external DB I need to have both type (e.g. unidirectional) and name (e.g. abc). how can I get them in the TRACE you see above?
    thanks in advance

I don’t know if it is relevant, but our relevant part of yang model looks like that:
grouping tp-tunnels-grouping{
“Tunnels TP configuration data grouping”;
container tp-tunnels {
“Tunnels TP configuration data container”;

	tailf:callpoint tpTunnel;
      list tp-tunnel {
        key "name type";
        description "TP tunnel.";
        leaf name {
          type leafref {
            path "../config/name";
          description "TP tunnel name.";
        leaf type {
          type leafref {
            path "../config/type";
          description "TP tunnel type.";
        uses tp-tunnel-properties;
            uses tp-lsps-grouping;



For this type of debugging related questions, it is best to raise a ticket with our support team.