On this page
fortios_router_ospf – Configure OSPF in Fortinet’s FortiOS and FortiGate
New in version 2.8.
Synopsis
- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify router feature and ospf category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5
Requirements
The below requirements are needed on the host that executes this module.
- fortiosapi>=0.9.8
Parameters
Parameter | Choices/Defaults | Comments | |||
---|---|---|---|---|---|
host
string
|
FortiOS or FortiGate IP address.
|
||||
https
boolean
|
|
Indicates if the requests towards FortiGate must use HTTPS protocol.
|
|||
password
string
|
Default:
""
|
FortiOS or FortiGate password.
|
|||
router_ospf
dictionary
|
Default:
null
|
Configure OSPF.
|
|||
abr_type
string
|
|
Area border router type.
|
|||
area
list
|
OSPF area configuration.
|
||||
authentication
string
|
|
Authentication type.
|
|||
default_cost
integer
|
Summary default cost of stub or NSSA area.
|
||||
filter_list
list
|
OSPF area filter-list configuration.
|
||||
direction
string
|
|
Direction.
|
|||
id
integer / required
|
Filter list entry ID.
|
||||
list
string
|
Access-list or prefix-list name. Source router.access-list.name router.prefix-list.name.
|
||||
id
string / required
|
Area entry IP address.
|
||||
nssa_default_information_originate
string
|
|
Redistribute, advertise, or do not originate Type-7 default route into NSSA area.
|
|||
nssa_default_information_originate_metric
integer
|
OSPF default metric.
|
||||
nssa_default_information_originate_metric_type
string
|
|
OSPF metric type for default routes.
|
|||
nssa_redistribution
string
|
|
Enable/disable redistribute into NSSA area.
|
|||
nssa_translator_role
string
|
|
NSSA translator role type.
|
|||
range
list
|
OSPF area range configuration.
|
||||
advertise
string
|
|
Enable/disable advertise status.
|
|||
id
integer / required
|
Range entry ID.
|
||||
prefix
string
|
Prefix.
|
||||
substitute
string
|
Substitute prefix.
|
||||
substitute_status
string
|
|
Enable/disable substitute status.
|
|||
shortcut
string
|
|
Enable/disable shortcut option.
|
|||
stub_type
string
|
|
Stub summary setting.
|
|||
type
string
|
|
Area type setting.
|
|||
virtual_link
list
|
OSPF virtual link configuration.
|
||||
authentication
string
|
|
Authentication type.
|
|||
authentication_key
string
|
Authentication key.
|
||||
dead_interval
integer
|
Dead interval.
|
||||
hello_interval
integer
|
Hello interval.
|
||||
md5_key
string
|
MD5 key.
|
||||
name
string / required
|
Virtual link entry name.
|
||||
peer
string
|
Peer IP.
|
||||
retransmit_interval
integer
|
Retransmit interval.
|
||||
transmit_delay
integer
|
Transmit delay.
|
||||
auto_cost_ref_bandwidth
integer
|
Reference bandwidth in terms of megabits per second.
|
||||
bfd
string
|
|
Bidirectional Forwarding Detection (BFD).
|
|||
database_overflow
string
|
|
Enable/disable database overflow.
|
|||
database_overflow_max_lsas
integer
|
Database overflow maximum LSAs.
|
||||
database_overflow_time_to_recover
integer
|
Database overflow time to recover (sec).
|
||||
default_information_metric
integer
|
Default information metric.
|
||||
default_information_metric_type
string
|
|
Default information metric type.
|
|||
default_information_originate
string
|
|
Enable/disable generation of default route.
|
|||
default_information_route_map
string
|
Default information route map. Source router.route-map.name.
|
||||
default_metric
integer
|
Default metric of redistribute routes.
|
||||
distance
integer
|
Distance of the route.
|
||||
distance_external
integer
|
Administrative external distance.
|
||||
distance_inter_area
integer
|
Administrative inter-area distance.
|
||||
distance_intra_area
integer
|
Administrative intra-area distance.
|
||||
distribute_list
list
|
Distribute list configuration.
|
||||
access_list
string
|
Access list name. Source router.access-list.name.
|
||||
id
integer / required
|
Distribute list entry ID.
|
||||
protocol
string
|
|
Protocol type.
|
|||
distribute_list_in
string
|
Filter incoming routes. Source router.access-list.name router.prefix-list.name.
|
||||
distribute_route_map_in
string
|
Filter incoming external routes by route-map. Source router.route-map.name.
|
||||
log_neighbour_changes
string
|
|
Enable logging of OSPF neighbour's changes
|
|||
neighbor
list
|
OSPF neighbor configuration are used when OSPF runs on non-broadcast media
|
||||
cost
integer
|
Cost of the interface, value range from 0 to 65535, 0 means auto-cost.
|
||||
id
integer / required
|
Neighbor entry ID.
|
||||
ip
string
|
Interface IP address of the neighbor.
|
||||
poll_interval
integer
|
Poll interval time in seconds.
|
||||
priority
integer
|
Priority.
|
||||
network
list
|
OSPF network configuration.
|
||||
area
string
|
Attach the network to area.
|
||||
id
integer / required
|
Network entry ID.
|
||||
prefix
string
|
Prefix.
|
||||
ospf_interface
list
|
OSPF interface configuration.
|
||||
authentication
string
|
|
Authentication type.
|
|||
authentication_key
string
|
Authentication key.
|
||||
bfd
string
|
|
Bidirectional Forwarding Detection (BFD).
|
|||
cost
integer
|
Cost of the interface, value range from 0 to 65535, 0 means auto-cost.
|
||||
database_filter_out
string
|
|
Enable/disable control of flooding out LSAs.
|
|||
dead_interval
integer
|
Dead interval.
|
||||
hello_interval
integer
|
Hello interval.
|
||||
hello_multiplier
integer
|
Number of hello packets within dead interval.
|
||||
interface
string
|
Configuration interface name. Source system.interface.name.
|
||||
ip
string
|
IP address.
|
||||
md5_key
string
|
MD5 key.
|
||||
mtu
integer
|
MTU for database description packets.
|
||||
mtu_ignore
string
|
|
Enable/disable ignore MTU.
|
|||
name
string / required
|
Interface entry name.
|
||||
network_type
string
|
|
Network type.
|
|||
prefix_length
integer
|
Prefix length.
|
||||
priority
integer
|
Priority.
|
||||
resync_timeout
integer
|
Graceful restart neighbor resynchronization timeout.
|
||||
retransmit_interval
integer
|
Retransmit interval.
|
||||
status
string
|
|
Enable/disable status.
|
|||
transmit_delay
integer
|
Transmit delay.
|
||||
passive_interface
list
|
Passive interface configuration.
|
||||
name
string / required
|
Passive interface name. Source system.interface.name.
|
||||
redistribute
list
|
Redistribute configuration.
|
||||
metric
integer
|
Redistribute metric setting.
|
||||
metric_type
string
|
|
Metric type.
|
|||
name
string / required
|
Redistribute name.
|
||||
routemap
string
|
Route map name. Source router.route-map.name.
|
||||
status
string
|
|
status
|
|||
tag
integer
|
Tag value.
|
||||
restart_mode
string
|
|
OSPF restart mode (graceful or LLS).
|
|||
restart_period
integer
|
Graceful restart period.
|
||||
rfc1583_compatible
string
|
|
Enable/disable RFC1583 compatibility.
|
|||
router_id
string
|
Router ID.
|
||||
spf_timers
string
|
SPF calculation frequency.
|
||||
summary_address
list
|
IP address summary configuration.
|
||||
advertise
string
|
|
Enable/disable advertise status.
|
|||
id
integer / required
|
Summary address entry ID.
|
||||
prefix
string
|
Prefix.
|
||||
tag
integer
|
Tag value.
|
||||
ssl_verify
boolean
added in 2.9
|
|
Ensures FortiGate certificate must be verified by a proper CA.
|
|||
username
string
|
FortiOS or FortiGate username.
|
||||
vdom
string
|
Default:
"root"
|
Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.
|
Notes
Note
- Requires fortiosapi library developed by Fortinet
- Run as a local_action in your playbook
Examples
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
ssl_verify: "False"
tasks:
- name: Configure OSPF.
fortios_router_ospf:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
https: "False"
router_ospf:
abr_type: "cisco"
area:
-
authentication: "none"
default_cost: "6"
filter_list:
-
direction: "in"
id: "9"
list: "<your_own_value> (source router.access-list.name router.prefix-list.name)"
id: "11"
nssa_default_information_originate: "enable"
nssa_default_information_originate_metric: "13"
nssa_default_information_originate_metric_type: "1"
nssa_redistribution: "enable"
nssa_translator_role: "candidate"
range:
-
advertise: "disable"
id: "19"
prefix: "<your_own_value>"
substitute: "<your_own_value>"
substitute_status: "enable"
shortcut: "disable"
stub_type: "no-summary"
type: "regular"
virtual_link:
-
authentication: "none"
authentication_key: "<your_own_value>"
dead_interval: "29"
hello_interval: "30"
md5_key: "<your_own_value>"
name: "default_name_32"
peer: "<your_own_value>"
retransmit_interval: "34"
transmit_delay: "35"
auto_cost_ref_bandwidth: "36"
bfd: "enable"
database_overflow: "enable"
database_overflow_max_lsas: "39"
database_overflow_time_to_recover: "40"
default_information_metric: "41"
default_information_metric_type: "1"
default_information_originate: "enable"
default_information_route_map: "<your_own_value> (source router.route-map.name)"
default_metric: "45"
distance: "46"
distance_external: "47"
distance_inter_area: "48"
distance_intra_area: "49"
distribute_list:
-
access_list: "<your_own_value> (source router.access-list.name)"
id: "52"
protocol: "connected"
distribute_list_in: "<your_own_value> (source router.access-list.name router.prefix-list.name)"
distribute_route_map_in: "<your_own_value> (source router.route-map.name)"
log_neighbour_changes: "enable"
neighbor:
-
cost: "58"
id: "59"
ip: "<your_own_value>"
poll_interval: "61"
priority: "62"
network:
-
area: "<your_own_value>"
id: "65"
prefix: "<your_own_value>"
ospf_interface:
-
authentication: "none"
authentication_key: "<your_own_value>"
bfd: "global"
cost: "71"
database_filter_out: "enable"
dead_interval: "73"
hello_interval: "74"
hello_multiplier: "75"
interface: "<your_own_value> (source system.interface.name)"
ip: "<your_own_value>"
md5_key: "<your_own_value>"
mtu: "79"
mtu_ignore: "enable"
name: "default_name_81"
network_type: "broadcast"
prefix_length: "83"
priority: "84"
resync_timeout: "85"
retransmit_interval: "86"
status: "disable"
transmit_delay: "88"
passive_interface:
-
name: "default_name_90 (source system.interface.name)"
redistribute:
-
metric: "92"
metric_type: "1"
name: "default_name_94"
routemap: "<your_own_value> (source router.route-map.name)"
status: "enable"
tag: "97"
restart_mode: "none"
restart_period: "99"
rfc1583_compatible: "enable"
router_id: "<your_own_value>"
spf_timers: "<your_own_value>"
summary_address:
-
advertise: "disable"
id: "105"
prefix: "<your_own_value>"
tag: "107"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
build
string
|
always |
Build number of the fortigate image
Sample:
1547
|
http_method
string
|
always |
Last method used to provision the content into FortiGate
Sample:
PUT
|
http_status
string
|
always |
Last result given by FortiGate on last operation applied
Sample:
200
|
mkey
string
|
success |
Master key (id) used in the last call to FortiGate
Sample:
id
|
name
string
|
always |
Name of the table used to fulfill the request
Sample:
urlfilter
|
path
string
|
always |
Path of the table used to fulfill the request
Sample:
webfilter
|
revision
string
|
always |
Internal revision number
Sample:
17.0.2.10658
|
serial
string
|
always |
Serial number of the unit
Sample:
FGVMEVYYQT3AB5352
|
status
string
|
always |
Indication of the operation's result
Sample:
success
|
vdom
string
|
always |
Virtual domain used
Sample:
root
|
version
string
|
always |
Version of the FortiGate
Sample:
v5.6.3
|
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/fortios_router_ospf_module.html