Skeleton structures and files added.
This commit is contained in:
parent
95eb1dba3f
commit
de769e24c0
6 changed files with 128 additions and 2 deletions
39
proto/ospf/lsack.c
Normal file
39
proto/ospf/lsack.c
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* BIRD -- OSPF
|
||||||
|
*
|
||||||
|
* (c) 2000 Ondrej Filip <feela@network.cz>
|
||||||
|
*
|
||||||
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ospf.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
ospf_lsack_tx(struct ospf_neighbor *n)
|
||||||
|
{
|
||||||
|
/* FIXME Go on! */
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
|
||||||
|
struct ospf_iface *ifa, u16 size)
|
||||||
|
{
|
||||||
|
u32 nrid, myrid;
|
||||||
|
struct ospf_neighbor *n;
|
||||||
|
struct ospf_lsreq_header *lsh;
|
||||||
|
int length;
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
nrid=ntohl(ps->ospf_packet.routerid);
|
||||||
|
|
||||||
|
myrid=p->cf->global->router_id;
|
||||||
|
|
||||||
|
if((n=find_neigh(ifa, nrid))==NULL)
|
||||||
|
{
|
||||||
|
debug("%s: Received lsack from unknown neigbor! (%u)\n", p->name,
|
||||||
|
nrid);
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
/* FIXME Go on! */
|
||||||
|
}
|
||||||
|
|
17
proto/ospf/lsack.h
Normal file
17
proto/ospf/lsack.h
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
* BIRD -- OSPF
|
||||||
|
*
|
||||||
|
* (c) 2000 Ondrej Filip <feela@network.cz>
|
||||||
|
*
|
||||||
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BIRD_OSPF_LSACK_H_
|
||||||
|
#define _BIRD_OSPF_LSACK_H_
|
||||||
|
|
||||||
|
void ospf_lsack_tx(struct ospf_neighbor *n);
|
||||||
|
void ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
|
||||||
|
struct ospf_iface *ifa, u16 size);
|
||||||
|
|
||||||
|
#endif /* _BIRD_OSPF_LSACK_H_ */
|
|
@ -86,7 +86,7 @@ ospf_lsreq_rx(struct ospf_lsreq_packet *ps, struct proto *p,
|
||||||
|
|
||||||
if((n=find_neigh(ifa, nrid))==NULL)
|
if((n=find_neigh(ifa, nrid))==NULL)
|
||||||
{
|
{
|
||||||
debug("%s: Received dbdes from unknown neigbor! (%u)\n", p->name,
|
debug("%s: Received lsreq from unknown neigbor! (%u)\n", p->name,
|
||||||
nrid);
|
nrid);
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
@ -99,8 +99,12 @@ ospf_lsreq_rx(struct ospf_lsreq_packet *ps, struct proto *p,
|
||||||
{
|
{
|
||||||
DBG("Processing LSA: ID=%u, Type=%u, Router=%u\n", lsh->id, lsh->type,
|
DBG("Processing LSA: ID=%u, Type=%u, Router=%u\n", lsh->id, lsh->type,
|
||||||
lsh->rt);
|
lsh->rt);
|
||||||
|
if(ospf_hash_find(n->ifa->oa->gr, lsh->id, lsh->rt, lsh->type)==NULL)
|
||||||
|
{
|
||||||
|
ospf_neigh_sm(n,INM_BADLSREQ);
|
||||||
|
return;
|
||||||
|
}
|
||||||
/* FIXME Go on */
|
/* FIXME Go on */
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
39
proto/ospf/lsupd.c
Normal file
39
proto/ospf/lsupd.c
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* BIRD -- OSPF
|
||||||
|
*
|
||||||
|
* (c) 2000 Ondrej Filip <feela@network.cz>
|
||||||
|
*
|
||||||
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ospf.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
ospf_lsupd_tx(struct ospf_neighbor *n)
|
||||||
|
{
|
||||||
|
/* FIXME Go on! */
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
|
struct ospf_iface *ifa, u16 size)
|
||||||
|
{
|
||||||
|
u32 nrid, myrid;
|
||||||
|
struct ospf_neighbor *n;
|
||||||
|
struct ospf_lsreq_header *lsh;
|
||||||
|
int length;
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
nrid=ntohl(ps->ospf_packet.routerid);
|
||||||
|
|
||||||
|
myrid=p->cf->global->router_id;
|
||||||
|
|
||||||
|
if((n=find_neigh(ifa, nrid))==NULL)
|
||||||
|
{
|
||||||
|
debug("%s: Received lsupd from unknown neigbor! (%u)\n", p->name,
|
||||||
|
nrid);
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
/* FIXME Go on! */
|
||||||
|
}
|
||||||
|
|
17
proto/ospf/lsupd.h
Normal file
17
proto/ospf/lsupd.h
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
* BIRD -- OSPF
|
||||||
|
*
|
||||||
|
* (c) 2000 Ondrej Filip <feela@network.cz>
|
||||||
|
*
|
||||||
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BIRD_OSPF_LSUPD_H_
|
||||||
|
#define _BIRD_OSPF_LSUPD_H_
|
||||||
|
|
||||||
|
void ospf_lsupd_tx(struct ospf_neighbor *n);
|
||||||
|
void ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
|
||||||
|
struct ospf_iface *ifa, u16 size);
|
||||||
|
|
||||||
|
#endif /* _BIRD_OSPF_LSUPD_H_ */
|
|
@ -246,6 +246,16 @@ struct ospf_lsreq_header {
|
||||||
u32 rt; /* Advertising router */
|
u32 rt; /* Advertising router */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ospf_lsupd_packet {
|
||||||
|
struct ospf_packet ospf_packet;
|
||||||
|
u32 lsano; /* Number of LSA's */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ospf_lsack_packet {
|
||||||
|
struct ospf_packet ospf_packet;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
struct ospf_neighbor
|
struct ospf_neighbor
|
||||||
{
|
{
|
||||||
node n;
|
node n;
|
||||||
|
|
Loading…
Reference in a new issue