- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# fortios_router_isis – Configure IS-IS in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify router feature and isis 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 | Choices: no yes ← | Indicates if the requests towards FortiGate must use HTTPS protocol.
password string | Default: "" | FortiOS or FortiGate password.
router_isis dictionary | Default: null | Configure IS-IS.
| adjacency_check string | Choices: enable disable | Enable/disable adjacency check.
| adjacency_check6 string | Choices: enable disable | Enable/disable IPv6 adjacency check.
| adv_passive_only string | Choices: enable disable | Enable/disable IS-IS advertisement of passive interfaces only.
| adv_passive_only6 string | Choices: enable disable | Enable/disable IPv6 IS-IS advertisement of passive interfaces only.
| auth_keychain_l1 string |  | Authentication key-chain for level 1 PDUs. Source router.key-chain.name.
| auth_keychain_l2 string |  | Authentication key-chain for level 2 PDUs. Source router.key-chain.name.
| auth_mode_l1 string | Choices: password md5 | Level 1 authentication mode.
| auth_mode_l2 string | Choices: password md5 | Level 2 authentication mode.
| auth_password_l1 string |  | Authentication password for level 1 PDUs.
| auth_password_l2 string |  | Authentication password for level 2 PDUs.
| auth_sendonly_l1 string | Choices: enable disable | Enable/disable level 1 authentication send-only.
| auth_sendonly_l2 string | Choices: enable disable | Enable/disable level 2 authentication send-only.
| default_originate string | Choices: enable disable | Enable/disable distribution of default route information.
| default_originate6 string | Choices: enable disable | Enable/disable distribution of default IPv6 route information.
| dynamic_hostname string | Choices: enable disable | Enable/disable dynamic hostname.
| ignore_lsp_errors string | Choices: enable disable | Enable/disable ignoring of LSP errors with bad checksums.
| is_type string | Choices: level-1-2 level-1 level-2-only | IS type.
| isis_interface list |  | IS-IS interface configuration.
|  | auth_keychain_l1 string |  | Authentication key-chain for level 1 PDUs. Source router.key-chain.name.
|  | auth_keychain_l2 string |  | Authentication key-chain for level 2 PDUs. Source router.key-chain.name.
|  | auth_mode_l1 string | Choices: md5 password | Level 1 authentication mode.
|  | auth_mode_l2 string | Choices: md5 password | Level 2 authentication mode.
|  | auth_password_l1 string |  | Authentication password for level 1 PDUs.
|  | auth_password_l2 string |  | Authentication password for level 2 PDUs.
|  | auth_send_only_l1 string | Choices: enable disable | Enable/disable authentication send-only for level 1 PDUs.
|  | auth_send_only_l2 string | Choices: enable disable | Enable/disable authentication send-only for level 2 PDUs.
|  | circuit_type string | Choices: level-1-2 level-1 level-2 | IS-IS interface's circuit type
|  | csnp_interval_l1 integer |  | Level 1 CSNP interval.
|  | csnp_interval_l2 integer |  | Level 2 CSNP interval.
|  | hello_interval_l1 integer |  | Level 1 hello interval.
|  | hello_interval_l2 integer |  | Level 2 hello interval.
|  | hello_multiplier_l1 integer |  | Level 1 multiplier for Hello holding time.
|  | hello_multiplier_l2 integer |  | Level 2 multiplier for Hello holding time.
|  | hello_padding string | Choices: enable disable | Enable/disable padding to IS-IS hello packets.
|  | lsp_interval integer |  | LSP transmission interval (milliseconds).
|  | lsp_retransmit_interval integer |  | LSP retransmission interval (sec).
|  | mesh_group string | Choices: enable disable | Enable/disable IS-IS mesh group.
|  | mesh_group_id integer |  | Mesh group ID <0-4294967295>, 0: mesh-group blocked.
|  | metric_l1 integer |  | Level 1 metric for interface.
|  | metric_l2 integer |  | Level 2 metric for interface.
|  | name string / required |  | IS-IS interface name. Source system.interface.name.
|  | network_type string | Choices: broadcast point-to-point loopback | IS-IS interface's network type
|  | priority_l1 integer |  | Level 1 priority.
|  | priority_l2 integer |  | Level 2 priority.
|  | status string | Choices: enable disable | Enable/disable interface for IS-IS.
|  | status6 string | Choices: enable disable | Enable/disable IPv6 interface for IS-IS.
|  | wide_metric_l1 integer |  | Level 1 wide metric for interface.
|  | wide_metric_l2 integer |  | Level 2 wide metric for interface.
| isis_net list |  | IS-IS net configuration.
|  | id integer / required |  | isis-net ID.
|  | net string |  | IS-IS net xx.xxxx. ... .xxxx.xx.
| lsp_gen_interval_l1 integer |  | Minimum interval for level 1 LSP regenerating.
| lsp_gen_interval_l2 integer |  | Minimum interval for level 2 LSP regenerating.
| lsp_refresh_interval integer |  | LSP refresh time in seconds.
| max_lsp_lifetime integer |  | Maximum LSP lifetime in seconds.
| metric_style string | Choices: narrow wide transition narrow-transition narrow-transition-l1 narrow-transition-l2 wide-l1 wide-l2 wide-transition wide-transition-l1 wide-transition-l2 transition-l1 transition-l2 | Use old-style (ISO 10589) or new-style packet formats
| overload_bit string | Choices: enable disable | Enable/disable signal other routers not to use us in SPF.
| overload_bit_on_startup integer |  | Overload-bit only temporarily after reboot.
| overload_bit_suppress string | Choices: external interlevel | Suppress overload-bit for the specific prefixes.
| redistribute list |  | IS-IS redistribute protocols.
|  | level string | Choices: level-1-2 level-1 level-2 | Level.
|  | metric integer |  | Metric.
|  | metric_type string | Choices: external internal | Metric type.
|  | protocol string / required |  | Protocol name.
|  | routemap string |  | Route map name. Source router.route-map.name.
|  | status string | Choices: enable disable | Status.
| redistribute6 list |  | IS-IS IPv6 redistribution for routing protocols.
|  | level string | Choices: level-1-2 level-1 level-2 | Level.
|  | metric integer |  | Metric.
|  | metric_type string | Choices: external internal | Metric type.
|  | protocol string / required |  | Protocol name.
|  | routemap string |  | Route map name. Source router.route-map.name.
|  | status string | Choices: enable disable | Enable/disable redistribution.
| redistribute6_l1 string | Choices: enable disable | Enable/disable redistribution of level 1 IPv6 routes into level 2.
| redistribute6_l1_list string |  | Access-list for IPv6 route redistribution from l1 to l2. Source router.access-list6.name.
| redistribute6_l2 string | Choices: enable disable | Enable/disable redistribution of level 2 IPv6 routes into level 1.
| redistribute6_l2_list string |  | Access-list for IPv6 route redistribution from l2 to l1. Source router.access-list6.name.
| redistribute_l1 string | Choices: enable disable | Enable/disable redistribution of level 1 routes into level 2.
| redistribute_l1_list string |  | Access-list for route redistribution from l1 to l2. Source router.access-list.name.
| redistribute_l2 string | Choices: enable disable | Enable/disable redistribution of level 2 routes into level 1.
| redistribute_l2_list string |  | Access-list for route redistribution from l2 to l1. Source router.access-list.name.
| spf_interval_exp_l1 string |  | Level 1 SPF calculation delay.
| spf_interval_exp_l2 string |  | Level 2 SPF calculation delay.
| summary_address list |  | IS-IS summary addresses.
|  | id integer / required |  | Summary address entry ID.
|  | level string | Choices: level-1-2 level-1 level-2 | Level.
|  | prefix string |  | Prefix.
| summary_address6 list |  | IS-IS IPv6 summary address.
|  | id integer / required |  | Prefix entry ID.
|  | level string | Choices: level-1-2 level-1 level-2 | Level.
|  | prefix6 string |  | IPv6 prefix.
ssl_verify boolean | Choices: no yes ← | 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 IS-IS.
        fortios_router_isis:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          router_isis:
            adjacency_check: "enable"
            adjacency_check6: "enable"
            adv_passive_only: "enable"
            adv_passive_only6: "enable"
            auth_keychain_l1: "<your_own_value> (source router.key-chain.name)"
            auth_keychain_l2: "<your_own_value> (source router.key-chain.name)"
            auth_mode_l1: "password"
            auth_mode_l2: "password"
            auth_password_l1: "<your_own_value>"
            auth_password_l2: "<your_own_value>"
            auth_sendonly_l1: "enable"
            auth_sendonly_l2: "enable"
            default_originate: "enable"
            default_originate6: "enable"
            dynamic_hostname: "enable"
            ignore_lsp_errors: "enable"
            is_type: "level-1-2"
            isis_interface:
             -
                auth_keychain_l1: "<your_own_value> (source router.key-chain.name)"
                auth_keychain_l2: "<your_own_value> (source router.key-chain.name)"
                auth_mode_l1: "md5"
                auth_mode_l2: "md5"
                auth_password_l1: "<your_own_value>"
                auth_password_l2: "<your_own_value>"
                auth_send_only_l1: "enable"
                auth_send_only_l2: "enable"
                circuit_type: "level-1-2"
                csnp_interval_l1: "30"
                csnp_interval_l2: "31"
                hello_interval_l1: "32"
                hello_interval_l2: "33"
                hello_multiplier_l1: "34"
                hello_multiplier_l2: "35"
                hello_padding: "enable"
                lsp_interval: "37"
                lsp_retransmit_interval: "38"
                mesh_group: "enable"
                mesh_group_id: "40"
                metric_l1: "41"
                metric_l2: "42"
                name: "default_name_43 (source system.interface.name)"
                network_type: "broadcast"
                priority_l1: "45"
                priority_l2: "46"
                status: "enable"
                status6: "enable"
                wide_metric_l1: "49"
                wide_metric_l2: "50"
            isis_net:
             -
                id:  "52"
                net: "<your_own_value>"
            lsp_gen_interval_l1: "54"
            lsp_gen_interval_l2: "55"
            lsp_refresh_interval: "56"
            max_lsp_lifetime: "57"
            metric_style: "narrow"
            overload_bit: "enable"
            overload_bit_on_startup: "60"
            overload_bit_suppress: "external"
            redistribute:
             -
                level: "level-1-2"
                metric: "64"
                metric_type: "external"
                protocol: "<your_own_value>"
                routemap: "<your_own_value> (source router.route-map.name)"
                status: "enable"
            redistribute_l1: "enable"
            redistribute_l1_list: "<your_own_value> (source router.access-list.name)"
            redistribute_l2: "enable"
            redistribute_l2_list: "<your_own_value> (source router.access-list.name)"
            redistribute6:
             -
                level: "level-1-2"
                metric: "75"
                metric_type: "external"
                protocol: "<your_own_value>"
                routemap: "<your_own_value> (source router.route-map.name)"
                status: "enable"
            redistribute6_l1: "enable"
            redistribute6_l1_list: "<your_own_value> (source router.access-list6.name)"
            redistribute6_l2: "enable"
            redistribute6_l2_list: "<your_own_value> (source router.access-list6.name)"
            spf_interval_exp_l1: "<your_own_value>"
            spf_interval_exp_l2: "<your_own_value>"
            summary_address:
             -
                id:  "87"
                level: "level-1-2"
                prefix: "<your_own_value>"
            summary_address6:
             -
                id:  "91"
                level: "level-1-2"
                prefix6: "<your_own_value>"

## 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.