The networking_cisco.plugins.cisco.cfg_agent.device_drivers.csr1kv.iosxe_routing_driver Module

class networking_cisco.plugins.cisco.cfg_agent.device_drivers.csr1kv.iosxe_routing_driver.IosXeRoutingDriver(**device_params)

Bases: networking_cisco.plugins.cisco.cfg_agent.device_drivers.devicedriver_api.RoutingDriverBase

Generic IOS XE Routing Driver.

This driver encapsulates the configuration logic via NETCONF protocol to configure a generic (IOS-XE based) device for implementing Neutron L3 services. These services include routing, NAT and floating IPs (as per Neutron terminology).

DEV_NAME_LEN = 14
caller_name(skip=2)
Get a name of a caller in the format module.class.method

skip specifies how many levels of stack to skip while getting caller name. skip=1 means “who calls me”, skip=2 “who calls my caller” etc.

An empty string is returned if skipped levels exceed stack height

cleanup_invalid_cfg(hd, routers)
clear_connection()
disable_internal_network_NAT(ri, port, ext_gw_port)
enable_internal_network_NAT(ri, port, ext_gw_port)
external_gateway_added(ri, ext_gw_port)
external_gateway_removed(ri, ext_gw_port)
floating_ip_added(ri, ext_gw_port, floating_ip, fixed_ip)
floating_ip_removed(ri, ext_gw_port, floating_ip, fixed_ip)
get_configuration()
internal_network_added(ri, port)
internal_network_removed(ri, port)
router_added(ri)
router_removed(ri)
routes_updated(ri, action, route)