]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
BGP: Deprecate 'missing lladdr' option
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 6 Jan 2021 13:44:23 +0000 (14:44 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Wed, 6 Jan 2021 13:44:23 +0000 (14:44 +0100)
The option is not implemented since transition to 2.0 and no plan to add it.
Also remove some deprecated RTS_* valus from documentation.

Thanks to Sébastien Parisot for notification.

doc/bird.sgml
proto/bgp/bgp.c
proto/bgp/bgp.h
proto/bgp/config.Y

index 5408cb2a8073ead71ca4b54e919ba8e44796f4e7..232393285a7dc8d7efbdf4aedad7aa333f7e616f 100644 (file)
@@ -1647,9 +1647,8 @@ Common route attributes are:
        <tag><label id="rta-source"><m/enum/ source</tag>
        what protocol has told me about this route. Possible values:
        <cf/RTS_DUMMY/, <cf/RTS_STATIC/, <cf/RTS_INHERIT/, <cf/RTS_DEVICE/,
-       <cf/RTS_STATIC_DEVICE/, <cf/RTS_REDIRECT/, <cf/RTS_RIP/, <cf/RTS_OSPF/,
-       <cf/RTS_OSPF_IA/, <cf/RTS_OSPF_EXT1/, <cf/RTS_OSPF_EXT2/, <cf/RTS_BGP/,
-       <cf/RTS_PIPE/, <cf/RTS_BABEL/.
+       <cf/RTS_RIP/, <cf/RTS_OSPF/, <cf/RTS_OSPF_IA/, <cf/RTS_OSPF_EXT1/,
+       <cf/RTS_OSPF_EXT2/, <cf/RTS_BGP/, <cf/RTS_PIPE/, <cf/RTS_BABEL/.
 
        <tag><label id="rta-dest"><m/enum/ dest</tag>
        Type of destination the packets should be sent to
@@ -2705,20 +2704,6 @@ be used in explicit configuration.
        BGP session (if acceptable), or the preferred address of an associated
        interface.
 
-       <tag><label id="bgp-missing-lladdr">missing lladdr self|drop|ignore</tag>
-       Next Hop attribute in BGP-IPv6 sometimes contains just the global IPv6
-       address, but sometimes it has to contain both global and link-local IPv6
-       addresses. This option specifies what to do if BIRD have to send both
-       addresses but does not know link-local address. This situation might
-       happen when routes from other protocols are exported to BGP, or when
-       improper updates are received from BGP peers. <cf/self/ means that BIRD
-       advertises its own local address instead. <cf/drop/ means that BIRD
-       skips that prefixes and logs error. <cf/ignore/ means that BIRD ignores
-       the problem and sends just the global address (and therefore forms
-       improper BGP update). Default: <cf/self/, unless BIRD is configured as a
-       route server (option <cf/rs client/), in that case default is <cf/ignore/,
-       because route servers usually do not forward packets themselves.
-
        <tag><label id="bgp-gateway">gateway direct|recursive</tag>
        For received routes, their <cf/gw/ (immediate next hop) attribute is
        computed from received <cf/bgp_next_hop/ attribute. This option
index b34dc325f3b04deafc0b8bab4ad3a20c84cc3b76..302d026c01036970d403f40462cc0f3b756b8ae9 100644 (file)
@@ -1986,10 +1986,6 @@ bgp_postconfig(struct proto_config *CF)
     if (cc->next_hop_keep == 0xff)
       cc->next_hop_keep = cf->rr_client ? NH_IBGP : (cf->rs_client ? NH_ALL : NH_NO);
 
-    /* Different default based on rs_client */
-    if (!cc->missing_lladdr)
-      cc->missing_lladdr = cf->rs_client ? MLL_IGNORE : MLL_SELF;
-
     /* Different default for gw_mode */
     if (!cc->gw_mode)
       cc->gw_mode = cf->multihop ? GW_RECURSIVE : GW_DIRECT;
@@ -2131,7 +2127,6 @@ bgp_channel_reconfigure(struct channel *C, struct channel_config *CC, int *impor
   if (!ipa_equal(new->next_hop_addr, old->next_hop_addr) ||
       (new->next_hop_self != old->next_hop_self) ||
       (new->next_hop_keep != old->next_hop_keep) ||
-      (new->missing_lladdr != old->missing_lladdr) ||
       (new->aigp != old->aigp) ||
       (new->aigp_originate != old->aigp_originate))
     *export_changed = 1;
index ff52a1a1f7436bb57ddf73ea96c96603c267b80a..5cabd327c1f66ed365dfc9924a925794175a286c 100644 (file)
@@ -143,7 +143,6 @@ struct bgp_channel_config {
   u8 next_hop_self;                    /* Always set next hop to local IP address (NH_*) */
   u8 next_hop_keep;                    /* Do not modify next hop attribute (NH_*) */
   u8 mandatory;                                /* Channel is mandatory in capability negotiation */
-  u8 missing_lladdr;                   /* What we will do when we don' know link-local addr, see MLL_* */
   u8 gw_mode;                          /* How we compute route gateway from next_hop attr, see GW_* */
   u8 secondary;                                /* Accept also non-best routes (i.e. RA_ACCEPTED) */
   u8 gr_able;                          /* Allow full graceful restart for the channel */
index cc83bfc7be640594ad0225315b3d3bcbb4d0b1b1..18c3560dfc9b9ca49bdd2cbb8a75f0e7020d0e7e 100644 (file)
@@ -241,15 +241,15 @@ bgp_nh:
  | IBGP { $$ = NH_IBGP; }
  | EBGP { $$ = NH_EBGP; }
 
+bgp_lladdr: SELF | DROP | IGNORE;
+
 bgp_channel_item:
    channel_item
  | NEXT HOP ADDRESS ipa { BGP_CC->next_hop_addr = $4; }
  | NEXT HOP SELF bgp_nh { BGP_CC->next_hop_self = $4; }
  | NEXT HOP KEEP bgp_nh { BGP_CC->next_hop_keep = $4; }
  | MANDATORY bool { BGP_CC->mandatory = $2; }
- | MISSING LLADDR SELF { BGP_CC->missing_lladdr = MLL_SELF; }
- | MISSING LLADDR DROP { BGP_CC->missing_lladdr = MLL_DROP; }
- | MISSING LLADDR IGNORE { BGP_CC->missing_lladdr = MLL_IGNORE; }
+ | MISSING LLADDR bgp_lladdr { log(L_WARN "%s.%s: Missing lladdr option is deprecated and ignored, remove it", this_proto->name, this_channel->name); }
  | GATEWAY DIRECT { BGP_CC->gw_mode = GW_DIRECT; }
  | GATEWAY RECURSIVE { BGP_CC->gw_mode = GW_RECURSIVE; }
  | SECONDARY bool { BGP_CC->secondary = $2; }