summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEsben Norby <norby@cvs.openbsd.org>2005-05-23 19:59:03 +0000
committerEsben Norby <norby@cvs.openbsd.org>2005-05-23 19:59:03 +0000
commitc114f2f1476430301aa197bb366ec0728071e8d3 (patch)
treeb989916991470a1b2ad0fa3ab12df598faab806b
parent28b589efb76bd0c1d09b0d2c1e36024ce8fda847 (diff)
Make the rfc1583compat flag changable in ospfd.conf(5).
ok claudio@
-rw-r--r--usr.sbin/ospfd/config.c3
-rw-r--r--usr.sbin/ospfd/ospfd.conf.511
-rw-r--r--usr.sbin/ospfd/parse.y8
3 files changed, 18 insertions, 4 deletions
diff --git a/usr.sbin/ospfd/config.c b/usr.sbin/ospfd/config.c
index 010a635e2df..18425131af7 100644
--- a/usr.sbin/ospfd/config.c
+++ b/usr.sbin/ospfd/config.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: config.c,v 1.6 2005/04/14 20:02:09 cloder Exp $ */
+/* $OpenBSD: config.c,v 1.7 2005/05/23 19:59:02 norby Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -146,6 +146,7 @@ show_config(struct ospfd_conf *xconf)
log_debug("--------------------------------------------------------");
log_debug("router-id: %s", inet_ntoa(xconf->rtr_id));
+ log_debug("rfc1583compat: %d", xconf->rfc1583compat);
log_debug("ospf socket: %d", xconf->ospf_socket);
LIST_FOREACH(area, &xconf->area_list, entry) {
diff --git a/usr.sbin/ospfd/ospfd.conf.5 b/usr.sbin/ospfd/ospfd.conf.5
index dfd9949b782..673001d10da 100644
--- a/usr.sbin/ospfd/ospfd.conf.5
+++ b/usr.sbin/ospfd/ospfd.conf.5
@@ -1,4 +1,4 @@
-.\" $OpenBSD: ospfd.conf.5,v 1.8 2005/04/12 09:54:59 claudio Exp $
+.\" $OpenBSD: ospfd.conf.5,v 1.9 2005/05/23 19:59:02 norby Exp $
.\"
.\" Copyright (c) 2005 Esben Norby <norby@openbsd.org>
.\" Copyright (c) 2004 Claudio Jeker <claudio@openbsd.org>
@@ -105,6 +105,15 @@ the default route will be announced over OSPF.
The default setting is
.Ar none .
In this case no additional routes will be announced over OSPF.
+.It Xo
+.Ic rfc1583compat
+.Pq Ic yes Ns \&| Ns Ic no
+.Xc
+If set to
+.Ic yes ,
+decisions regarding AS-external routes are evaluated according to RFC 1583.
+The default is
+.Ic no .
.It Ic router-id Ar address
Set the router ID; if not specified, the lowest IP address of the router
will be used.
diff --git a/usr.sbin/ospfd/parse.y b/usr.sbin/ospfd/parse.y
index 8ce4c533125..58be5de9ae8 100644
--- a/usr.sbin/ospfd/parse.y
+++ b/usr.sbin/ospfd/parse.y
@@ -1,4 +1,4 @@
-/* $OpenBSD: parse.y,v 1.13 2005/04/12 09:54:59 claudio Exp $ */
+/* $OpenBSD: parse.y,v 1.14 2005/05/23 19:59:02 norby Exp $ */
/*
* Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -98,7 +98,7 @@ typedef struct {
%}
%token AREA INTERFACE ROUTERID FIBUPDATE REDISTRIBUTE
-%token SPFDELAY SPFHOLDTIME
+%token RFC1583COMPAT SPFDELAY SPFHOLDTIME
%token AUTHKEY AUTHTYPE AUTHMD AUTHMDKEYID
%token METRIC PASSIVE
%token HELLOINTERVAL TRANSMITDELAY
@@ -250,6 +250,9 @@ conf_main : METRIC number {
}
free($2);
}
+ | RFC1583COMPAT yesno {
+ conf->rfc1583compat = $2;
+ }
| SPFDELAY number {
if ($2 < MIN_SPF_DELAY || $2 > MAX_SPF_DELAY) {
yyerror("spf-delay out of range "
@@ -545,6 +548,7 @@ lookup(char *s)
{"passive", PASSIVE},
{"redistribute", REDISTRIBUTE},
{"retransmit-interval", RETRANSMITINTERVAL},
+ {"rfc1583compat", RFC1583COMPAT},
{"router-dead-time", ROUTERDEADTIME},
{"router-id", ROUTERID},
{"router-priority", ROUTERPRIORITY},