aboutsummaryrefslogtreecommitdiffstats
path: root/proto
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2021-01-06 14:44:23 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-01-06 14:44:23 +0100
commit4155104c90bc2f3fb680e8041e079ceb3d80a3b1 (patch)
treecc5d40022f46da2baf98b2cff9105889c10c818b /proto
parent21f9acd2a01306af01f19914105985a8a0f9bcba (diff)
downloadbird-4155104c90bc2f3fb680e8041e079ceb3d80a3b1.tar.gz
BGP: Deprecate 'missing lladdr' option
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.
Diffstat (limited to 'proto')
-rw-r--r--proto/bgp/bgp.c5
-rw-r--r--proto/bgp/bgp.h1
-rw-r--r--proto/bgp/config.Y6
3 files changed, 3 insertions, 9 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index b34dc325..302d026c 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -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;
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index ff52a1a1..5cabd327 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -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 */
diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y
index cc83bfc7..18c3560d 100644
--- a/proto/bgp/config.Y
+++ b/proto/bgp/config.Y
@@ -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; }