fortiswitch_router_isis – ISIS configuration in Fortinet’s FortiSwitch

New in version 1.0.0.

Synopsis

  • This module is able to configure a FortiSwitch 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 v7.0.0

Requirements

The below requirements are needed on the host that executes this module.

  • ansible>=2.11

FortiSW Version Compatibility


v7.0.0 v7.0.1 v7.0.2 v7.0.3
fortiswitch_router_isis yes yes yes yes

Parameters

  • enable_log - Enable/Disable logging for task. type: bool required: false default: False
  • member_path - Member attribute path to operate on. type: str
  • member_state - Add or delete a member under specified attribute path. type: str choices: present, absent
  • router_isis - ISIS configuration. type: dict
    • auth_keychain_area - IS-IS area authentication key-chain. Applicable when area"s auth mode is md5. Source router.key-chain.name. type: str
    • auth_keychain_domain - IS-IS domain authentication key-chain. Applicable when domain"s auth mode is md5. Source router.key-chain.name. type: str
    • auth_mode_area - IS-IS area(level-1) authentication mode. type: str choices: password, md5
    • auth_mode_domain - ISIS domain(level-2) authentication mode. type: str choices: password, md5
    • auth_password_area - IS-IS area(level-1) authentication password. Applicable when area"s auth mode is password. type: str
    • auth_password_domain - IS-IS domain(level-2) authentication password. Applicable when domain"s auth mode is password. type: str
    • auth_sendonly_area - Enable authentication send-only for level 1 SNP PDUs. type: str choices: enable, disable
    • auth_sendonly_domain - Enable authentication send-only for level 2 SNP PDUs. type: str choices: enable, disable
    • default_information_level - Distribute default route into level"s LSP. type: str choices: level-1-2, level-1, level-2
    • default_information_level6 - Distribute ipv6 default route into level"s LSP. type: str choices: level-1-2, level-1, level-2
    • default_information_metric - Default information metric. type: int
    • default_information_metric6 - Default ipv6 route metric. type: int
    • default_information_originate - Enable/disable generation of default route. type: str choices: enable, always, disable
    • default_information_originate6 - Enable/disable generation of default ipv6 route. type: str choices: enable, always, disable
    • ignore_attached_bit - Ignore Attached bit on incoming L1 LSP. type: str choices: enable, disable
    • interface - IS-IS interface configuration. type: list member_path: interface:name
      • auth_keychain_hello - Hello PDU authentication key-chain. Applicable when hello"s auth mode is md5. Source router.key-chain.name. type: str
      • auth_mode_hello - Hello PDU authentication mode. type: str choices: md5, password
      • auth_password_hello - Hello PDU authentication password. Applicable when hello"s auth mode is password. type: str
      • bfd - Bidirectional Forwarding Detection (BFD). type: str choices: enable, disable
      • bfd6 - Ipv6 Bidirectional Forwarding Detection (BFD). type: str choices: enable, disable
      • circuit_type - IS-IS interface"s circuit type. type: str choices: level-1-2, level-1, level-2
      • csnp_interval_l1 - Level 1 CSNP interval. type: int
      • csnp_interval_l2 - Level 2 CSNP interval. type: int
      • hello_interval_l1 - Level 1 hello interval. type: int
      • hello_interval_l2 - Level 2 hello interval. type: int
      • hello_multiplier_l1 - Level 1 multiplier for Hello holding time. type: int
      • hello_multiplier_l2 - Level 2 multiplier for Hello holding time. type: int
      • hello_padding - Enable padding to IS-IS hello packets. type: str choices: enable, disable
      • metric_l1 - Level 1 metric for interface. type: int
      • metric_l2 - Level 2 metric for interface. type: int
      • name - IS-IS interface name Source system.interface.name. type: str required: true
      • passive - Set this interface as passive. type: str choices: enable, disable
      • priority_l1 - Level 1 priority. type: int
      • priority_l2 - Level 2 priority. type: int
      • status - Enable the interface for IS-IS. type: str choices: enable, disable
      • status6 - Enable/disable interface for ipv6 IS-IS. type: str choices: enable, disable
      • wide_metric_l1 - Level 1 wide metric for interface. type: int
      • wide_metric_l2 - Level 2 wide metric for interface. type: int
    • is_type - IS-type. type: str choices: level-1-2, level-1, level-2-only
    • log_neighbour_changes - Enable logging of ISIS neighbour"s changes type: str choices: enable, disable
    • lsp_gen_interval_l1 - Minimum interval for level 1 LSP regenerating. type: int
    • lsp_gen_interval_l2 - Minimum interval for level 2 LSP regenerating. type: int
    • lsp_refresh_interval - LSP refresh time in seconds. type: int
    • max_lsp_lifetime - Maximum LSP lifetime in seconds. type: int
    • metric_style - Use old-style (ISO 10589) or new-style packet formats. type: str choices: narrow, wide, transition
    • net - IS-IS net configuration. type: list
      • net - isis net xx.xxxx. ... .xxxx.xx type: str
    • overload_bit - Signal other routers not to use us in SPF. type: str choices: enable, disable
    • redistribute - IS-IS redistribute protocols. type: list member_path: redistribute:protocol
      • level - level. type: str choices: level-1-2, level-1, level-2
      • metric - metric. type: int
      • metric_type - metric type. type: str choices: external, internal
      • protocol - protocol name. type: str required: true
      • routemap - routemap name. Source router.route-map.name. type: str
      • status - status. type: str choices: enable, disable
    • redistribute_l1 - Redistribute level 1 routes into level 2. type: str choices: enable, disable
    • redistribute_l1_list - Access-list for redistribute l1 to l2. Source router.access-list.name. type: str
    • redistribute6 - IS-IS redistribute v6 protocols. type: list member_path: redistribute6:protocol
      • level - level. type: str choices: level-1-2, level-1, level-2
      • metric - metric. type: int
      • protocol - protocol name. type: str required: true
      • routemap - routemap name. Source router.route-map.name. type: str
      • status - status. type: str choices: enable, disable
    • redistribute6_l1 - Redistribute level 1 v6 routes into level 2. type: str choices: enable, disable
    • redistribute6_l1_list - Access-list for redistribute v6 routes from l1 to l2. Source router.access-list6.name. type: str
    • router_id - Router ID. type: str
    • spf_interval_exp_l1 - Level 1 SPF minimum calculation delay in secs. type: int
    • spf_interval_exp_l2 - Level 2 SPF minimum calculation delay in secs. type: int
    • summary_address - IS-IS summary addresses. type: list member_path: summary_address:id
      • id - Summary address entry id. type: int required: true
      • level - Level. type: str choices: level-1-2, level-1, level-2
      • prefix - prefix. type: str
    • summary_address6 - IS-IS summary ipv6 addresses. type: list member_path: summary_address6:id
      • id - Summary address entry id. type: int required: true
      • level - Level. type: str choices: level-1-2, level-1, level-2
      • prefix6 - IPv6 prefix type: str

