Preparing for building LS databaze. Huh, why is it so complicated? :-(

Adding definition of some constants.
This commit is contained in:
Ondrej Filip 2000-01-05 00:03:47 +00:00
parent 7a7c1d9f34
commit 1508757478
2 changed files with 35 additions and 5 deletions

View file

@ -17,7 +17,11 @@ ospf_start(struct proto *p)
p->if_notify=ospf_if_notify; p->if_notify=ospf_if_notify;
/* Create graph of LSA's */ /* Create graph of LSA's */
po->gr=ospf_top_new(po); po->areano=1; /* FIXME should respect config! */
po->firstarea=(struct ospf_area *)malloc(sizeof(struct ospf_area));
po->firstarea->gr=ospf_top_new(po);
po->firstarea->next=NULL;
po->firstarea->areaid=0;
return PS_UP; return PS_UP;
} }
@ -30,6 +34,7 @@ ospf_dump(struct proto *p)
struct ospf_neighbor *n; struct ospf_neighbor *n;
struct ospf_config *c = (void *) p->cf; struct ospf_config *c = (void *) p->cf;
struct proto_ospf *po=(struct proto_ospf *)p; struct proto_ospf *po=(struct proto_ospf *)p;
struct ospf_area *oa;
debug("%s: AreaID: %u\n", p->name, c->area ); debug("%s: AreaID: %u\n", p->name, c->area );
@ -45,9 +50,15 @@ ospf_dump(struct proto *p)
} }
} }
debug("\n%s: LSA graph dump start:\n", p->name); oa=po->firstarea;
ospf_top_dump(po->gr); while(oa!=NULL)
debug("%s: LSA graph dump finished\n\n", p->name); {
debug("\n%s: LSA graph dump for area \"%d\" start:\n", p->name,oa->areaid);
ospf_top_dump(oa->gr);
debug("%s: LSA graph dump for area \"%d\" finished\n\n", p->name,
oa->areaid);
oa=oa->next;
}
} }

View file

@ -38,6 +38,18 @@
#error Multicast address not defined in IPv6 #error Multicast address not defined in IPv6
#endif #endif
#define LSREFRESHTIME 1800 /* 30 minut */
#define MINLSINTERVAL 5
#define MINLSARRIVAL 1
#define MAXAGE 3600 /* 1 hour */
#define CHECKAGE 300 /* 5 min */
#define MAXAGEDIFF 900 /* 15 min */
#define LSINFINITY 0xffffff
/*#define DEFAULTDES 0.0.0.0 FIXME: How to define it? */
#define INITSEQNUM 0x80000001 /* Initial Sequence Number */
#define MAXSEQNUM 0x7fffffff /* Maximal Sequence Number */
struct ospf_config { struct ospf_config {
struct proto_config c; struct proto_config c;
u32 area; /* FIXME: Area ID !!! This is wrong !!! u32 area; /* FIXME: Area ID !!! This is wrong !!!
@ -197,10 +209,17 @@ struct ospf_neighbor
#define INM_INACTTIM 11 /* Inactivity timer */ #define INM_INACTTIM 11 /* Inactivity timer */
#define INM_LLDOWN 12 /* Line down */ #define INM_LLDOWN 12 /* Line down */
struct ospf_area {
struct ospf_area *next;
u32 areaid;
struct top_graph *gr; /* LSA graph */
};
struct proto_ospf { struct proto_ospf {
struct proto proto; struct proto proto;
list iface_list; /* Interfaces we really use */ list iface_list; /* Interfaces we really use */
struct top_graph *gr; /* LSA graph */ int areano; /* Number of area I belong to */
struct ospf_area *firstarea;
}; };
static int ospf_start(struct proto *p); static int ospf_start(struct proto *p);