1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.

This commit is contained in:
Ondrej Filip
1999-03-09 22:27:43 +00:00
parent 2575593e0f
commit c1f8dc9149
7 changed files with 141 additions and 1 deletions

6
proto/ospf/Makefile Normal file
View File

@@ -0,0 +1,6 @@
source=ospf.c
root-rel=../../
dir-name=proto/ospf
include ../../Rules

39
proto/ospf/config.Y Normal file
View File

@@ -0,0 +1,39 @@
/*
* BIRD -- OSPF Configuration
*
* (c) 1999 Ondrej Filip <feela@network.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
CF_HDR
#include "proto/ospf/ospf.h"
CF_DECLS
CF_KEYWORDS(OSPF, AREA)
CF_GRAMMAR
CF_ADDTO(proto, ospf_proto '}')
ospf_proto_start: proto_start OSPF {
this_proto = proto_config_new(&proto_ospf, sizeof(struct ospf_config));
}
;
ospf_proto:
ospf_proto_start proto_name '{'
| ospf_proto proto_item ';'
| ospf_proto ospf_area ';'
;
ospf_area: AREA IPA {
((struct ospf_config *)this_proto)->area = $2;
}
;
CF_CODE
CF_END

74
proto/ospf/ospf.c Normal file
View File

@@ -0,0 +1,74 @@
/*
* BIRD -- OSPF
*
* (c) 1999 Ondrej Filip <feela@network.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
#define LOCAL_DEBUG
#include <string.h>
#include "nest/bird.h"
#include "nest/iface.h"
#include "nest/protocol.h"
#include "nest/route.h"
#include "conf/conf.h"
#include "ospf.h"
static int
ospf_start(struct proto *p)
{
struct ospf_config *c = (void *) p->cf;
DBG(" OSPF: Start\n");
return PS_UP;
}
static void
ospf_dump(struct proto *p)
{
char areastr[20];
struct ospf_config *c = (void *) p->cf;
DBG(" OSPF: Dump.\n");
debug(" -AreaID: %d\n", c->area );
}
static struct proto *
ospf_init(struct proto_config *c)
{
struct proto *p = proto_new(c, sizeof(struct proto));
DBG(" OSPF: Init.\n");
p->neigh_notify = NULL;
p->if_notify = NULL;
return p;
}
static void
ospf_preconfig(struct protocol *x, struct config *c)
{
DBG( " OSPF: preconfig\n" );
}
static void
ospf_postconfig(struct proto_config *c)
{
DBG( " OSPF: postconfig\n" );
}
struct protocol proto_ospf = {
name: "OSPF",
init: ospf_init,
dump: ospf_dump,
start: ospf_start,
preconfig: ospf_preconfig,
postconfig: ospf_postconfig,
};

17
proto/ospf/ospf.h Normal file
View File

@@ -0,0 +1,17 @@
/*
* BIRD -- OSPF
*
* (c) 1999 Ondrej Filip <feela@network.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
#ifndef _BIRD_OSPF_H_
#define _BIRD_OSPF_H_
struct ospf_config {
struct proto_config c;
ip_addr area; /* Area ID */
};
#endif /* _BIRD_OSPF_H_ */