8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-25 22:03:10 +00:00

Export de l'ensemble des ip du switch

This commit is contained in:
Gabriel Detraz 2018-07-12 01:12:46 +02:00
parent e21a0eb9b0
commit b219221342
3 changed files with 8 additions and 7 deletions

View file

@ -729,7 +729,7 @@ class SwitchPortSerializer(serializers.ModelSerializer):
class Meta:
model = topologie.Switch
fields = ('short_name', 'model', 'switchbay', 'ports', 'ipv4', 'ipv6',
'subnet', 'subnet6', 'automatic_provision', 'rest_enabled',
'interfaces_subnet', 'interfaces6_subnet', 'automatic_provision', 'rest_enabled',
'web_management_enabled', 'get_radius_key_value', 'get_management_cred_value')
# DHCP

View file

@ -407,7 +407,7 @@ class IpType(RevMixin, AclMixin, models.Model):
'netmask' : 'ffff:ffff:ffff:ffff::',
'netmask_cidr' : '64',
'vlan': str(self.vlan),
'vlan_id': str(self.vlan.vlan_id)
'vlan_id': self.vlan.vlan_id
}
else:
return None

View file

@ -350,13 +350,14 @@ class Switch(AclMixin, Machine):
return str(self.main_interface().ipv6().first())
@cached_property
def subnet(self):
""" Return the subnet of the management ip"""
return self.main_interface().type.ip_type.ip_set_full_info
def interfaces_subnet(self):
"""Return dict ip:subnet for all ip of the switch"""
return dict((str(interface.ipv4), interface.type.ip_type.ip_set_full_info) for interface in self.interface_set.all())
@cached_property
def subnet6(self):
return self.main_interface().type.ip_type.ip6_set_full_info
def interfaces6_subnet(self):
"""Return dict ip6:subnet for all ipv6 of the switch"""
return dict((str(interface.ipv6().first()), interface.type.ip_type.ip6_set_full_info) for interface in self.interface_set.all())
def __str__(self):
return str(self.main_interface())