Age | Commit message (Collapse) | Author |
|
ok claudio@
|
|
taken from claudios previous fix to ospfd.
"do it" deraadt@
|
|
|
|
violating namespace rules
ok claudio@
|
|
Link state changes are sent from the parent to both childs and
iface FSM state changes are sent from the ospfe to the rde.
|
|
|
|
|
|
matter anymore to cache this value for ospf6d.
|
|
case carp(4) interfaces anymore. LINK_STATE_IS_UP() almost always does
the right job.
OK deraadt@ henning@
This needs a -current kernel or link state may be not reported correctly.
|
|
intra-area rtr LSA. Diff initialy made by Patrick Coleman but
simplified by myself. Tested and OK dlg@
|
|
|
|
|
|
from the LSA that is currently in the tree. Based on claudio@'s
diff and his fix for ospfd. Additionally originate an LSA with
external route tag correctly by writing the AS-external-LSA's bit
T into the correct field.
ok claudio@
|
|
address changes that does not belong to any area. This fixes an
ospf6d crash. To not search for the area in orig_intra_lsa_net(),
just pass the area as function parameter.
ok claudio@
|
|
is needed to orginate correct intra-area-prefix-lsas.
ok claudio@ stsp@
|
|
The other imessages use the stack variables area and iface.
ok claudio@
|
|
router's prefixes were ignored if all other routers on that link
had no prefixes. Advertise a intra-area-prefix-lsa with all prefixes
for the network if there are any adjacent neighbors on link.
ok stsp@
|
|
ok claudio@
|
|
ok claudio@
|
|
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@
|
|
the interface index for writing routes into the kernel.
ok claudio@
|
|
ok claudio@
|
|
ok claudio@ stsp@
|
|
ok claudio@ stsp@
|
|
|
|
Appart from multi-area support this is the last big missing piece in
ospf6d. ospf6d should now work correctly in single area setups.
So please test.
"it's always nice to see those #if 0 being killed" stsp@
|
|
which easily fits on the stack.
OK claudio@
|
|
this information to kroute and kroute can use that information to fill in
the various sin6_scope_id fields.
|
|
henning, sthen, michele like the idea
|
|
Again from stsp@
|
|
when passing -1 as fd to the imsg call. No frogs for eric@ and pyr@
From stsp@
|
|
ospf6ctl is already broken in tree (not connected to build).
ok pyr@
|
|
|
|
time in the callback. Same diff that went into ospfd applied with some
fuzz.
|
|
"consistency is a good thing" jsing@, ok claudio@
|
|
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@
|
|
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@
|
|
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@
|
|
"For sure!" claudio@
|
|
New Intra-Area-Prefix LSAs are originated when a neighbour
becomes adjacent, or when a neighbour loses adjacency,
or when an interface changes state.
ok claudio@
|
|
We now comply with RFC5340 and move prefixes between the two
ref-types of Intra-Area-Prefix LSAs (router and network).
In case an LSA ends up having all of its prefixes moved to another
one, the LSA is flushed from the LSDB by re-originating with MAX_AGE.
(This does not yet work reliably. We end up having LSAs with zero
prefixes in the LSDB in some cases. Should not affect SPF calculation,
so not much harm done, but will need to be fixed.)
This commit just adds the necessary code to do origination,
but it is not being called yet. This will be done in a separate
commit.
"Looks good." claudio@
|
|
Also syncs other fields the ospfe is syncing to when getting
iface updates from parent process.
None of these fields are used by the rde yet, but state will be
important soon, for proper origination of Intra-Area-Prefix LSAs.
ok claudio@
|
|
printing IFINFO while we are actually handling an IFDELETE imsg.
|
|
|
|
LSAs to zero. We were using the interface index, which is not quite right
for this type of LSA.
This is part of a greater scheme:
Intra-Area-Prefix LSAs referencing Router LSAs (not yet implemented)
will initially have their Link State ID hard-coded to one.
Then, as soon as we implement fragmentation of Intra-Area-Prefix LSAs,
Link State IDs for both types of Intra-Area-Prefix LSA will have to be
generated dynamically in a non-overlapping fashion.
discussed with claudio@
|
|
Print not just the area, but also the interface to the link the LSA
is generated for.
ok claudio@
|
|
of IPv6 prefixes with a Network LSA (there's another type of this LSA which
associates prefixes with a Router LSA -- this remains to be done).
Add what is necessary to allow ospf6ctl to read the new LSA type via IMSG.
ok claudio@
|
|
ok stsp@
|
|
we had better include LSAs from iface->lsa_tree when sending
DB summaries. Fixes initial flood of link LSAs.
ok claudio@
|
|
LSA is lost in lsa_flood. Put this in because it goes in the right direction
and ospf6d is work in progress. Add necessary framework so that we can print
Link LSA in ospf6ctl.
Diff mostly from stsp@ ospf6ctl part by myself
|