diff options
Diffstat (limited to 'config/installers/fuel/net_macros.j2')
-rw-r--r-- | config/installers/fuel/net_macros.j2 | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/config/installers/fuel/net_macros.j2 b/config/installers/fuel/net_macros.j2 index b9693d11..c0a5d329 100644 --- a/config/installers/fuel/net_macros.j2 +++ b/config/installers/fuel/net_macros.j2 @@ -5,24 +5,25 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -{%- macro linux_network_interfaces_nic(nics) -%} +{%- macro linux_network_interfaces_nic(nics, proto = 'manual') -%} {%- for nic in nics %} {{ nic }}: enabled: true type: eth - proto: manual + proto: {{ proto }} mtu: ${_param:interface_mtu} name: {{ nic }} noifupdown: true {%- endfor %} {%- endmacro -%} -{%- macro linux_network_interfaces_vlan(vlans) -%} +{%- macro linux_network_interfaces_vlan(vlans, proto = 'manual') -%} {%- for vlan in vlans %} {%- if vlan | int > 0 %} {{ vlans[vlan] }}.{{ vlan }}: enabled: true - proto: manual + proto: {{ proto }} + mtu: ${_param:interface_mtu} type: vlan name: {{ vlans[vlan] }}.{{ vlan }} use_interfaces: @@ -34,3 +35,15 @@ {%- macro interface_str(nic, vlan = 0) -%} {{ nic }}{% if vlan | int > 0 %}.{{ vlan }}{% endif %} {%- endmacro -%} + +{%- macro vpp_interface_str(speed, pci_addr, driver = '') -%} + {%- set p = pci_addr.replace('.', ':').split(':') -%} + {%- set s = 'Ethernet%d/%d/%d' | format(p[-3] | int(0, 16), + p[-2] | int(0, 16), + p[-1] | int(0, 16)) -%} + {%- if 'vfio' in driver -%} + VirtualFunction{{ s }} + {%- else -%} + {% if '40g' in speed %}Forty{% elif '10g' in speed %}Ten{% endif %}Gigabit{{ s }} + {%- endif -%} +{%- endmacro -%} |