Browse Source

Fixes #5040: Limit SLAAC status to IPv6 addresses

Jeremy Stretch 5 years ago
parent
commit
78d6561e39
2 changed files with 7 additions and 0 deletions
  1. 1 0
      docs/release-notes/version-2.9.md
  2. 6 0
      netbox/ipam/models.py

+ 1 - 0
docs/release-notes/version-2.9.md

@@ -6,6 +6,7 @@
 
 * [#5035](https://github.com/netbox-community/netbox/issues/5035) - Fix exception when modifying an IP address assigned to a VM
 * [#5038](https://github.com/netbox-community/netbox/issues/5038) - Fix validation of primary IPs assigned to virtual machines
+* [#5040](https://github.com/netbox-community/netbox/issues/5040) - Limit SLAAC status to IPv6 addresses
 * [#5042](https://github.com/netbox-community/netbox/issues/5042) - Fix display of SLAAC label for IP addresses status
 
 ---

+ 6 - 0
netbox/ipam/models.py

@@ -752,6 +752,12 @@ class IPAddress(ChangeLoggedModel, CustomFieldModel):
                                        f"{self.assigned_object.virtual_machine} ({self.assigned_object})"
                     })
 
+        # Validate IP status selection
+        if self.status == IPAddressStatusChoices.STATUS_SLAAC and self.family != 6:
+            raise ValidationError({
+                'status': "Only IPv6 addresses can be assigned SLAAC status"
+            })
+
     def save(self, *args, **kwargs):
 
         # Force dns_name to lowercase