#include "bgpd/bgpd.h"
#include "bgpd/bgp_debug.h"
+#include "bgpd/bgp_errors.h"
#include "bgpd/bgp_fsm.h"
#include "bgpd/bgp_route.h"
#include "bgpd/bgp_packet.h"
vec = &pkt->arr.entries[BGP_ATTR_VEC_NH];
if (CHECK_FLAG(vec->flags, BPKT_ATTRVEC_FLAGS_UPDATED)) {
- u_int8_t nhlen;
- afi_t nhafi = AFI_MAX; /* NH AFI is based on nhlen! */
+ uint8_t nhlen;
+ afi_t nhafi;
int route_map_sets_nh;
nhlen = stream_getc_from(s, vec->offset);
if (peer_cap_enhe(peer, paf->afi, paf->safi))
nh_modified = 1;
} else if (
peer->sort == BGP_PEER_EBGP
- && paf->safi != SAFI_EVPN
&& (bgp_multiaccess_check_v4(v4nh, peer) == 0)
&& !CHECK_FLAG(
vec->flags,
BPKT_ATTRVEC_FLAGS_RMAP_NH_UNCHANGED)
&& !peer_af_flag_check(
- peer, nhafi, paf->safi,
+ peer, paf->afi, paf->safi,
PEER_FLAG_NEXTHOP_UNCHANGED)) {
/* NOTE: not handling case where NH has new AFI
*/
int num_pfx = 0;
int addpath_encode = 0;
int addpath_overhead = 0;
- u_int32_t addpath_tx_id = 0;
+ uint32_t addpath_tx_id = 0;
struct prefix_rd *prd = NULL;
mpls_label_t label = MPLS_INVALID_LABEL, *label_pnt = NULL;
- u_int32_t num_labels = 0;
+ uint32_t num_labels = 0;
if (!subgrp)
return NULL;
* NLRI then
* return */
if (space_remaining < space_needed) {
- zlog_err(
+ flog_err(
+ BGP_ERR_UPDGRP_ATTR_LEN,
"u%" PRIu64 ":s%" PRIu64
" attributes too long, cannot send UPDATE",
subgrp->update_group->id, subgrp->id);
size_t mp_start = 0;
size_t attrlen_pos = 0;
size_t mplen_pos = 0;
- u_char first_time = 1;
+ uint8_t first_time = 1;
afi_t afi;
safi_t safi;
int space_remaining = 0;
int num_pfx = 0;
int addpath_encode = 0;
int addpath_overhead = 0;
- u_int32_t addpath_tx_id = 0;
+ uint32_t addpath_tx_id = 0;
struct prefix_rd *prd = NULL;