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:
		
							
								
								
									
										6
									
								
								proto/ospf/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								proto/ospf/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
source=ospf.c
 | 
			
		||||
root-rel=../../
 | 
			
		||||
dir-name=proto/ospf
 | 
			
		||||
 | 
			
		||||
include ../../Rules
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										39
									
								
								proto/ospf/config.Y
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								proto/ospf/config.Y
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										74
									
								
								proto/ospf/ospf.c
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										17
									
								
								proto/ospf/ospf.h
									
									
									
									
									
										Normal 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_ */
 | 
			
		||||
		Reference in New Issue
	
	Block a user