X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=bgpd%2Fbgp_nexthop.h;h=af4c0bc0470595c6feee0af243d2516c623b3151;hb=f94ed830df98218447f00b97f856de811bfcc4a2;hp=a771bead230126778244e81c52a87f993420c5a7;hpb=adb6f72851cee23440691c609fab63a5ae2afd30;p=mirror_frr.git diff --git a/bgpd/bgp_nexthop.h b/bgpd/bgp_nexthop.h index a771bead2..af4c0bc04 100644 --- a/bgpd/bgp_nexthop.h +++ b/bgpd/bgp_nexthop.h @@ -63,32 +63,34 @@ struct bgp_nexthop_cache { struct bgp_node *node; void *nht_info; /* In BGP, peer session */ - LIST_HEAD(path_list, bgp_info) paths; + LIST_HEAD(path_list, bgp_path_info) paths; unsigned int path_count; struct bgp *bgp; }; -/* BGP own address structure */ -struct bgp_addr { - struct in_addr addr; - int refcnt; -}; - /* Own tunnel-ip address structure */ struct tip_addr { struct in_addr addr; int refcnt; }; -extern int bgp_nexthop_lookup(afi_t, struct peer *peer, struct bgp_info *, - int *, int *); +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 int bgp_nexthop_self(struct bgp *bgp, afi_t afi, uint8_t type, + uint8_t sub_type, struct attr *attr, + struct bgp_node *rn); extern struct bgp_nexthop_cache *bnc_new(void); extern void bnc_free(struct bgp_nexthop_cache *bnc); extern void bnc_nexthop_free(struct bgp_nexthop_cache *bnc); @@ -103,4 +105,5 @@ extern void bgp_tip_del(struct bgp *bgp, struct in_addr *tip); extern void bgp_tip_hash_init(struct bgp *bgp); extern void bgp_tip_hash_destroy(struct bgp *bgp); +extern void bgp_nexthop_show_address_hash(struct vty *vty, struct bgp *bgp); #endif /* _QUAGGA_BGP_NEXTHOP_H */