[lonetix/bgp] Take advantage of smallbytecopy.h for prefix copies

This commit is contained in:
Lorenzo Cogotti 2021-10-18 12:01:11 +02:00
parent 4eb6e55570
commit 914911ba87
2 changed files with 7 additions and 5 deletions

View File

@ -17,6 +17,7 @@
#include "sys/con.h"
#include "argv.h"
#include "numlib.h"
#include "smallbytecopy.h"
#include <assert.h>
#include <errno.h>
@ -454,7 +455,7 @@ Prefix *Bgp_NextMpPrefix(Bgpmpiter *it)
cur->isAddPath = TRUE;
cur->pathId = pfx->pathId;
cur->width = pfx->width;
memcpy(cur->bytes, pfx->bytes, PFXLEN(pfx->width));
_smallbytecopy16(cur->bytes, pfx->bytes, PFXLEN(pfx->width));
} else {
// Regular prefix
const RawPrefix *pfx = (const RawPrefix *) rawPfx;
@ -462,7 +463,7 @@ Prefix *Bgp_NextMpPrefix(Bgpmpiter *it)
cur->isAddPath = FALSE;
cur->pathId = 0;
cur->width = pfx->width;
memcpy(cur->bytes, pfx->bytes, PFXLEN(pfx->width));
_smallbytecopy16(cur->bytes, pfx->bytes, PFXLEN(pfx->width));
}
return cur;

View File

@ -13,6 +13,7 @@
#include "sys/endian.h"
#include "sys/ip.h"
#include "numlib.h"
#include "smallbytecopy.h"
#include <assert.h>
#include <string.h>
@ -41,13 +42,13 @@ char *Bgp_PrefixToString(Afi afi, const RawPrefix *prefix, char *dest)
switch (afi) {
case AFI_IP:
memset(&adr, 0, sizeof(adr));
memcpy(&adr, prefix->bytes, PFXLEN(prefix->width));
_smallbytecopy4(adr.bytes, prefix->bytes, PFXLEN(prefix->width));
dest = Ipv4_AdrToString(&adr, dest);
break;
case AFI_IP6:
memset(&adr6, 0, sizeof(adr6));
memcpy(&adr6, prefix->bytes, PFXLEN(prefix->width));
_smallbytecopy16(adr6.bytes, prefix->bytes, PFXLEN(prefix->width));
dest = Ipv6_AdrToString(&adr6, dest);
break;
@ -122,7 +123,7 @@ Judgement Bgp_StringToPrefix(const char *s, Prefix *dest)
dest->isAddPath = FALSE;
dest->width = width;
memcpy(dest->bytes, adr.bytes, PFXLEN(width));
_smallbytecopy16(dest->bytes, adr.bytes, PFXLEN(width));
return OK;
}