]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Create default net based on adress type
authorIgor Putovny <igor.putovny@nic.cz>
Thu, 7 Mar 2024 14:32:58 +0000 (15:32 +0100)
committerIgor Putovny <igor.putovny@nic.cz>
Thu, 30 May 2024 10:30:00 +0000 (12:30 +0200)
proto/aggregator/aggregator.c

index d05eb1de13e5e525c999c1ec57e9806bf86783da..57f1b722dba000b55534c8bccb21b46083504203 100644 (file)
@@ -1539,9 +1539,20 @@ aggregator_start(struct proto *P)
     .data = p,
   };
 
-  struct network *default_net = mb_alloc(P->pool, sizeof(struct network) + sizeof(struct net_addr_ip4));
-  net_fill_ip4(default_net->n.addr, IP4_NONE, 0);
-  log("Creating net %p for default route", default_net);
+  struct network *default_net = NULL;
+
+  if (p->addr_type == NET_IP4)
+  {
+    default_net = mb_alloc(P->pool, sizeof(struct network) + sizeof(struct net_addr_ip4));
+    net_fill_ip4(default_net->n.addr, IP4_NONE, 0);
+    log("Creating net %p for default route", default_net);
+  }
+  else if (p->addr_type == NET_IP6)
+  {
+    default_net = mb_alloc(P->pool, sizeof(struct network) + sizeof(struct net_addr_ip6));
+    net_fill_ip6(default_net->n.addr, IP6_NONE, 0);
+    log("Creating net %p for default route", default_net);
+  }
 
   /* Create route attributes with zero nexthop */
   struct rta rta = { 0 };