]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
includes still broken
authorKaterina Kubecova <katerina.kubecova@nic.cz>
Thu, 4 Jan 2024 10:46:34 +0000 (11:46 +0100)
committerKaterina Kubecova <katerina.kubecova@nic.cz>
Thu, 4 Jan 2024 10:46:34 +0000 (11:46 +0100)
nest/cbor.c
nest/cbor.h
nest/cbor_shortcuts.c

index 2f47bc031830113e669949c3b4a80ead9c705982..c4887643904cc39a38f0ce12e68d738b708272db 100644 (file)
@@ -86,17 +86,14 @@ void cbor_add_ipv6(struct cbor_writer *writer, uint32_t addr[4])
 }
 
 
-void cbor_add_ipv4_prefix(struct cbor_writer *writer, uint32_t addr, uint32_t prefix)
+void cbor_add_ipv4_prefix(struct cbor_writer *writer, net_addr_ip4 *n)
 {
   write_item(writer, 6, 52); // 6 is TAG, 52 is tag number for ipv4
   cbor_open_block_with_length(writer, 2);
-  cbor_add_int(writer, prefix);
+  cbor_add_int(writer, n->pxlen);
   write_item(writer, 2, 4); // bytestring of length 4
-  for (int i = 3; i>=0; i--)
-  {
-    writer->cbor[writer->pt] = (addr>>(i*8)) & 0xff;
-    writer->pt++;
-  }
+  put_ip4(&writer->cbor[writer->pt], n->prefix);
+  writer->pt += 4;
 }
 
 
index b092a7f9d640f0fda8cb2e106e5516444489b0b1..02988c4cf38d1cc584b67fe7e7f4145b4cf2c716 100644 (file)
@@ -31,10 +31,10 @@ void cbor_add_ipv4(struct cbor_writer *writer, uint32_t addr);
 
 void cbor_add_ipv6(struct cbor_writer *writer, uint32_t addr[4]);
 
-void cbor_add_ipv4_prefix(struct cbor_writer *writer, uint32_t addr, uint32_t prefix);
+void cbor_add_ipv4_prefix(struct cbor_writer *writer, net_addr_ip4 *n);
 
 
-void cbor_add_ipv6_prefix(struct cbor_writer *writer, uint32_t addr[4], uint32_t prefix);
+void cbor_add_ipv6_prefix(struct cbor_writer *writer, net_addr_ip6 *n);
 
 
 void cbor_add_uint(struct cbor_writer *writer, uint64_t item);
index b59e39d6b7e43d570416bd218a4378d61c179eae..0e73f34ce80e2fb7d4433d67bd67c34db1da0b9a 100644 (file)
@@ -58,16 +58,10 @@ void cbor_add_net(struct cbor_writer *writer, const net_addr *N) {
   switch (n->n.type)
   {
   case NET_IP4:
-    cbor_add_ipv4_prefix(writer, n->ip4.prefix, n->ip4.pxlen);
+    cbor_add_ipv4_prefix(writer, &n->ip4);
     return;
   case NET_IP6:
-    cbor_add_ipv6_prefix(writer, n->ip6.prefix.addr, n->ip6.pxlen);
-    return;
-  case NET_VPN4:
-    cbor_add_ipv4_prefix(writer, n->vpn4.prefix, n->vpn4.pxlen);
-    return;
-  case NET_VPN6:
-    cbor_add_ipv6_prefix(writer, n->vpn6.prefix.addr, n->vpn6.pxlen);
+    cbor_add_ipv6_prefix(writer, &n->ip6);
     return;
   default:
     bug("net type unsupported by cbor (yet).");