mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-06 11:46:04 +00:00
Merge pull request #2240 from donaldsharp/ubuntu_bull
Ubuntu 18.04 fixes
This commit is contained in:
commit
c7e35331e3
@ -6509,7 +6509,7 @@ void route_vty_out(struct vty *vty, struct prefix *p, struct bgp_info *binfo,
|
||||
? true
|
||||
: false;
|
||||
bool nexthop_othervrf = false;
|
||||
vrf_id_t nexthop_vrfid;
|
||||
vrf_id_t nexthop_vrfid = VRF_DEFAULT;
|
||||
const char *nexthop_vrfname = "Default";
|
||||
|
||||
if (json_paths)
|
||||
|
@ -470,18 +470,6 @@ void pbr_nht_change_group(const char *name)
|
||||
pbr_nht_install_nexthop_group(pnhgc, nhgc->nhg);
|
||||
}
|
||||
|
||||
/*
|
||||
* Since we are writing into the name field which is PBR_MAP_NAMELEN
|
||||
* size, we are expecting this to field to be at max 100 bytes.
|
||||
* Newer compilers understand that the %s portion may be up to
|
||||
* 100 bytes( because of the size of the string. The %u portion
|
||||
* is expected to be 10 bytes. So in `theory` there are situations
|
||||
* where we might truncate. The reality this is never going to
|
||||
* happen( who is going to create a nexthop group name that is
|
||||
* over say 30 characters? ). As such we are expecting the
|
||||
* calling function to subtract 10 from the size_t l before
|
||||
* we pass it in to get around this new gcc fun.
|
||||
*/
|
||||
char *pbr_nht_nexthop_make_name(char *name, size_t l,
|
||||
uint32_t seqno, char *buffer)
|
||||
{
|
||||
@ -497,7 +485,7 @@ void pbr_nht_add_individual_nexthop(struct pbr_map_sequence *pbrms)
|
||||
struct pbr_nexthop_cache lookup;
|
||||
|
||||
memset(&find, 0, sizeof(find));
|
||||
pbr_nht_nexthop_make_name(pbrms->parent->name, PBR_MAP_NAMELEN - 10,
|
||||
pbr_nht_nexthop_make_name(pbrms->parent->name, PBR_NHC_NAMELEN,
|
||||
pbrms->seqno, find.name);
|
||||
if (!pbrms->internal_nhg_name)
|
||||
pbrms->internal_nhg_name = XSTRDUP(MTYPE_TMP, find.name);
|
||||
|
@ -25,8 +25,10 @@
|
||||
|
||||
#include "pbr_map.h"
|
||||
|
||||
#define PBR_NHC_NAMELEN PBR_MAP_NAMELEN + 10
|
||||
|
||||
struct pbr_nexthop_group_cache {
|
||||
char name[PBR_MAP_NAMELEN];
|
||||
char name[PBR_NHC_NAMELEN];
|
||||
|
||||
uint32_t table_id;
|
||||
|
||||
|
@ -269,7 +269,7 @@ DEFPY(pbr_map_nexthop, pbr_map_nexthop_cmd,
|
||||
if (pbrms->nhg)
|
||||
nh = nexthop_exists(pbrms->nhg, &nhop);
|
||||
else {
|
||||
char buf[PBR_MAP_NAMELEN];
|
||||
char buf[PBR_NHC_NAMELEN];
|
||||
|
||||
if (no) {
|
||||
vty_out(vty, "No nexthops to delete");
|
||||
@ -280,7 +280,7 @@ DEFPY(pbr_map_nexthop, pbr_map_nexthop_cmd,
|
||||
pbrms->internal_nhg_name =
|
||||
XSTRDUP(MTYPE_TMP,
|
||||
pbr_nht_nexthop_make_name(pbrms->parent->name,
|
||||
PBR_MAP_NAMELEN - 10,
|
||||
PBR_NHC_NAMELEN,
|
||||
pbrms->seqno,
|
||||
buf));
|
||||
nh = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user