From 0700f847c59d44155ad89917b52dd58dc89f3b73 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Wed, 11 Mar 2026 19:24:05 +0000
Subject: [PATCH] Allocate point-to-point addresses when option ptp=1 is specified

---
 test/IpamPoolTest.py |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/test/IpamPoolTest.py b/test/IpamPoolTest.py
index 287bc53..2dda0a5 100644
--- a/test/IpamPoolTest.py
+++ b/test/IpamPoolTest.py
@@ -294,3 +294,19 @@
         pool.deallocate('fe80::2')
         self.assertEqual(pool.allocate('fe80::2'), 'fe80::2/125')
         self.assertEqual(pool.allocate(), 'fe80::1/125')
+
+
+class TestPoolPointToPoint(unittest.TestCase):
+    def test_pool_allocate_ptp_ipv4(self):
+        pool = Pool(pool='127.0.0.0/30', options={'ptp': '1'})
+        self.assertEqual(pool.allocate(), '127.0.0.0/32')
+        self.assertEqual(pool.allocate(), '127.0.0.1/32')
+        self.assertEqual(pool.allocate(), '127.0.0.2/32')
+        self.assertEqual(pool.allocate(), '127.0.0.3/32')
+
+    def test_pool_allocate_ptp_ipv6(self):
+        pool = Pool(pool='fe80::/126', options={'ptp': '1'})
+        self.assertEqual(pool.allocate(), 'fe80::/128')
+        self.assertEqual(pool.allocate(), 'fe80::1/128')
+        self.assertEqual(pool.allocate(), 'fe80::2/128')
+        self.assertEqual(pool.allocate(), 'fe80::3/128')

--
Gitblit v1.10.0