From bee8ecd06fe69c83b86fdf326ca90e21c57d30e1 Mon Sep 17 00:00:00 2001
From: lare <lare@lare.cc>
Date: Sat, 21 Jan 2023 11:29:30 +0100
Subject: [PATCH] [hotfix][nodes] only use ASn in interface name

- it is only 15 chars by default (change requires kernel recompile)
- thanks to @famfo for have a long mntner name
---
 nodes/main.py                          | 20 ++++++++++----------
 nodes/start.sh                         |  0
 nodes/templates/bgp-peer.template.conf |  2 +-
 nodes/wg-services.sh                   |  0
 web/start.sh                           |  0
 5 files changed, 11 insertions(+), 11 deletions(-)
 mode change 100644 => 100755 nodes/start.sh
 mode change 100644 => 100755 nodes/wg-services.sh
 mode change 100644 => 100755 web/start.sh

diff --git a/nodes/main.py b/nodes/main.py
index 17baa7b..5b80878 100644
--- a/nodes/main.py
+++ b/nodes/main.py
@@ -137,17 +137,17 @@ class PeeringManager:
         if mode == "add":
             wg_conf = self.__generate_wg_conf(peering)
             bgp_conf = self.__generate_bird_conf(peering)
-            with open(f"{self.__config['wg-configs']}/dn42_{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}.conf", "w") as wg_file:
+            with open(f"{self.__config['wg-configs']}/dn42_{peering['ASN']}.conf", "w") as wg_file:
                 wg_file.write(wg_conf)
             
-            wg_enable = subprocess.run(self.__config["wg-commands"]["enable"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_enable = subprocess.run(self.__config["wg-commands"]["enable"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_enable)
-            wg_up = subprocess.run(self.__config["wg-commands"]["up"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_up = subprocess.run(self.__config["wg-commands"]["up"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_up)
             time.sleep(5)
             with open(f"{self.__config['bird-peers']}/dn42_{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}.conf", "w") as bgp_file:
                 bgp_file.write(bgp_conf)
-            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(bgp_reload)
             
             return 200
@@ -157,25 +157,25 @@ class PeeringManager:
             with open(f"{self.__config['wg-configs']}/dn42_{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}.conf", "w") as wg_file:
                 wg_file.write(wg_conf)
             
-            wg_down = subprocess.run(self.__config["wg-commands"]["down"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_down = subprocess.run(self.__config["wg-commands"]["down"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_down)
-            wg_up = subprocess.run(self.__config["wg-commands"]["up"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_up = subprocess.run(self.__config["wg-commands"]["up"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_up)
             time.sleep(5)
             with open(f"{self.__config['bird-peers']}/dn42_{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}.conf", "w") as bgp_file:
                 bgp_file.write(bgp_conf)
-            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(bgp_reload)
             
             return 200
         elif mode == "delete":
             os.remove(f"{self.__config['bird-peers']}/dn42_{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}.conf")
-            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            bgp_reload = subprocess.run(self.__config["bird-reload"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(bgp_reload)
             time.sleep(5)
-            wg_down = subprocess.run(self.__config["wg-commands"]["down"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_down = subprocess.run(self.__config["wg-commands"]["down"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_down)
-            wg_disable = subprocess.run(self.__config["wg-commands"]["disable"].replace("{PEERING}",f"{peering['MNT'][:-4].lower()}_{peering['ASN'][-4:]}").split(" "))
+            wg_disable = subprocess.run(self.__config["wg-commands"]["disable"].replace("{PEERING}",f"{peering['ASN']}").split(" "))
             print(wg_disable)
             
             return 200
diff --git a/nodes/start.sh b/nodes/start.sh
old mode 100644
new mode 100755
diff --git a/nodes/templates/bgp-peer.template.conf b/nodes/templates/bgp-peer.template.conf
index 0a943e4..b2b1eeb 100644
--- a/nodes/templates/bgp-peer.template.conf
+++ b/nodes/templates/bgp-peer.template.conf
@@ -1,7 +1,7 @@
 {% if peering["bgp_mp"] %}
 protocol bgp dn42_{{peering["MNT"][:-4].lower()}}_{{peering["ASN"][-4:]}} from dnpeers {
   neighbor {{peering["ipv6ll"]}} as {{peering["ASN"]}};
-  interface "dn42_{{peering['MNT'][:-4].lower()}}_{{peering['ASN'][-4:]}}";
+  interface "dn42_{{peering['ASN']}}";
   passive off;
 
   ipv4 {
diff --git a/nodes/wg-services.sh b/nodes/wg-services.sh
old mode 100644
new mode 100755
diff --git a/web/start.sh b/web/start.sh
old mode 100644
new mode 100755