From 177b27ce39daf00c67b0d6dcc6727235b29f2542 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sun, 03 May 2026 14:12:41 +0000
Subject: [PATCH] Workflows: use repository_owner instead of actor

---
 lib/NetworkDriver.py |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/lib/NetworkDriver.py b/lib/NetworkDriver.py
index b6cdc6b..478414b 100644
--- a/lib/NetworkDriver.py
+++ b/lib/NetworkDriver.py
@@ -37,7 +37,7 @@
         ip.link('set', index=idx, state='up')
         if 'parent' in network.Options:
             id_parent = ip.link_lookup(ifname=network.Options['parent'])[0]
-            print(ip.link("set", index=idx, master=id_parent))
+            ip.link("set", index=idx, master=id_parent)
         endpoint.Interface.Peer = ifname1
 
     return ifname0, ifname1
@@ -57,6 +57,21 @@
     return {
         'Scope': 'local',
         'ConnectivityScope': 'global',
+        'GwAllocChecker': True,
+    }
+
+
+@app.route('/NetworkDriver.GwAllocCheck', methods=['POST'])
+def GwAllocCheck():
+    request = GwAllocCheckEntity(**flask.request.get_json(force=True))
+    skip_ipv4 = skip_ipv6 = request.Options.get('com.docker.network.generic', {}).get('nogw') == '1'
+    if request.Options.get('com.docker.network.generic', {}).get('nogw4') == '1':
+        skip_ipv4 = True
+    if request.Options.get('com.docker.network.generic', {}).get('nogw6') == '1':
+        skip_ipv6 = True
+    return {
+        'SkipIPv4': skip_ipv4,
+        'SkipIPv6': skip_ipv6,
     }
 
 
@@ -142,11 +157,26 @@
             'SrcName': interface,
             'DstPrefix': 'eth',
         },
+        'StaticRoutes': [],
     }
     if gw4 is not None:
         result['Gateway'] = gw4.ip.compressed
     if gw6 is not None:
         result['GatewayIPv6'] = gw6.ip.compressed
+    gw4 = endpoint.Options.get("gw4", network.Options.get("gw4", None))
+    if gw4 is not None:
+        result['StaticRoutes'].append({
+            'Destination': gw4 + '/32',
+            'RouteType': 1,
+        })
+        result['Gateway'] = gw4
+    gw6 = endpoint.Options.get("gw6", network.Options.get("gw6", None))
+    if gw6 is not None:
+        result['StaticRoutes'].append({
+            'Destination': gw6 + '/128',
+            'RouteType': 1,
+        })
+        result['GatewayIPv6'] = gw6
     return result
 
 

--
Gitblit v1.10.0