Found by Eric Munson while testing C++ bundle for IOS XR. See Cisco Community post for details.
Current Behavior
C++ YList class fails to process key values when its name contains '-' character. When not recognized the YList algorithm skips the key.
Your Script
Part of C++ program to test and show the issue.
NetconfServiceProvider provider{"ip_address", "username", "password", 830};
try
{
auto intf_filter = make_shared<cisco_ios_xr::Cisco_IOS_XR_ifmgr_cfg::InterfaceConfigurations>();
CrudService crud_service{};
auto intf_read = crud_service.read( provider, *intf_filter );
if(intf_read == nullptr)
{
cout << "=================================================="<<endl;
cout << "No entries found"<<endl<<endl;
cout << "=================================================="<<endl;
return 0;
}
auto intf_read_ptr = dynamic_cast<cisco_ios_xr::Cisco_IOS_XR_ifmgr_cfg::InterfaceConfigurations*>(intf_read.get());
cout << "Number of interfaces: " << intf_read_ptr->interface_configuration.len() << endl;
Even though the Netconf returns multiple interfaces, the length of the list is always 1.
System Information
YDK-0.8.4
Found by Eric Munson while testing C++ bundle for IOS XR. See Cisco Community post for details.
Current Behavior
C++ YList class fails to process key values when its name contains '-' character. When not recognized the YList algorithm skips the key.
Your Script
Part of C++ program to test and show the issue.
Even though the Netconf returns multiple interfaces, the length of the list is always 1.
System Information
YDK-0.8.4