More conf. items defined.
This commit is contained in:
parent
a789d814dd
commit
aaaff77605
2 changed files with 32 additions and 13 deletions
|
@ -21,7 +21,7 @@ CF_DECLS
|
|||
|
||||
CF_KEYWORDS(OSPF, AREA, OSPF_METRIC1, OSPF_METRIC2, OSPF_TAG)
|
||||
CF_KEYWORDS(NEIGHBORS, RFC1583COMPAT, STUB, TICK, COST, RETRANSMIT)
|
||||
CF_KEYWORDS(HELLO)
|
||||
CF_KEYWORDS(HELLO, TRANSIT, PRIORITY, DEAD, NONBROADCAST, POINTOPOINT, TYPE)
|
||||
|
||||
%type <t> opttext
|
||||
|
||||
|
@ -73,8 +73,31 @@ ospf_iface_item:
|
|||
| COST NUM { OSPF_PATT->cost = $2 ; }
|
||||
| HELLO NUM { OSPF_PATT->helloint = $2 ; }
|
||||
| RETRANSMIT NUM { OSPF_PATT->rxmtint = $2 ; }
|
||||
| TRANSIT DELAY NUM { OSPF_PATT->inftransdelay = $3 ; }
|
||||
| PRIORITY NUM { OSPF_PATT->priority = $2 ; }
|
||||
| WAIT NUM { OSPF_PATT->waitint = $2 ; }
|
||||
| DEAD COUNT NUM { OSPF_PATT->deadc = $3 ; }
|
||||
| TYPE BROADCAST { OSPF_PATT->type = OSPF_IT_BCAST ; }
|
||||
| TYPE NONBROADCAST { OSPF_PATT->type = OSPF_IT_NBMA ; }
|
||||
| TYPE POINTOPOINT { OSPF_PATT->type = OSPF_IT_PTP ; }
|
||||
|
|
||||
;
|
||||
|
||||
ospf_iface_start:
|
||||
{
|
||||
this_ipatt = cfg_allocz(sizeof(struct ospf_iface_patt));
|
||||
add_tail(&this_area->patt_list, NODE this_ipatt);
|
||||
OSPF_PATT->cost = COST_D;
|
||||
OSPF_PATT->helloint = HELLOINT_D;
|
||||
OSPF_PATT->rxmtint = RXMTINT_D;
|
||||
OSPF_PATT->inftransdelay = INFTRANSDELAY_D;
|
||||
OSPF_PATT->priority = PRIORITY_D;
|
||||
OSPF_PATT->waitint = WAIT_DMH*HELLOINT_D;
|
||||
OSPF_PATT->deadc = DEADC_D;
|
||||
OSPF_PATT->type = OSPF_IT_UNDEF;
|
||||
}
|
||||
;
|
||||
|
||||
ospf_iface_opts:
|
||||
'{'
|
||||
| ospf_iface_opts ospf_iface_item ';'
|
||||
|
@ -83,16 +106,6 @@ ospf_iface_opts:
|
|||
ospf_iface_opt_list: /* EMPTY */ | ospf_iface_opts '}'
|
||||
;
|
||||
|
||||
ospf_iface_start:
|
||||
{
|
||||
this_ipatt = cfg_allocz(sizeof(struct ospf_iface_patt));
|
||||
add_tail(&this_area->patt_list, NODE this_ipatt);
|
||||
OSPF_PATT->cost=10;
|
||||
OSPF_PATT->helloint=10;
|
||||
OSPF_PATT->rxmtint=5;
|
||||
}
|
||||
;
|
||||
|
||||
ospf_iface:
|
||||
ospf_iface_start iface_patt ospf_iface_opt_list
|
||||
;
|
||||
|
|
|
@ -90,6 +90,7 @@ struct ospf_iface {
|
|||
#define OSPF_IT_NBMA 1
|
||||
#define OSPF_IT_PTP 2
|
||||
#define OSPF_IT_VLINK 3
|
||||
#define OSPF_IT_UNDEF 4
|
||||
u8 state; /* Interface state machine */
|
||||
#define OSPF_IS_DOWN 0 /* Not working */
|
||||
#define OSPF_IS_LOOP 1 /* Should never happen */
|
||||
|
@ -107,8 +108,8 @@ struct ospf_iface {
|
|||
#define PRIORITY_D 1
|
||||
#define HELLOINT_D 10
|
||||
#define DEADC_D 4
|
||||
#define WAIT_DMH 3 /* Value of Wait timer - not found it in RFC
|
||||
* - using 3*HELLO
|
||||
#define WAIT_DMH 4 /* Value of Wait timer - not found it in RFC
|
||||
* - using 4*HELLO
|
||||
*/
|
||||
struct top_hash_entry *nlsa; /* Originated net lsa */
|
||||
int fadj; /* Number of full adjacent neigh */
|
||||
|
@ -362,6 +363,11 @@ struct ospf_iface_patt {
|
|||
int cost;
|
||||
int helloint;
|
||||
int rxmtint;
|
||||
int inftransdelay;
|
||||
int priority;
|
||||
int waitint;
|
||||
int deadc;
|
||||
int type;
|
||||
};
|
||||
|
||||
static int ospf_start(struct proto *p);
|
||||
|
|
Loading…
Reference in a new issue