summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_nexthop.h
diff options
context:
space:
mode:
authorBiswajit Sadhu <sadhub@vmware.com>2019-04-27 13:27:21 +0200
committerBiswajit Sadhu <sadhub@vmware.com>2019-04-27 13:27:21 +0200
commit737af8857aab57d7fdeaffc5b9a72684e2dbb2d4 (patch)
tree397821d3b136ba6504ba547ff706ad187fa7db41 /bgpd/bgp_nexthop.h
parentMerge pull request #4209 from dslicenc/zebra-nexthop-update-flag (diff)
downloadfrr-737af8857aab57d7fdeaffc5b9a72684e2dbb2d4.tar.xz
frr-737af8857aab57d7fdeaffc5b9a72684e2dbb2d4.zip
bgpd: Prevent the ebgp ipv6 sender from changing of nexthop in a special case.
Prevent the ebgp sender from changing the nexthop( which is same as the ebgp neighbour ipv6 address), while sending updates to its ipv6 neighbor.So,if the nexthop of the ipv6 route is same as the ipv6 neighbour address do not change the next hop to your own ip. Signed-off-by: Biswajit Sadhu <sadhub@vmware.com>
Diffstat (limited to 'bgpd/bgp_nexthop.h')
-rw-r--r--bgpd/bgp_nexthop.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/bgpd/bgp_nexthop.h b/bgpd/bgp_nexthop.h
index f06fae570..d35f1ad52 100644
--- a/bgpd/bgp_nexthop.h
+++ b/bgpd/bgp_nexthop.h
@@ -74,11 +74,19 @@ struct tip_addr {
int refcnt;
};
+struct bgp_addrv6 {
+ struct in6_addr addrv6;
+ struct list *ifp_name_list;
+};
+
extern void bgp_connected_add(struct bgp *bgp, struct connected *c);
extern void bgp_connected_delete(struct bgp *bgp, struct connected *c);
extern int bgp_subgrp_multiaccess_check_v4(struct in_addr nexthop,
struct update_subgroup *subgrp);
-extern int bgp_multiaccess_check_v4(struct in_addr, struct peer *);
+extern int bgp_subgrp_multiaccess_check_v6(struct in6_addr nexthop,
+ struct update_subgroup *subgrp);
+extern int bgp_multiaccess_check_v4(struct in_addr nexthop, struct peer *peer);
+extern int bgp_multiaccess_check_v6(struct in6_addr nexthop, struct peer *peer);
extern int bgp_config_write_scan_time(struct vty *);
extern int bgp_nexthop_self(struct bgp *, struct in_addr);
extern struct bgp_nexthop_cache *bnc_new(void);