First option into config added. :-)
This commit is contained in:
parent
62924172ae
commit
3fa5722def
3 changed files with 13 additions and 3 deletions
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* BIRD -- OSPF Configuration
|
* BIRD -- OSPF Configuration
|
||||||
*
|
*
|
||||||
* (c) 1999 Ondrej Filip <feela@network.cz>
|
* (c) 1999-2000 Ondrej Filip <feela@network.cz>
|
||||||
*
|
*
|
||||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
*/
|
*/
|
||||||
|
@ -10,10 +10,14 @@ CF_HDR
|
||||||
|
|
||||||
#include "proto/ospf/ospf.h"
|
#include "proto/ospf/ospf.h"
|
||||||
|
|
||||||
|
CF_DEFINES
|
||||||
|
|
||||||
|
#define OSPF_CFG ((struct ospf_config *) this_proto)
|
||||||
|
|
||||||
CF_DECLS
|
CF_DECLS
|
||||||
|
|
||||||
CF_KEYWORDS(OSPF, AREA, OSPF_METRIC1, OSPF_METRIC2, OSPF_TAG)
|
CF_KEYWORDS(OSPF, AREA, OSPF_METRIC1, OSPF_METRIC2, OSPF_TAG)
|
||||||
CF_KEYWORDS(NEIGHBORS)
|
CF_KEYWORDS(NEIGHBORS, RFC1583COMPAT)
|
||||||
|
|
||||||
%type <t> opttext
|
%type <t> opttext
|
||||||
|
|
||||||
|
@ -31,6 +35,7 @@ ospf_proto:
|
||||||
ospf_proto_start proto_name '{'
|
ospf_proto_start proto_name '{'
|
||||||
| ospf_proto proto_item ';'
|
| ospf_proto proto_item ';'
|
||||||
| ospf_proto ospf_area ';'
|
| ospf_proto ospf_area ';'
|
||||||
|
| ospf_proto RFC1583COMPAT bool ';' { OSPF_CFG->rfc1583 = $3; }
|
||||||
;
|
;
|
||||||
|
|
||||||
ospf_area: AREA idval {
|
ospf_area: AREA idval {
|
||||||
|
|
|
@ -61,6 +61,7 @@ ospf_init(struct proto_config *c)
|
||||||
{
|
{
|
||||||
struct proto *p = proto_new(c, sizeof(struct proto_ospf));
|
struct proto *p = proto_new(c, sizeof(struct proto_ospf));
|
||||||
struct proto_ospf *po=(struct proto_ospf *)p;
|
struct proto_ospf *po=(struct proto_ospf *)p;
|
||||||
|
struct ospf_config *oc=(struct ospf_config *)c;
|
||||||
|
|
||||||
debug("OSPF: Init requested.\n");
|
debug("OSPF: Init requested.\n");
|
||||||
p->import_control = ospf_import_control;
|
p->import_control = ospf_import_control;
|
||||||
|
@ -71,6 +72,8 @@ ospf_init(struct proto_config *c)
|
||||||
p->rte_better = ospf_rte_better;
|
p->rte_better = ospf_rte_better;
|
||||||
p->rte_same = ospf_rte_same;
|
p->rte_same = ospf_rte_same;
|
||||||
|
|
||||||
|
po->rfc1583=oc->rfc1583;
|
||||||
|
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
|
|
||||||
struct ospf_config {
|
struct ospf_config {
|
||||||
struct proto_config c;
|
struct proto_config c;
|
||||||
|
int rfc1583;
|
||||||
u32 area; /* FIXME: Area ID !!! This is wrong !!!
|
u32 area; /* FIXME: Area ID !!! This is wrong !!!
|
||||||
* Should respect interface */
|
* Should respect interface */
|
||||||
};
|
};
|
||||||
|
@ -345,6 +346,7 @@ struct proto_ospf {
|
||||||
list area_list;
|
list area_list;
|
||||||
int areano; /* Number of area I belong to */
|
int areano; /* Number of area I belong to */
|
||||||
struct fib efib; /* FIB for external routes */
|
struct fib efib; /* FIB for external routes */
|
||||||
|
int rfc1583;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int ospf_start(struct proto *p);
|
static int ospf_start(struct proto *p);
|
||||||
|
|
Loading…
Reference in a new issue