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)[source]

Bases: pyeapi.api.abstract.Entity

The Ospf class implements global Ospf router configuration

add_network(network, netmask, area=0)[source]

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)[source]

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)[source]

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)[source]

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()[source]

Removes the entire ospf process from the running configuration

Parameters

None

Returns

True if the command completed succssfully

Return type

bool

get(vrf=None)[source]

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)[source]

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)[source]

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()[source]

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)[source]

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()[source]

Shutdowns the OSPF process

Parameters

None

Returns

True if the commands are completed successfully

Return type

bool

pyeapi.api.ospf.instance(api)[source]

Returns an instance of Ospf