#jinja2: trim_blocks: True,lstrip_blocks: True {#################################### Purpose: Configure ECMP commands for os9 devices os9_ecmp: weighted_ecmp: true ecmp_group_max_paths: 3 ecmp_group_path_fallback: true ecmp 1: interface: - fortyGigE 1/49 - fortyGigE 1/51 link_bundle_monitor: true state: present #####################################} {% if os9_ecmp is defined and os9_ecmp %} {% if os9_ecmp.weighted_ecmp is defined %} {% if os9_ecmp.weighted_ecmp %} ip ecmp weighted {% else %} no ip ecmp weighted {% endif %} {% endif %} {% if os9_ecmp.ecmp_group_max_paths is defined %} {% if os9_ecmp.ecmp_group_max_paths %} ip ecmp-group maximum-paths {{ os9_ecmp.ecmp_group_max_paths }} {% else %} no ip ecmp-group maximum-paths 2 {% endif %} {% endif %} {% if os9_ecmp.ecmp_group_path_fallback is defined %} {% if os9_ecmp.ecmp_group_path_fallback %} ip ecmp-group path-fallback {% else %} no ip ecmp-group path-fallback {% endif %} {% endif %} {% for key in os9_ecmp.keys() %} {% if " " in key %} {% set ecmp_vars = os9_ecmp[key] %} {% set group_num = key.split(" ") %} {% if ecmp_vars.state is defined and ecmp_vars.state == "absent" %} no ecmp-group {{ group_num[1] }} {% else %} ecmp-group {{ group_num[1] }} {% if ecmp_vars.interface is defined and ecmp_vars.interface %} {% for intf in ecmp_vars.interface %} interface {{ intf }} {% endfor %} {% endif %} {% if ecmp_vars.link_bundle_monitor is defined %} {% if ecmp_vars.link_bundle_monitor %} link-bundle-monitor enable {% else %} no link-bundle-monitor enable {% endif %} {% endif %} {% endif %} {% endif %} {% endfor %} {% endif %}