def JuniperEXBackend(network_name, nrm_ports, parent_requester, cfg):

    name = network_name % 'JuniperEX %s'
    nrm_map  = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend
    port_map = dict( [ (p.name, p.interface) for p in nrm_ports ] ) # for the nrm backend

    # extract config items
    host             = cfg[config.JUNIPER_HOST]
    port             = cfg.get(config.JUNIPER_PORT, 22)
    host_fingerprint = cfg[config.JUNIPER_HOST_FINGERPRINT]
    user             = cfg[config.JUNIPER_USER]
    ssh_public_key   = cfg[config.JUNIPER_SSH_PUBLIC_KEY]
    ssh_private_key  = cfg[config.JUNIPER_SSH_PRIVATE_KEY]

    cm = JuniperEXConnectionManager(port_map, host, port, host_fingerprint, user, ssh_public_key, ssh_private_key)
    return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
dataset/ETHPy150Open NORDUnet/opennsa/opennsa/backends/juniperex.py/JuniperEXBackend/swapped operands of `%`