Ospf

Module for working with OSPF configuration in EOS

This module provides an API for creating/modifying/deleting OSPF configurations

class pyeapi.api.ospf.Ospf(*args, **kwargs)

Bases: pyeapi.api.abstract.Entity

The Ospf class implements global Ospf router configuration

add_network(network, netmask, area=0)

Adds a network to be advertised by OSPF

Parameters:
  • network (str) – The network to be advertised in dotted decimal notation
  • netmask (str) – The netmask to configure
  • area (str) – The area the network belongs to. By default this value is 0
Returns:

True if the command completes successfully

Return type:

bool

Exception:
ValueError: This will get raised if network or netmask
are not passed to the method
add_redistribution(protocol, route_map_name=None)

Adds a protocol redistribution to OSPF

Parameters:
  • protocol (str) – protocol to redistribute
  • route_map_name (str) – route-map to be used to filter the protocols
Returns:

True if the command completes successfully

Return type:

bool

Exception:
ValueError: This will be raised if the protocol pass is not one
of the following: [rip, bgp, static, connected]
configure_ospf(cmd)

Allows for a list of OSPF subcommands to be configured”

Parameters:cmd – (list or str): Subcommand to be entered
Returns:True if all the commands completed successfully
Return type:bool
create(ospf_process_id, vrf=None)

Creates a OSPF process in the specified VRF or the default VRF.

Parameters:
  • ospf_process_id (str) – The OSPF process Id value
  • vrf (str) – The VRF to apply this OSPF process to
Returns:

True if the command completed successfully

Return type:

bool

Exception:
ValueError: If the ospf_process_id passed in less
than 0 or greater than 65536
delete()

Removes the entire ospf process from the running configuration

Parameters:None
Returns:True if the command completed succssfully
Return type:bool
get(vrf=None)

Returns the OSPF routing configuration

Parameters:vrf (str) – VRF name to return OSPF routing config for
Returns:
keys: router_id (int): OSPF router-id
vrf (str): VRF of the OSPF process networks (dict): All networks that
are advertised in OSPF

ospf_process_id (int): OSPF proc id redistribution (dict): All protocols that

are configured to be redistributed in OSPF
shutdown (bool): Gives the current shutdown
off the process
Return type:dict
remove_network(network, netmask, area=0)

Removes a network advertisment by OSPF

Parameters:
  • network (str) – The network to be removed in dotted decimal notation
  • netmask (str) – The netmask to configure
  • area (str) – The area the network belongs to. By default this value is 0
Returns:

True if the command completes successfully

Return type:

bool

Exception:
ValueError: This will get raised if network or netmask
are not passed to the method
remove_redistribution(protocol)

Removes a protocol redistribution to OSPF

Parameters:
  • protocol (str) – protocol to redistribute
  • route_map_name (str) – route-map to be used to filter the protocols
Returns:

True if the command completes successfully

Return type:

bool

Exception:
ValueError: This will be raised if the protocol pass is not one
of the following: [rip, bgp, static, connected]
set_no_shutdown()

Removes the shutdown property from the OSPF process

Parameters:None
Returns:True if the commands are completed successfully
Return type:bool
set_router_id(value=None, default=False, disable=False)

Controls the router id property for the OSPF Proccess

Parameters:
  • value (str) – The router-id value
  • default (bool) – Controls the use of the default keyword
  • disable (bool) – Controls the use of the no keyword
Returns:

True if the commands are completed successfully

Return type:

bool

set_shutdown()

Shutdowns the OSPF process

Parameters:None
Returns:True if the commands are completed successfully
Return type:bool
pyeapi.api.ospf.instance(api)

Returns an instance of Ospf