Formatage , et gestion des igmp querier
This commit is contained in:
parent
4bac7c64dd
commit
827220a50a
2 changed files with 32 additions and 16 deletions
14
main.py
14
main.py
|
@ -70,6 +70,13 @@ class Switch:
|
||||||
for vlan in port['get_port_profil']['vlan_tagged']:
|
for vlan in port['get_port_profil']['vlan_tagged']:
|
||||||
add_to_vlans(vlans, vlan, port)
|
add_to_vlans(vlans, vlan, port)
|
||||||
|
|
||||||
|
for ip, subnet in self.switch["interfaces_subnet"].items():
|
||||||
|
vlans[subnet[0]["vlan_id"]].setdefault("ipv4", {})
|
||||||
|
vlans[subnet[0]["vlan_id"]]["ipv4"][ip] = subnet
|
||||||
|
for ipv6, subnet in self.switch["interfaces6_subnet"].items():
|
||||||
|
vlans[subnet["vlan_id"]].setdefault("ipv6", {})
|
||||||
|
vlans[subnet["vlan_id"]]["ipv6"][ipv6] = subnet
|
||||||
|
|
||||||
arp_protect_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["arp_protect"]]
|
arp_protect_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["arp_protect"]]
|
||||||
dhcp_snooping_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["dhcp_snooping"]]
|
dhcp_snooping_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["dhcp_snooping"]]
|
||||||
dhcpv6_snooping_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["dhcpv6_snooping"]]
|
dhcpv6_snooping_vlans = [vlan["vlan_id"] for vlan in self.all_vlans if vlan["dhcpv6_snooping"]]
|
||||||
|
@ -112,9 +119,10 @@ class Switch:
|
||||||
data = {
|
data = {
|
||||||
"server_type": "ST_TFTP",
|
"server_type": "ST_TFTP",
|
||||||
"file_name": self.get_conf_file_name(),
|
"file_name": self.get_conf_file_name(),
|
||||||
"tftp_server_address": {"server_address":
|
"tftp_server_address": {
|
||||||
{"ip_address":
|
"server_address": {
|
||||||
{"version":"IAV_IP_V4",
|
"ip_address": {
|
||||||
|
"version":"IAV_IP_V4",
|
||||||
"octets":self.settings["switchs_management_interface_ip"]}}},
|
"octets":self.settings["switchs_management_interface_ip"]}}},
|
||||||
"is_forced_reboot_enabled": True,
|
"is_forced_reboot_enabled": True,
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,24 +44,32 @@ vlan {{ id }}
|
||||||
{%- if vlan["ports_untagged"] %}
|
{%- if vlan["ports_untagged"] %}
|
||||||
untagged {{ vlan["ports_untagged"]|join(',') }}
|
untagged {{ vlan["ports_untagged"]|join(',') }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- for ipv4, subnet in switch.interfaces_subnet.items() %}
|
|
||||||
{%- if subnet.0.vlan_id == id %}
|
|
||||||
ip address {{ ipv4 }}/{{ subnet.0.netmask_cidr }}
|
|
||||||
{%- endif %}
|
|
||||||
{%- endfor %}
|
|
||||||
{%- for ipv6, subnet6 in switch.interfaces6_subnet.items() %}
|
|
||||||
{%- if subnet6.vlan_id == id %}
|
|
||||||
ipv6 address {{ ipv6 }}/{{ subnet6.netmask_cidr }}
|
|
||||||
{%- endif %}
|
|
||||||
{%- endfor %}
|
|
||||||
{%- if id in additionals.igmp_vlans %}
|
{%- if id in additionals.igmp_vlans %}
|
||||||
ip igmp
|
ip igmp
|
||||||
|
{%- endif %}
|
||||||
|
{%- if id in additionals.mld_vlans %}
|
||||||
|
ipv6 mld version 1
|
||||||
|
ipv6 mld enable
|
||||||
|
{%- endif %}
|
||||||
|
{%- if vlan.ipv4 %}
|
||||||
|
{%- for ipv4, subnet in vlan.ipv4.items() %}
|
||||||
|
ip address {{ ipv4 }}/{{ subnet.0.netmask_cidr }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- else %}
|
||||||
|
no ip address
|
||||||
|
{%- endif %}
|
||||||
|
{%- if vlan.ipv6 %}
|
||||||
|
{%- for ipv6, subnet6 in vlan.ipv6.items() %}
|
||||||
|
ipv6 address {{ ipv6 }}/{{ subnet6.netmask_cidr }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- else %}
|
||||||
|
no ipv6 address
|
||||||
|
{%- if id in additionals.igmp_vlans %}
|
||||||
no ip igmp querier
|
no ip igmp querier
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if id in additionals.mld_vlans %}
|
{%- if id in additionals.mld_vlans %}
|
||||||
no ipv6 mld querier
|
no ipv6 mld querier
|
||||||
ipv6 mld version 1
|
{%- endif %}
|
||||||
ipv6 mld enable
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
exit
|
exit
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
Loading…
Reference in a new issue