def sim_info(virl_xml, roster=None, interfaces=None, protocol='telnet'):
    """
    common inventory info accross yaml/ini
    """
    inventory = list()
    for node_long_name, device in roster.items():
        if 'managementIP' in device and 'NodeName' in device:
            entry = dict()
            entry['node_long_name'] = node_long_name
            entry['address'] = device['managementIP']
            entry['protocol'] = protocol
        else:
            continue
        name = device['NodeName']
        entry['name'] = name
        entry['ned'] = 'unknown'
        entry['ns'] = 'unkown'
        try:
            type = device['NodeSubtype']
            if 'NX' in type:
                entry['prefix'] = 'cisco-nx-id'
                entry['ned'] = 'cisco-nx'
                entry['ns'] = 'http://tail-f.com/ned/cisco-nx-id'
            elif 'XR' in type:
                entry['prefix'] = 'cisco-ios-xr-id'
                entry['ned'] = 'cisco-ios-xr'
                entry['ns'] = 'http://tail-f.com/ned/cisco-ios-xr-id'
            elif 'CSR' in type or 'IOS' in type:
                entry['prefix'] = 'ios-id'
                entry['ned'] = 'cisco-ios'
                entry['ns'] = 'urn:ios-id'
        except KeyError:
            pass
        if entry.get('ned', None) not in ['unknown', None]:
            inventory.append(entry)
    return inventory
