if (BGP_DEBUG (zebra, ZEBRA))
{
- char buf[2][128];
+ char buf[2][PREFIX2STR_BUFFER];
prefix2str(&dp, buf[0], sizeof(buf[0]));
if (ifp)
{
struct listnode *mp_node, *mp_next_node;
struct bgp_info *cur_mpath, *new_mpath, *next_mpath, *prev_mpath;
int mpath_changed, debug;
- char pfx_buf[INET6_ADDRSTRLEN], nh_buf[2][INET6_ADDRSTRLEN];
+ char pfx_buf[PREFIX2STR_BUFFER], nh_buf[2][INET6_ADDRSTRLEN];
mpath_changed = 0;
maxpaths = BGP_DEFAULT_MAXPATHS;
{
if (BGP_DEBUG(nht, NHT))
{
- char buf[INET6_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
zlog_debug("bgp_unlink_nexthop: freeing bnc %s",
- bnc_str(bnc, buf, INET6_ADDRSTRLEN));
+ bnc_str(bnc, buf, PREFIX2STR_BUFFER));
}
unregister_zebra_rnh(bnc, CHECK_FLAG(bnc->flags, BGP_STATIC_ROUTE));
bnc->node->info = NULL;
bgp_lock_node(rn);
if (BGP_DEBUG(nht, NHT))
{
- char buf[INET6_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
zlog_debug("Allocated bnc %s peer %p",
- bnc_str(bnc, buf, INET6_ADDRSTRLEN), peer);
+ bnc_str(bnc, buf, PREFIX2STR_BUFFER), peer);
}
}
{
if (BGP_DEBUG(nht, NHT))
{
- char buf[INET6_ADDRSTRLEN];
- prefix2str(&p, buf, INET6_ADDRSTRLEN);
+ char buf[PREFIX2STR_BUFFER];
+ prefix2str(&p, buf, sizeof(buf));
zlog_debug("parse nexthop update(%s): rn not found", buf);
}
if (rn)
/* debug print the input */
if (BGP_DEBUG(nht, NHT))
{
- char buf[INET6_ADDRSTRLEN];
- prefix2str(&p, buf, INET6_ADDRSTRLEN);
+ char buf[PREFIX2STR_BUFFER];
+ prefix2str(&p, buf, sizeof (buf));
zlog_debug("parse nexthop update(%s): metric=%d, #nexthop=%d", buf,
metric, nexthop_num);
}
struct bgp_info *nextri = NULL;
int paths_eq, do_mpath, debug;
struct list mp_list;
- char pfx_buf[INET6_ADDRSTRLEN];
+ char pfx_buf[PREFIX2STR_BUFFER];
bgp_mp_list_init (&mp_list);
do_mpath = (mpath_cfg->maxpaths_ebgp > 1 || mpath_cfg->maxpaths_ibgp > 1);
struct listnode *node, *nnode, *rnode, *nrnode;
struct prefix *range;
afi_t afi;
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
if (bgp->dynamic_neighbors_limit != BGP_DYNAMIC_NEIGHBORS_LIMIT_DEFAULT)
vty_out (vty, " bgp listen limit %d%s",
bgp_show_peer (struct vty *vty, struct peer *p, u_char use_json, json_object *json, json_object *json_neigh)
{
struct bgp *bgp;
- char buf1[BUFSIZ], buf[SU_ADDRSTRLEN];
+ char buf1[PREFIX2STR_BUFFER], buf[SU_ADDRSTRLEN];
char timebuf[BGP_UPTIME_LEN];
char dn_flag[2];
const char *subcode_str;
struct prefix *range;
struct peer *conf;
struct peer *peer;
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
afi_t afi;
safi_t safi;
const char *peer_status;
if (BGP_DEBUG (zebra, ZEBRA))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(&router_id, buf, sizeof(buf));
zlog_debug("Zebra rcvd: router id update %s", buf);
}
if (bgp_debug_zebra(ifc->address))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(ifc->address, buf, sizeof(buf));
zlog_debug("Zebra rcvd: interface %s address add %s",
ifc->ifp->name, buf);
if (bgp_debug_zebra(ifc->address))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(ifc->address, buf, sizeof(buf));
zlog_debug("Zebra rcvd: interface %s address delete %s",
ifc->ifp->name, buf);
if (bgp_debug_zebra(ifc->address))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(ifc->address, buf, sizeof(buf));
zlog_debug("Zebra rcvd: interface %s nbr address add %s",
ifc->ifp->name, buf);
if (bgp_debug_zebra(ifc->address))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(ifc->address, buf, sizeof(buf));
zlog_debug("Zebra rcvd: interface %s nbr address delete %s",
ifc->ifp->name, buf);
struct listnode *node, *nnode;
struct peer *peer;
afi_t afi;
- char buf[SU_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
afi = family2afi(range->family);
struct prefix *prefix;
struct prefix *listen_range;
int dncount;
- char buf[SU_ADDRSTRLEN];
- char buf1[SU_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
+ char buf1[PREFIX2STR_BUFFER];
prefix = sockunion2hostprefix(su);
if (!prefix) {
{
struct listnode *node;
struct prefix_ipv4 *ipv4;
- u_char buf[BUFSIZ];
-#ifdef HAVE_IPV6
+#if defined(EXTREME_DEBUG)
+ char buf[PREFIX2STR_BUFFER];
+#endif
struct prefix_ipv6 *ipv6;
-#endif /* HAVE_IPV6 */
- memset (&buf, 0, BUFSIZ);
if (connected->address->family == AF_INET)
{
u_int32_t addr = connected->address->u.prefix4.s_addr;
lsp_regenerate_schedule (circuit->area, circuit->is_type, 0);
#ifdef EXTREME_DEBUG
- prefix2str (connected->address, buf, BUFSIZ);
+ prefix2str (connected->address, buf, sizeof (buf));
zlog_debug ("Added IP address %s to circuit %d", buf,
circuit->circuit_id);
#endif /* EXTREME_DEBUG */
}
-#ifdef HAVE_IPV6
if (connected->address->family == AF_INET6)
{
if (IN6_IS_ADDR_LOOPBACK(&connected->address->u.prefix6))
lsp_regenerate_schedule (circuit->area, circuit->is_type, 0);
#ifdef EXTREME_DEBUG
- prefix2str (connected->address, buf, BUFSIZ);
+ prefix2str (connected->address, buf, sizeof (buf));
zlog_debug ("Added IPv6 address %s to circuit %d", buf,
circuit->circuit_id);
#endif /* EXTREME_DEBUG */
}
-#endif /* HAVE_IPV6 */
return;
}
{
struct prefix_ipv4 *ipv4, *ip = NULL;
struct listnode *node;
- u_char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
#ifdef HAVE_IPV6
struct prefix_ipv6 *ipv6, *ip6 = NULL;
int found = 0;
#endif /* HAVE_IPV6 */
- memset (&buf, 0, BUFSIZ);
if (connected->address->family == AF_INET)
{
ipv4 = prefix_ipv4_new ();
}
else
{
- prefix2str (connected->address, (char *)buf, BUFSIZ);
+ prefix2str (connected->address, buf, sizeof (buf));
zlog_warn ("Nonexitant ip address %s removal attempt from \
circuit %d", buf, circuit->circuit_id);
}
if (!found)
{
- prefix2str (connected->address, (char *)buf, BUFSIZ);
+ prefix2str (connected->address, buf, sizeof (buf));
zlog_warn ("Nonexitant ip address %s removal attempt from \
circuit %d", buf, circuit->circuit_id);
}
{
struct listnode *node;
struct prefix *ip_addr;
- u_char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
vty_out (vty, " IP Prefix(es):%s", VTY_NEWLINE);
for (ALL_LIST_ELEMENTS_RO (circuit->ip_addrs, node, ip_addr))
{
- prefix2str (ip_addr, (char*)buf, BUFSIZ),
+ prefix2str (ip_addr, buf, sizeof (buf)),
vty_out (vty, " %s%s", buf, VTY_NEWLINE);
}
}
{
struct route_node *route_node;
struct isis_route_info *rinfo_new, *rinfo_old, *route_info = NULL;
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
u_char family;
family = prefix->family;
/* for debugs */
- prefix2str (prefix, (char *) buff, BUFSIZ);
+ prefix2str (prefix, buff, sizeof (buff));
rinfo_new = isis_route_info_new (prefix, cost, depth, adjacencies);
if (!rinfo_new)
{
struct route_node *rode;
struct isis_route_info *rinfo;
- char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
/* for log */
- prefix2str (prefix, buff, BUFSIZ);
+ prefix2str (prefix, buff, sizeof (buff));
rode = route_node_get (table, prefix);
{
struct route_node *rnode, *drnode;
struct isis_route_info *rinfo;
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
for (rnode = route_top (table); rnode; rnode = route_next (rnode))
{
if (isis->debugs & DEBUG_RTE_EVENTS)
{
- prefix2str (&rnode->p, (char *) buff, BUFSIZ);
+ prefix2str (&rnode->p, buff, sizeof (buff));
zlog_debug ("ISIS-Rte (%s): route validate: %s %s %s %s",
area->area_tag,
(CHECK_FLAG (rinfo->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED) ?
}
static const char *
-vid2string (struct isis_vertex *vertex, u_char * buff)
+vid2string (struct isis_vertex *vertex, char * buff, int size)
{
switch (vertex->type)
{
case VTYPE_IP6REACH_INTERNAL:
case VTYPE_IP6REACH_EXTERNAL:
#endif /* HAVE_IPV6 */
- prefix2str ((struct prefix *) &vertex->N.prefix, (char *) buff, BUFSIZ);
+ prefix2str ((struct prefix *) &vertex->N.prefix, buff, size);
break;
default:
return "UNKNOWN";
struct isis_vertex *vertex;
struct isis_lsp *lsp;
#ifdef EXTREME_DEBUG
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
#endif /* EXTREME_DEBUG */
lsp = isis_root_system_lsp (spftree->area, level, sysid);
#ifdef EXTREME_DEBUG
zlog_debug ("ISIS-Spf: added this IS %s %s depth %d dist %d to PATHS",
- vtype2string (vertex->type), vid2string (vertex, buff),
+ vtype2string (vertex->type), vid2string (vertex, buff, sizeof (buff)),
vertex->depth, vertex->d_N);
#endif /* EXTREME_DEBUG */
struct listnode *node;
struct isis_adjacency *parent_adj;
#ifdef EXTREME_DEBUG
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
#endif
assert (isis_find_vertex (spftree->paths, id, vtype) == NULL);
#ifdef EXTREME_DEBUG
zlog_debug ("ISIS-Spf: add to TENT %s %s %s depth %d dist %d adjcount %d",
print_sys_hostname (vertex->N.id),
- vtype2string (vertex->type), vid2string (vertex, buff),
+ vtype2string (vertex->type), vid2string (vertex, buff, sizeof (buff)),
vertex->depth, vertex->d_N, listcount(vertex->Adj_N));
#endif /* EXTREME_DEBUG */
{
struct isis_vertex *vertex;
#ifdef EXTREME_DEBUG
- u_char buff[255];
+ char buff[PREFIX2STR_BUFFER];
#endif
assert (spftree && parent);
#ifdef EXTREME_DEBUG
zlog_debug ("ISIS-Spf: process_N %s %s %s dist %d already found from PATH",
print_sys_hostname (vertex->N.id),
- vtype2string (vtype), vid2string (vertex, buff), dist);
+ vtype2string (vtype), vid2string (vertex, buff, sizeof (buff)), dist);
#endif /* EXTREME_DEBUG */
assert (dist >= vertex->d_N);
return;
#ifdef EXTREME_DEBUG
zlog_debug ("ISIS-Spf: process_N %s %s %s dist %d parent %s adjcount %d",
print_sys_hostname (vertex->N.id),
- vtype2string (vtype), vid2string (vertex, buff), dist,
+ vtype2string (vtype), vid2string (vertex, buff, sizeof (buff)), dist,
(parent ? print_sys_hostname (parent->N.id) : "null"),
(parent ? listcount (parent->Adj_N) : 0));
#endif /* EXTREME_DEBUG */
add_to_paths (struct isis_spftree *spftree, struct isis_vertex *vertex,
int level)
{
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
if (isis_find_vertex (spftree->paths, vertex->N.id, vertex->type))
return;
#ifdef EXTREME_DEBUG
zlog_debug ("ISIS-Spf: added %s %s %s depth %d dist %d to PATHS",
print_sys_hostname (vertex->N.id),
- vtype2string (vertex->type), vid2string (vertex, buff),
+ vtype2string (vertex->type), vid2string (vertex, buff, sizeof (buff)),
vertex->depth, vertex->d_N);
#endif /* EXTREME_DEBUG */
vertex->depth, vertex->Adj_N, spftree->area, level);
else if (isis->debugs & DEBUG_SPF_EVENTS)
zlog_debug ("ISIS-Spf: no adjacencies do not install route for "
- "%s depth %d dist %d", vid2string (vertex, buff),
+ "%s depth %d dist %d", vid2string (vertex, buff, sizeof (buff)),
vertex->depth, vertex->d_N);
}
struct listnode *anode;
struct isis_vertex *vertex;
struct isis_adjacency *adj;
- u_char buff[BUFSIZ];
+ char buff[PREFIX2STR_BUFFER];
vty_out (vty, "Vertex Type Metric "
"Next-Hop Interface Parent%s", VTY_NEWLINE);
vty_out (vty, "%-30s", "");
} else {
int rows = 0;
- vty_out (vty, "%-20s %-12s %-6u ", vid2string (vertex, buff),
+ vty_out (vty, "%-20s %-12s %-6u ", vid2string (vertex, buff, sizeof (buff)),
vtype2string (vertex->type), vertex->d_N);
for (ALL_LIST_ELEMENTS_RO (vertex->Adj_N, anode, adj)) {
if (adj) {
vty_out (vty, "%-72s", "");
}
vty_out (vty, "%s(%d)",
- vid2string (pvertex, buff), pvertex->type);
+ vid2string (pvertex, buff, sizeof (buff)), pvertex->type);
++rows;
}
} else {
vty_out (vty, " NULL ");
}
-#if 0
- if (listcount (vertex->children) > 0) {
- struct listnode *cnode;
- struct isis_vertex *cvertex;
- for (ALL_LIST_ELEMENTS_RO (vertex->children, cnode, cvertex)) {
- vty_out (vty, "%s", VTY_NEWLINE);
- vty_out (vty, "%-72s", "");
- vty_out (vty, "%s(%d) ",
- vid2string (cvertex, buff), cvertex->type);
- }
- }
-#endif
vty_out (vty, "%s", VTY_NEWLINE);
}
}
{
struct connected *c;
struct prefix *p;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
c = zebra_interface_address_read (ZEBRA_INTERFACE_ADDRESS_ADD,
zclient->ibuf, vrf_id);
p = c->address;
- prefix2str (p, buf, BUFSIZ);
+ prefix2str (p, buf, sizeof (buf));
#ifdef EXTREME_DEBUG
if (p->family == AF_INET)
zlog_debug ("connected IP address %s", buf);
struct interface *ifp;
#ifdef EXTREME_DEBUG
struct prefix *p;
- u_char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
#endif /* EXTREME_DEBUG */
c = zebra_interface_address_read (ZEBRA_INTERFACE_ADDRESS_DELETE,
#ifdef EXTREME_DEBUG
p = c->address;
- prefix2str (p, buf, BUFSIZ);
+ prefix2str (p, buf, sizeof (buf));
if (p->family == AF_INET)
zlog_debug ("disconnected IP address %s", buf);
prefix2str (union prefix46constptr pu, char *str, int size)
{
const struct prefix *p = pu.p;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
- inet_ntop (p->family, &p->u.prefix, buf, BUFSIZ);
- snprintf (str, size, "%s/%d", buf, p->prefixlen);
+ snprintf (str, size, "%s/%d",
+ inet_ntop (p->family, &p->u.prefix, buf, PREFIX2STR_BUFFER),
+ p->prefixlen);
return str;
}
extern const char *prefix_family_str (const struct prefix *);
extern int prefix_blen (const struct prefix *);
extern int str2prefix (const char *, struct prefix *);
+
+/*
+ * 8 groups of 4 bytes of hexadecimal + 7 seperators is 39
+ * /128 = 4 bytes
+ * Null = 1 byte
+ * 39 + 4 + 1 = 44 bytes
+ */
+#define PREFIX2STR_BUFFER 44
extern const char *prefix2str (union prefix46constptr, char *, int);
extern int prefix_match (const struct prefix *, const struct prefix *);
extern int prefix_same (const struct prefix *, const struct prefix *);
else if (CHECK_FLAG(ifc->flags, ZEBRA_IFA_PEER))
{
/* carp interfaces on OpenBSD with 0.0.0.0/0 as "peer" */
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
prefix2str (ifc->address, buf, sizeof(buf));
zlog_warn("warning: interface %s address %s "
"with peer flag set, but no peer address!",
struct ospf6_inter_router_lsa *router_lsa;
struct ospf6_route_table *summary_table = NULL;
u_int16_t type;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
int is_debug = 0;
/* Only destination type network, range or ASBR are considered */
u_int8_t prefix_options = 0;
u_int32_t cost = 0;
u_char router_bits = 0;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
int is_debug = 0;
struct ospf6_inter_prefix_lsa *prefix_lsa = NULL;
struct ospf6_inter_router_lsa *router_lsa = NULL;
struct listnode *node;
struct ospf6_area *oa;
struct ospf6_route *range;
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
for (ALL_LIST_ELEMENTS_RO (ospf6->area_list, node, oa))
{
struct ospf6_external_info *info = route->route_option;
struct ospf6_as_external_lsa *as_external_lsa;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
caddr_t p;
if (IS_OSPF6_DEBUG_ASBR || IS_OSPF6_DEBUG_ORIGINATE (AS_EXTERNAL))
struct ospf6_as_external_lsa *external;
struct prefix asbr_id;
struct ospf6_route *asbr_entry, *route;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
external = (struct ospf6_as_external_lsa *)
OSPF6_LSA_HEADER_END (lsa->header);
struct ospf6_as_external_lsa *external;
struct prefix prefix;
struct ospf6_route *route, *nroute;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
external = (struct ospf6_as_external_lsa *)
OSPF6_LSA_HEADER_END (lsa->header);
struct ospf6_external_info *info;
struct prefix prefix_id;
struct route_node *node;
- char pbuf[64], ibuf[16];
+ char pbuf[PREFIX2STR_BUFFER], ibuf[16];
struct listnode *lnode, *lnnode;
struct ospf6_area *oa;
struct route_node *node;
struct ospf6_lsa *lsa;
struct prefix prefix_id;
- char pbuf[64], ibuf[16];
+ char pbuf[PREFIX2STR_BUFFER], ibuf[16];
struct listnode *lnode, *lnnode;
struct ospf6_area *oa;
ospf6_asbr_external_route_show (struct vty *vty, struct ospf6_route *route)
{
struct ospf6_external_info *info = route->route_option;
- char prefix[64], id[16], forwarding[64];
+ char prefix[PREFIX2STR_BUFFER], id[16], forwarding[64];
u_int32_t tmp_id;
prefix2str (&route->prefix, prefix, sizeof (prefix));
if (IS_OSPF6_DEBUG_ZEBRA (RECV))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(&dp, buf, sizeof(buf));
zlog_debug("Zebra: interface %s bfd destination %s %s", ifp->name, buf,
bfd_get_status_str(status));
{
struct prefix_list *plist;
enum prefix_list_type ret;
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str (c->address, buf, sizeof (buf));
plist = prefix_list_lookup (AFI_IP6, oi->plist_name);
struct connected *c;
struct prefix *p;
struct listnode *i;
- char strbuf[64], drouter[32], bdrouter[32];
+ char strbuf[PREFIX2STR_BUFFER], drouter[32], bdrouter[32];
const char *updown[3] = {"down", "up", NULL};
const char *type;
struct timeval res, now;
struct listnode *i, *j;
int full_count = 0;
unsigned short prefix_num = 0;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
struct ospf6_route_table *route_advertise;
oa = (struct ospf6_area *) THREAD_ARG (thread);
struct ospf6_link_lsa *link_lsa;
char *start, *end, *current;
u_int16_t type;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
oi = (struct ospf6_interface *) THREAD_ARG (thread);
oi->thread_intra_prefix_lsa = NULL;
int prefix_num;
struct ospf6_prefix *op;
char *start, *current, *end;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
struct interface *ifp;
int direct_connect = 0;
int prefix_num;
struct ospf6_prefix *op;
char *start, *current, *end;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
if (IS_OSPF6_DEBUG_EXAMIN (INTRA_PREFIX))
zlog_debug ("%s disappearing", lsa->name);
#define CONTINUE_IF_ADDRESS_LINKLOCAL(debug,addr) \
if (IN6_IS_ADDR_LINKLOCAL (&(addr)->u.prefix6)) \
{ \
- char buf[64]; \
+ char buf[PREFIX2STR_BUFFER]; \
prefix2str (addr, buf, sizeof (buf)); \
if (debug) \
zlog_debug ("Filter out Linklocal: %s", buf); \
#define CONTINUE_IF_ADDRESS_UNSPECIFIED(debug,addr) \
if (IN6_IS_ADDR_UNSPECIFIED (&(addr)->u.prefix6)) \
{ \
- char buf[64]; \
+ char buf[PREFIX2STR_BUFFER]; \
prefix2str (addr, buf, sizeof (buf)); \
if (debug) \
zlog_debug ("Filter out Unspecified: %s", buf);\
#define CONTINUE_IF_ADDRESS_LOOPBACK(debug,addr) \
if (IN6_IS_ADDR_LOOPBACK (&(addr)->u.prefix6)) \
{ \
- char buf[64]; \
+ char buf[PREFIX2STR_BUFFER]; \
prefix2str (addr, buf, sizeof (buf)); \
if (debug) \
zlog_debug ("Filter out Loopback: %s", buf); \
#define CONTINUE_IF_ADDRESS_V4COMPAT(debug,addr) \
if (IN6_IS_ADDR_V4COMPAT (&(addr)->u.prefix6)) \
{ \
- char buf[64]; \
+ char buf[PREFIX2STR_BUFFER]; \
prefix2str (addr, buf, sizeof (buf)); \
if (debug) \
zlog_debug ("Filter out V4Compat: %s", buf); \
#define CONTINUE_IF_ADDRESS_V4MAPPED(debug,addr) \
if (IN6_IS_ADDR_V4MAPPED (&(addr)->u.prefix6)) \
{ \
- char buf[64]; \
+ char buf[PREFIX2STR_BUFFER]; \
prefix2str (addr, buf, sizeof (buf)); \
if (debug) \
zlog_debug ("Filter out V4Mapped: %s", buf); \
p = (struct prefix *) &key;
{
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
prefix2str (p, buf, sizeof (buf));
zlog_debug ("lsdb_lookup_next: key: %s", buf);
}
route_table_assert (struct ospf6_route_table *table)
{
struct ospf6_route *prev, *r, *next;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
unsigned int link_error = 0, num = 0;
r = ospf6_route_head (table);
struct route_node *node, *nextnode, *prevnode;
struct ospf6_route *current = NULL;
struct ospf6_route *prev = NULL, *old = NULL, *next = NULL;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
struct timeval now;
assert (route->rnode == NULL);
{
struct route_node *node;
struct ospf6_route *current;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
if (route->type == OSPF6_DEST_TYPE_LINKSTATE)
ospf6_linkstate_prefix2str (&route->prefix, buf, sizeof (buf));
ospf6_route_show (struct vty *vty, struct ospf6_route *route)
{
int i;
- char destination[64], nexthop[64];
+ char destination[PREFIX2STR_BUFFER], nexthop[64];
char duration[16], ifname[IFNAMSIZ];
struct timeval now, res;
struct listnode *node;
void
ospf6_route_show_detail (struct vty *vty, struct ospf6_route *route)
{
- char destination[64], nexthop[64], ifname[IFNAMSIZ];
+ char destination[PREFIX2STR_BUFFER], nexthop[64], ifname[IFNAMSIZ];
char area_id[16], id[16], adv_router[16], capa[16], options[16];
struct timeval now, res;
char duration[16];
if (IS_OSPF6_DEBUG_ZEBRA (RECV))
{
- char prefixstr[128], nexthopstr[128];
+ char prefixstr[PREFIX2STR_BUFFER], nexthopstr[128];
prefix2str ((struct prefix *)&p, prefixstr, sizeof (prefixstr));
if (nexthop)
inet_ntop (AF_INET6, nexthop, nexthopstr, sizeof (nexthopstr));
ospf6_zebra_route_update (int type, struct ospf6_route *request)
{
struct zapi_ipv6 api;
- char buf[64];
+ char buf[PREFIX2STR_BUFFER];
int nhcount;
struct in6_addr **nexthops;
unsigned int *ifindexes;
if (!lsa)
{
- char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+ char buf[PREFIX2STR_BUFFER];
prefix2str ((struct prefix *) p, buf, sizeof(buf));
zlog_warn ("%s: Could not refresh %s to %s",
if (!lsa)
{
- char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+ char buf[PREFIX2STR_BUFFER];
prefix2str ((struct prefix *)p, buf, sizeof(buf));
zlog_warn ("%s: Could not originate %s to %s",
lsa = ospf_summary_asbr_lsa_originate (p, cost, area);
if (!lsa)
{
- char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+ char buf[PREFIX2STR_BUFFER];
prefix2str ((struct prefix *)p, buf, sizeof(buf));
zlog_warn ("%s: Could not refresh/originate %s to %s",
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(&p, buf, sizeof(buf));
zlog_debug("Zebra: interface %s bfd destination %s %s", ifp->name, buf,
bfd_get_status_str(status));
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(&router_id, buf, sizeof(buf));
zlog_debug("Zebra rcvd: router id update %s", buf);
}
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(c->address, buf, sizeof(buf));
zlog_debug("Zebra: interface %s address add %s", c->ifp->name, buf);
}
if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
{
- char buf[128];
+ char buf[PREFIX2STR_BUFFER];
prefix2str(c->address, buf, sizeof(buf));
zlog_debug("Zebra: interface %s address delete %s", c->ifp->name, buf);
}
static void
print_subtree (struct route_node *rn, const char *legend, int indent_level)
{
- char buf[INET_ADDRSTRLEN + 4];
+ char buf[PREFIX2STR_BUFFER];
int i;
/*
{
struct prefix_ipv4 target_pfx, next_pfx;
struct route_node *rn;
- char result_buf[INET_ADDRSTRLEN + 4];
+ char result_buf[PREFIX2STR_BUFFER];
if (str2prefix_ipv4 (target, &target_pfx) <= 0)
{
*/
if (rtm->rtm_type != RTM_GET && rtm->rtm_pid == pid)
{
- char buf[INET_ADDRSTRLEN], gate_buf[INET_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER], gate_buf[INET_ADDRSTRLEN];
int ret;
if (! IS_ZEBRA_DEBUG_RIB)
return;
if (IS_ZEBRA_DEBUG_KERNEL)
{
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
zlog_debug ("%s %s vrf %u",
h->nlmsg_type == RTM_NEWROUTE ? "RTM_NEWROUTE" : "RTM_DELROUTE",
prefix2str (&p, buf, sizeof(buf)), vrf_id);
if (rtm->rtm_family == AF_INET6)
{
struct prefix_ipv6 p;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
p.family = AF_INET6;
memcpy (&p.prefix, dest, 16);
union prefix46constptr pp, const struct rib * rib)
{
const struct prefix *p = pp.p;
- char straddr[INET6_ADDRSTRLEN];
+ char straddr[PREFIX2STR_BUFFER];
struct nexthop *nexthop, *tnexthop;
int recursing;
struct rib *same = NULL;
struct nexthop *nexthop, *tnexthop;
int recursing;
- char buf1[INET6_ADDRSTRLEN];
+ char buf1[PREFIX2STR_BUFFER];
char buf2[INET6_ADDRSTRLEN];
/* Lookup table. */
struct rib *same = NULL;
struct nexthop *nexthop, *tnexthop;
int recursing;
- char buf1[INET6_ADDRSTRLEN];
+ char buf1[PREFIX2STR_BUFFER];
char buf2[INET6_ADDRSTRLEN];
/* Apply mask. */
if (IS_ZEBRA_DEBUG_NHT)
{
- char buf[INET6_ADDRSTRLEN];
- prefix2str(p, buf, INET6_ADDRSTRLEN);
+ char buf[PREFIX2STR_BUFFER];
+ prefix2str(p, buf, sizeof (buf));
zlog_debug("add rnh %s in vrf %d", buf, vrfid);
}
table = get_rnh_table(vrfid, PREFIX_FAMILY(p), type);
if (IS_ZEBRA_DEBUG_NHT)
{
- char buf[INET6_ADDRSTRLEN];
- zlog_debug("delete rnh %s", rnh_str(rnh, buf, INET6_ADDRSTRLEN));
+ char buf[PREFIX2STR_BUFFER];
+ zlog_debug("delete rnh %s", rnh_str(rnh, buf, sizeof (buf)));
}
rnh->flags |= ZEBRA_NHT_DELETED;
{
if (IS_ZEBRA_DEBUG_NHT)
{
- char buf[INET6_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
zlog_debug("client %s registers rnh %s",
zebra_route_string(client->proto),
- rnh_str(rnh, buf, INET6_ADDRSTRLEN));
+ rnh_str(rnh, buf, sizeof (buf)));
}
if (!listnode_lookup(rnh->client_list, client))
{
{
if (IS_ZEBRA_DEBUG_NHT)
{
- char buf[INET6_ADDRSTRLEN];
+ char buf[PREFIX2STR_BUFFER];
zlog_debug("client %s unregisters rnh %s",
zebra_route_string(client->proto),
- rnh_str(rnh, buf, INET6_ADDRSTRLEN));
+ rnh_str(rnh, buf, sizeof (buf)));
}
listnode_delete(rnh->client_list, client);
if (list_isempty(rnh->client_list) &&
struct rib *rib, *srib;
int state_changed = 0;
int at_least_one = 0;
- char bufn[INET6_ADDRSTRLEN];
- char bufp[INET6_ADDRSTRLEN];
- char bufs[INET6_ADDRSTRLEN];
+ char bufn[PREFIX2STR_BUFFER];
+ char bufp[PREFIX2STR_BUFFER];
+ char bufs[PREFIX2STR_BUFFER];
struct route_node *static_rn;
struct nexthop *nexthop, *tnexthop;
int recursing;
{
if (IS_ZEBRA_DEBUG_NHT)
{
- prefix2str(&nrn->p, bufn, INET6_ADDRSTRLEN);
+ prefix2str(&nrn->p, bufn, sizeof (bufn));
zlog_debug("rnh import check %s for %s, notifying clients\n",
rnh->state ? "passed" : "failed", bufn);
}
if (IS_ZEBRA_DEBUG_NHT && (state_changed || force))
{
- prefix2str(&nrn->p, bufn, INET6_ADDRSTRLEN);
+ prefix2str(&nrn->p, bufn, sizeof (bufn));
if (prn)
- prefix2str(&prn->p, bufp, INET6_ADDRSTRLEN);
+ prefix2str(&prn->p, bufp, sizeof (bufp));
else
strcpy(bufp, "null");
{
if (IS_ZEBRA_DEBUG_NHT)
{
- prefix2str(&static_rn->p, bufs, INET6_ADDRSTRLEN);
+ prefix2str(&static_rn->p, bufs, sizeof (bufs));
zlog_debug("%s: Unable to find RIB for static route %s, skipping NH resolution",
__FUNCTION__, bufs);
continue;
rnh = nrn->info;
if (IS_ZEBRA_DEBUG_NHT)
{
- char bufn[INET6_ADDRSTRLEN];
- prefix2str(&nrn->p, bufn, INET6_ADDRSTRLEN);
+ char bufn[PREFIX2STR_BUFFER];
+ prefix2str(&nrn->p, bufn, sizeof (bufn));
zlog_debug("rnh %s - sending nexthop %s event to client %s", bufn,
rnh->state ? "reachable" : "unreachable",
zebra_route_string(client->proto));
rnh = nrn->info;
if (IS_ZEBRA_DEBUG_NHT)
{
- char bufn[INET6_ADDRSTRLEN];
- prefix2str(&nrn->p, bufn, INET6_ADDRSTRLEN);
+ char bufn[PREFIX2STR_BUFFER];
+ prefix2str(&nrn->p, bufn, sizeof (bufn));
zlog_debug("rnh %s - cleaning state for client %s", bufn,
zebra_route_string(client->proto));
}
struct route_node *rn;
struct static_route *si;
int write;
- char buf[BUFSIZ];
+ char buf[PREFIX2STR_BUFFER];
struct route_table *stable;
struct zebra_vrf *zvrf;
vrf_iter_t iter;
{
if (nexthop_num > MULTIPATH_NUM)
{
- char buff[80];
- prefix2str(p, buff, 80);
+ char buff[PREFIX2STR_BUFFER];
+ prefix2str(p, buff, sizeof (buff));
zlog_warn("%s: Prefix %s has %d nexthops, but we can only use the first %d",
caller, buff, nexthop_num, MULTIPATH_NUM);
}