summaryrefslogtreecommitdiff
path: root/bgpd/bgp_zebra.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_zebra.c')
-rw-r--r--bgpd/bgp_zebra.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index 00213b4239..957db4cbc1 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -2390,6 +2390,7 @@ static void bgp_encode_pbr_rule_action(struct stream *s,
{
struct prefix pfx;
uint8_t fam = AF_INET;
+ char ifname[INTERFACE_NAMSIZ];
if (pbra->nh.type == NEXTHOP_TYPE_IPV6)
fam = AF_INET6;
@@ -2431,7 +2432,7 @@ static void bgp_encode_pbr_rule_action(struct stream *s,
stream_put(s, &pfx.u.prefix, prefix_blen(&pfx));
stream_putw(s, 0); /* dst port */
-
+ stream_putc(s, 0); /* dsfield */
/* if pbr present, fwmark is not used */
if (pbr)
stream_putl(s, 0);
@@ -2440,7 +2441,8 @@ static void bgp_encode_pbr_rule_action(struct stream *s,
stream_putl(s, pbra->table_id);
- stream_putl(s, 0); /* ifindex unused */
+ memset(ifname, 0, sizeof(ifname));
+ stream_put(s, ifname, INTERFACE_NAMSIZ); /* ifname unused */
}
static void bgp_encode_pbr_ipset_match(struct stream *s,