diff --git a/ops/nixos/ixvm-fra01/bird.nix b/ops/nixos/ixvm-fra01/bird.nix
index 2adeecdb04..e06a4e1fd2 100644
--- a/ops/nixos/ixvm-fra01/bird.nix
+++ b/ops/nixos/ixvm-fra01/bird.nix
@@ -80,8 +80,20 @@ let
   generateSnippetForIX = { ixName, ix, ... }@args: ''
     ipv4 table ${ixName}4;
     ipv6 table ${ixName}6;
+    protocol pipe ${ixName}pipe_4 {
+      table ${ixName}4;
+      peer table master4;
+      import none;
+      export all;
+    };
+    protocol pipe ${ixName}pipe_6 {
+      table ${ixName}6;
+      peer table master6;
+      import none;
+      export all;
+    };
   '' + lib.concatImapStringsSep "\n" ( i: v: generateSnippetForRouter (args // { routerNum = i; router = v; }) ) ix.remote.routers;
-  enabledSnippet = { enabled ? true, ... }: "disabled ${if enabled then "off" else "on"};";
+  enabledSnippet = { enabled ? true, ... }: "disabled ${if enabled then "off" else "on"}";
   generateSnippetForRouter = { ixName, ix, routerNum, router, ... }: ''
     protocol bgp ${ixName}${toString routerNum}_4 {
       ${enabledSnippet router};
@@ -112,6 +124,23 @@ in {
       listen bgp dual;
 
       ${generateSnippet peering {}}
+
+      protocol kernel {
+        persist;
+        ipv4 {
+          import none;
+          export none;
+        };
+      };
+      protocol kernel {
+        persist;
+        ipv6 {
+          import none;
+          export none;
+        };
+      };
+      protocol device {
+      };
     '';
   };