Examples

- hosts: fortiswitch01
  collections:
    - fortinet.fortiswitch
  connection: httpapi
  vars:
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: ISIS configuration.
    fortiswitch_router_isis:
      router_isis:
        auth_keychain_area: "<your_own_value> (source router.key-chain.name)"
        auth_keychain_domain: "<your_own_value> (source router.key-chain.name)"
        auth_mode_area: "password"
        auth_mode_domain: "password"
        auth_password_area: "<your_own_value>"
        auth_password_domain: "<your_own_value>"
        auth_sendonly_area: "enable"
        auth_sendonly_domain: "enable"
        default_information_level: "level-1-2"
        default_information_level6: "level-1-2"
        default_information_metric: "13"
        default_information_metric6: "14"
        default_information_originate: "enable"
        default_information_originate6: "enable"
        ignore_attached_bit: "enable"
        interface:
         -
            auth_keychain_hello: "<your_own_value> (source router.key-chain.name)"
            auth_mode_hello: "md5"
            auth_password_hello: "<your_own_value>"
            bfd: "enable"
            bfd6: "enable"
            circuit_type: "level-1-2"
            csnp_interval_l1: "25"
            csnp_interval_l2: "26"
            hello_interval_l1: "27"
            hello_interval_l2: "28"
            hello_multiplier_l1: "29"
            hello_multiplier_l2: "30"
            hello_padding: "enable"
            metric_l1: "32"
            metric_l2: "33"
            name: "default_name_34 (source system.interface.name)"
            passive: "enable"
            priority_l1: "36"
            priority_l2: "37"
            status: "enable"
            status6: "enable"
            wide_metric_l1: "40"
            wide_metric_l2: "41"
        is_type: "level-1-2"
        log_neighbour_changes: "enable"
        lsp_gen_interval_l1: "44"
        lsp_gen_interval_l2: "45"
        lsp_refresh_interval: "46"
        max_lsp_lifetime: "47"
        metric_style: "narrow"
        net:
         -
            net: "<your_own_value>"
        overload_bit: "enable"
        redistribute:
         -
            level: "level-1-2"
            metric: "54"
            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)"
        redistribute6:
         -
            level: "level-1-2"
            metric: "63"
            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)"
        router_id: "<your_own_value>"
        spf_interval_exp_l1: "70"
        spf_interval_exp_l2: "71"
        summary_address:
         -
            id:  "73"
            level: "level-1-2"
            prefix: "<your_own_value>"
        summary_address6:
         -
            id:  "77"
            level: "level-1-2"
            prefix6: "<your_own_value>"

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • build - Build number of the fortiSwitch image returned: always type: str sample: 1547
  • http_method - Last method used to provision the content into FortiSwitch returned: always type: str sample: PUT
  • http_status - Last result given by FortiSwitch on last operation applied returned: always type: str sample: 200
  • mkey - Master key (id) used in the last call to FortiSwitch returned: success type: str sample: id
  • name - Name of the table used to fulfill the request returned: always type: str sample: urlfilter
  • path - Path of the table used to fulfill the request returned: always type: str sample: webfilter
  • serial - Serial number of the unit returned: always type: str sample: FS1D243Z13000122
  • status - Indication of the operation's result returned: always type: str sample: success
  • version - Version of the FortiSwitch returned: always type: str sample: v7.0.0

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Hongbin Lu (@fgtdev-hblu)
  • Frank Shen (@frankshen01)
  • Miguel Angel Munoz (@mamunozgonzalez)

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.