diff --git a/src/vnet/CMakeLists.txt b/src/vnet/CMakeLists.txt
index 12b61c8..4c4928a 100644
--- a/src/vnet/CMakeLists.txt
+++ b/src/vnet/CMakeLists.txt
@@ -1388,6 +1388,12 @@
   bier/bier_bift_table.c
 )
 
+list(APPEND VNET_MULTIARCH_SOURCES
+  bier/bier_disp_dispatch_node.c
+  bier/bier_disp_lookup_node.c
+  bier/bier_imp_node.c
+)
+
 list(APPEND VNET_HEADERS
   bier/bier_types.h
   bier/bier_entry.h
diff --git a/src/vnet/bier/bier_disp_dispatch_node.c b/src/vnet/bier/bier_disp_dispatch_node.c
index 0dbcada..a506f1d 100644
--- a/src/vnet/bier/bier_disp_dispatch_node.c
+++ b/src/vnet/bier/bier_disp_dispatch_node.c
@@ -129,8 +129,7 @@
     return (s);
 }
 
-static uword
-bier_disp_dispatch (vlib_main_t * vm,
+VLIB_NODE_FN (bier_disp_dispatch_node) (vlib_main_t * vm,
                   vlib_node_runtime_t * node,
                   vlib_frame_t * frame)
 {
@@ -138,7 +137,6 @@
 }
 
 VLIB_REGISTER_NODE (bier_disp_dispatch_node) = {
-    .function = bier_disp_dispatch,
     .name = "bier-disp-dispatch",
     .vector_size = sizeof (u32),
 
@@ -148,4 +146,3 @@
         [0] = "bier-drop",
     }
 };
-VLIB_NODE_FUNCTION_MULTIARCH (bier_disp_dispatch_node, bier_disp_dispatch)
diff --git a/src/vnet/bier/bier_disp_lookup_node.c b/src/vnet/bier/bier_disp_lookup_node.c
index 1e1ea99..255f045 100644
--- a/src/vnet/bier/bier_disp_lookup_node.c
+++ b/src/vnet/bier/bier_disp_lookup_node.c
@@ -132,8 +132,7 @@
     return (s);
 }
 
-static uword
-bier_disp_lookup (vlib_main_t * vm,
+VLIB_NODE_FN (bier_disp_lookup_node) (vlib_main_t * vm,
                   vlib_node_runtime_t * node,
                   vlib_frame_t * frame)
 {
@@ -141,7 +140,6 @@
 }
 
 VLIB_REGISTER_NODE (bier_disp_lookup_node) = {
-    .function = bier_disp_lookup,
     .name = "bier-disp-lookup",
     .vector_size = sizeof (u32),
 
@@ -152,4 +150,3 @@
         [BIER_DISP_LOOKUP_NEXT_DISPATCH] = "bier-disp-dispatch",
     }
 };
-VLIB_NODE_FUNCTION_MULTIARCH (bier_disp_lookup_node, bier_disp_lookup)
diff --git a/src/vnet/bier/bier_imp_node.c b/src/vnet/bier/bier_imp_node.c
index dcfcc1a..5e3b3fb 100644
--- a/src/vnet/bier/bier_imp_node.c
+++ b/src/vnet/bier/bier_imp_node.c
@@ -185,8 +185,7 @@
     return (s);
 }
 
-static uword
-bier_imp_ip4 (vlib_main_t * vm,
+VLIB_NODE_FN (bier_imp_ip4_node) (vlib_main_t * vm,
               vlib_node_runtime_t * node,
               vlib_frame_t * frame)
 {
@@ -196,7 +195,6 @@
 }
 
 VLIB_REGISTER_NODE (bier_imp_ip4_node) = {
-    .function = bier_imp_ip4,
     .name = "bier-imp-ip4",
     .vector_size = sizeof (u32),
 
@@ -206,10 +204,8 @@
         [0] = "bier-drop",
     }
 };
-VLIB_NODE_FUNCTION_MULTIARCH (bier_imp_ip4_node, bier_imp_ip4)
 
-static uword
-bier_imp_ip6 (vlib_main_t * vm,
+VLIB_NODE_FN (bier_imp_ip6_node) (vlib_main_t * vm,
               vlib_node_runtime_t * node,
               vlib_frame_t * frame)
 {
@@ -219,7 +215,6 @@
 }
 
 VLIB_REGISTER_NODE (bier_imp_ip6_node) = {
-    .function = bier_imp_ip6,
     .name = "bier-imp-ip6",
     .vector_size = sizeof (u32),
 
@@ -229,4 +224,3 @@
         [0] = "error-drop",
     }
 };
-VLIB_NODE_FUNCTION_MULTIARCH (bier_imp_ip6_node, bier_imp_ip6)
