#
b67f69b5 |
| 17-Feb-2020 |
denis <denis@openbsd.org> |
Bring ospf6d closer to ospfd
- update debug messages to be more precise - simplify call to lsa_self() - drop lsa_find_lsid() redondant parameters
OK remi@
|
#
47cb1ae0 |
| 21-Jan-2020 |
denis <denis@openbsd.org> |
No need to pass peerid to lsa_snap()
OK remi@
|
#
85be3f1a |
| 22-Dec-2019 |
denis <denis@openbsd.org> |
Rename and move calc_nexthop_clear()/calc_nexthop_add()
OK claudio@
|
#
0da7e0dd |
| 01-Jul-2010 |
bluhm <bluhm@openbsd.org> |
Fix all white space bugs in ospf6d at once. No binary change. ok claudio@
|
#
8e1674f3 |
| 01-Jul-2010 |
bluhm <bluhm@openbsd.org> |
The prefixes of interface addresses of an ospf link have to be advertised as link-lsa and intra-area-prefix-lsa when they change dynamically. Handle RTM_NEWADDR and RTM_DELADDR in kroute by sending
The prefixes of interface addresses of an ospf link have to be advertised as link-lsa and intra-area-prefix-lsa when they change dynamically. Handle RTM_NEWADDR and RTM_DELADDR in kroute by sending an imsg to ospfe. Upon this event, originate a new link-lsa in ospfe. In rde a new intra-area-prefix-lsa is generated when a link-lsa appears or goes away. ok claudio@; ok and test stsp@
show more ...
|
#
e0dd50a7 |
| 01-Mar-2010 |
claudio <claudio@openbsd.org> |
Implement lsa_find_lsid(), a function that searches the LSDB for a LSA specified by type, adv_rtr and an LSA to compare against. This is needed to find either a free LS ID or the previously assigned
Implement lsa_find_lsid(), a function that searches the LSDB for a LSA specified by type, adv_rtr and an LSA to compare against. This is needed to find either a free LS ID or the previously assigned LS ID of an AS-ext LSA. "looks like you know what you're doing" stsp@
show more ...
|
#
c78f753b |
| 22-Feb-2010 |
stsp <stsp@openbsd.org> |
Treat multiple Router-LSAs originated by the same router as an aggregate, as mandated by RFC5340.
OK claudio@
|
#
712f52e1 |
| 22-Dec-2009 |
claudio <claudio@openbsd.org> |
Link local addressing strikes again. Include ifindex in all nexthop definitions so that we have a chance to build a correct nexthop. Insane that a struct in6_addr is unable to fully specify an IPv6 a
Link local addressing strikes again. Include ifindex in all nexthop definitions so that we have a chance to build a correct nexthop. Insane that a struct in6_addr is unable to fully specify an IPv6 address. kroute.c still needs fixing but now the rib is starting to make sense.
show more ...
|
#
abf314c6 |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
As a first step towards SPF tree calculation, prepare for proper next-hop calculation.
In OSPFv3, next-hop IP addresses are always link-local. The kernel will want to know which interface the link-l
As a first step towards SPF tree calculation, prepare for proper next-hop calculation.
In OSPFv3, next-hop IP addresses are always link-local. The kernel will want to know which interface the link-local address belongs to, so we need an ifindex in struct v_nexthop in addition to the IP address.
Because we cannot determine a link-local next hop IP address for transit networks, only the outgoing interface will be recorded.
Update calc_nexthop_add() according to the above.
Also add new helpers calc_nexthop_lladdr() and calc_nexthop_transit_nbr(), to figure out link-local addresses of nexthop neighbours.
ok claudio@
show more ...
|
#
574fa3b3 |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
Change get_net_link()'s idx argument to unsigned, and make it use less local variables. Makes it consistent with get_rtr_link().
ok claudio@
|
#
b930d91a |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
Because get_rtr_link() forgot to increment the buffer offset it was always returning the first link in the LSA, no matter which link was requested. Fix this bug. Also, decrease the number of local va
Because get_rtr_link() forgot to increment the buffer offset it was always returning the first link in the LSA, no matter which link was requested. Fix this bug. Also, decrease the number of local variables while here, and convert the idx argument to unsigned int. Adjust one caller to pass an unsigned int, other callers will be handled in follow-up commits.
ok claudio@
show more ...
|
#
8cbac03b |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
Remove lsa_find_net(), it isn't needed for OSPFv3.
pointed out by and ok claudio@
|
#
f1ef0307 |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
Add lsa_find_rtr() function, which finds among multiple router LSAs originated by the same router the one with the lowest link state ID.
ok claudio@
|
#
d2afa435 |
| 29-Mar-2009 |
stsp <stsp@openbsd.org> |
For SPF calculation, we will need the source address specified in hello packets by next-hop neighbours. So when notifying the RDE of a new neighbour, send the source address, too.
ok claudio@
|
#
60a9bb12 |
| 12-Mar-2009 |
stsp <stsp@openbsd.org> |
lsa_self() did too many things at once, and had too much logic buried inside of it that its caller relied on.
So split it up as follows: lsa_self() Check whether an LSA is self-originated. lsa_fl
lsa_self() did too many things at once, and had too much logic buried inside of it that its caller relied on.
So split it up as follows: lsa_self() Check whether an LSA is self-originated. lsa_flush() Flush an LSA from the LSDB. lsa_reflood() Prepare an LSA for reflooding (actual reflooding currently requires sending an imsg which must be done by the caller).
ok claudio@
show more ...
|
#
eff6b354 |
| 07-Mar-2009 |
stsp <stsp@openbsd.org> |
Add lsa_find_tree() to allow searching for LSAs in a specific LSA tree. We had code marked XXX searching an LSA tree manually using RB_FIND(), switch it over to lsa_find_tree(). Make lsa_find() use t
Add lsa_find_tree() to allow searching for LSAs in a specific LSA tree. We had code marked XXX searching an LSA tree manually using RB_FIND(), switch it over to lsa_find_tree(). Make lsa_find() use the new function, too, to avoid code duplication. ok claudio@
show more ...
|
#
db8ae7dc |
| 12-Feb-2009 |
stsp <stsp@openbsd.org> |
Make vertex_free() correctly free LSAs in per-interface LSA trees.
Save a pointer to the right LSA tree in new member v->lsa_tree. This saves us the hassle of finding the right tree in vertex_free()
Make vertex_free() correctly free LSAs in per-interface LSA trees.
Save a pointer to the right LSA tree in new member v->lsa_tree. This saves us the hassle of finding the right tree in vertex_free(), we already know it at creation time so why not tuck it in there?
This might cause problems if the ospfe side ever decides to call area_del() with a non-empty area->lsa_tree, without correctly initialising v->lsa_tree. But grep shows that the area's lsa_tree is currently just initialized on the ospfe side, but never modified.
ospf6d daemons which crashed after about 1 min with malloc options FGJ are now happy.
ok claudio@
show more ...
|
#
f0f73935 |
| 27-Jan-2009 |
stsp <stsp@openbsd.org> |
Propagate the neighbour's interface ID, as received in hello packets, to the RDE. ok claudio@
|
#
6d00ce58 |
| 03-Jan-2009 |
stsp <stsp@openbsd.org> |
Since link LSAs live in iface->lsa_tree and not in area->lsa_tree, we had better include LSAs from iface->lsa_tree when sending DB summaries. Fixes initial flood of link LSAs. ok claudio@
|
#
8cd84907 |
| 30-Dec-2008 |
claudio <claudio@openbsd.org> |
lsa_get_prefix() needs to use something else then struct lsa_prefix to store the prefix to because the onwire format has the prefix compressed and so struct lsa_prefix will no longer carry the prefix
lsa_get_prefix() needs to use something else then struct lsa_prefix to store the prefix to because the onwire format has the prefix compressed and so struct lsa_prefix will no longer carry the prefix in it. Use rt_prefix instead which is the expanded and host-byte-order version of the former.
show more ...
|
#
4ae44e47 |
| 27-Nov-2007 |
claudio <claudio@openbsd.org> |
Make lsa_find() find link local LSA by passing the interface instead of the area as lookup point. Additionally make lsa_dump or actually the code around it pass all LSA to ospf6ctl. The rde_spf.c are
Make lsa_find() find link local LSA by passing the interface instead of the area as lookup point. Additionally make lsa_dump or actually the code around it pass all LSA to ospf6ctl. The rde_spf.c are not final.
show more ...
|
#
4139c605 |
| 27-Nov-2007 |
claudio <claudio@openbsd.org> |
Monster diff to bring us a bit on track again. a) implement all (or at least most) lsa_check() cases. b) classify the LSA scope correctly and add a per interface lsa_tree for the link local stuff.
Monster diff to bring us a bit on track again. a) implement all (or at least most) lsa_check() cases. b) classify the LSA scope correctly and add a per interface lsa_tree for the link local stuff. c) implement a function to parse a prefix.
There is still a lot missing currently link local LSA are added to the interface tree but nothing can access them (lsa_find() and a few friends need some changes). OK norby@
show more ...
|
#
19f3adae |
| 16-Oct-2007 |
norby <norby@openbsd.org> |
In OSPFv3 the LSA type is a 16 bit value, furthermore it uses different values than the v2 counterpart.
Change to u_int16_t and define new LSA types.
ok claudio@
|
#
f8efa005 |
| 16-Oct-2007 |
claudio <claudio@openbsd.org> |
First step at making kroute IPv6 aware. This resulted in many additional changes -- some are so hairy that I left them out for later by commenting out larger blocks of code (just grep for XXX if you
First step at making kroute IPv6 aware. This resulted in many additional changes -- some are so hairy that I left them out for later by commenting out larger blocks of code (just grep for XXX if you like to help). Get it in early so that we can work on. OK norby@
show more ...
|
#
a1a4e97b |
| 08-Oct-2007 |
norby <norby@openbsd.org> |
Welcome ospf6d
The new ospf6d daemon will support OSPFv3, basically OSPF for IPv6 networks.
It is heavily based on ospfd(8), it is more or less a copy and paste of it. Currently some unneeded stuff
Welcome ospf6d
The new ospf6d daemon will support OSPFv3, basically OSPF for IPv6 networks.
It is heavily based on ospfd(8), it is more or less a copy and paste of it. Currently some unneeded stuff has been removed and the trasition from IPv4 to IPv6 has begun.
ospf6d is not very usefull at the moment, it is being imported to allow more people to work on it concurrently.
Not yet connected to the builds.
ok claudio@ dlg@
show more ...
|