Issue #14814: Remove redundant property from interface objects - prefixlen can be accessed via the associated network object
diff --git a/Lib/ipaddress.py b/Lib/ipaddress.py
index dfb5944..c9338c5 100644
--- a/Lib/ipaddress.py
+++ b/Lib/ipaddress.py
@@ -1331,10 +1331,6 @@
         return self._ip ^ self._prefixlen ^ int(self.network.network_address)
 
     @property
-    def prefixlen(self):
-        return self._prefixlen
-
-    @property
     def ip(self):
         return IPv4Address(self._ip)
 
@@ -1708,7 +1704,7 @@
         hex_str = '%032x' % ip_int
         parts = [hex_str[x:x+4] for x in range(0, 32, 4)]
         if isinstance(self, (_BaseNetwork, IPv6Interface)):
-            return '%s/%d' % (':'.join(parts), self.prefixlen)
+            return '%s/%d' % (':'.join(parts), self._prefixlen)
         return ':'.join(parts)
 
     @property
@@ -1947,10 +1943,6 @@
         return self._ip ^ self._prefixlen ^ int(self.network.network_address)
 
     @property
-    def prefixlen(self):
-        return self._prefixlen
-
-    @property
     def ip(self):
         return IPv6Address(self._ip)
 
diff --git a/Lib/test/test_ipaddress.py b/Lib/test/test_ipaddress.py
index 061c866..09b4a5e 100644
--- a/Lib/test/test_ipaddress.py
+++ b/Lib/test/test_ipaddress.py
@@ -731,8 +731,8 @@
                          '2001:658:22a:cafe:ffff:ffff:ffff:ffff')
 
     def testGetPrefixlen(self):
-        self.assertEqual(self.ipv4_interface.prefixlen, 24)
-        self.assertEqual(self.ipv6_interface.prefixlen, 64)
+        self.assertEqual(self.ipv4_interface.network.prefixlen, 24)
+        self.assertEqual(self.ipv6_interface.network.prefixlen, 64)
 
     def testGetSupernet(self):
         self.assertEqual(self.ipv4_network.supernet().prefixlen, 23)