]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_attr.h
bgpd: IPv6 session flapping with MP_REACH_NLRI and 0.0.0.0 in NEXT_HOP attribute
[mirror_frr.git] / bgpd / bgp_attr.h
index 4c8f98947e31e5fe02197624ec9e15771147cb7e..f6b23a36bd6e054d912a74726d7c71c0edd26a03 100644 (file)
@@ -92,12 +92,6 @@ struct bgp_tea_options {
 
 #endif
 
-/* Overlay Index Info */
-struct overlay_index {
-       struct eth_segment_id eth_s_id;
-       union gw_addr gw_ip;
-};
-
 enum pta_type {
        PMSI_TNLTYPE_NO_INFO = 0,
        PMSI_TNLTYPE_RSVP_TE_P2MP,
@@ -204,7 +198,7 @@ struct attr {
        struct bgp_attr_encap_subtlv *vnc_subtlvs; /* VNC-specific */
 #endif
        /* EVPN */
-       struct overlay_index evpn_overlay;
+       struct bgp_route_evpn evpn_overlay;
 
        /* EVPN MAC Mobility sequence number, if any. */
        uint32_t mm_seqnum;
@@ -287,7 +281,7 @@ extern bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *,
                                       mpls_label_t *, uint32_t, int, uint32_t);
 extern void bgp_dump_routes_attr(struct stream *, struct attr *,
                                 struct prefix *);
-extern int attrhash_cmp(const void *, const void *);
+extern bool attrhash_cmp(const void *arg1, const void *arg2);
 extern unsigned int attrhash_key_make(void *);
 extern void attr_show_all(struct vty *);
 extern unsigned long int attr_count(void);
@@ -350,6 +344,9 @@ extern void bgp_packet_mpunreach_prefix(struct stream *s, struct prefix *p,
                                        uint32_t, int, uint32_t, struct attr *);
 extern void bgp_packet_mpunreach_end(struct stream *s, size_t attrlen_pnt);
 
+extern bgp_attr_parse_ret_t bgp_attr_nexthop_valid(struct peer *peer,
+                                                  struct attr *attr);
+
 static inline int bgp_rmap_nhop_changed(uint32_t out_rmap_flags,
                                        uint32_t in_rmap_flags)
 {