summaryrefslogtreecommitdiff
path: root/usr.sbin/ospf6d
AgeCommit message (Collapse)Author
2009-02-12Make vertex_free() correctly free LSAs in per-interface LSA trees.Stefan Sperling
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@
2009-02-10Fix two obvious copy-paste errors in fatal error messages. We wereStefan Sperling
printing IFINFO while we are actually handling an IFDELETE imsg.
2009-02-03In Intra-Area-Prefix LSAs, set the LA-bit for all prefixes of 128-bitStefan Sperling
length, regardless of interface type. Allowed by RFC5340 and ok claudio@
2009-02-03We don't need anything other than link-local addresses andStefan Sperling
global-scope prefixes in iface->ifa_list. ok claudio@
2009-02-03Formatting fixes.Stefan Sperling
2009-01-31write point-to-point in a consistent way.Igor Sobrado
jmc@ has provided a complete list of manual pages to be fixed, and suggested using uppercase (i.e., Point-to-Point) when discussing the protocol, and lowercase (point-to-point) otherwise. ok jmc@
2009-01-29Correctly byte-swap the link state ID when building Intra-Area-PrefixStefan Sperling
LSAs which refer to Router LSAs. ok claudio@
2009-01-29Originate Intra-Area-Prefix LSAs which reference a router LSA.Stefan Sperling
Routers can now advertise prefixes with global scope throughout an area. This paves the way towards doing SPF calculations to generate routing tables for a single area. ok claudio@
2009-01-29In Link LSAs, #prefixes is a 32bit value.Stefan Sperling
But in Intra-Area-Prefix LSAs, #prefixes is a 16bit value. lsa_intra_a_pref_check() was failing on little-endian machines because it was trying to byte-swap a 32bit value. ok claudio@
2009-01-29lsa_get_prefix() should return the number of bytes consumed and not theClaudio Jeker
number of bytes left in the buffer. OK stsp@
2009-01-29Hard-code the Link State ID of Intra-Area-Prefix LSAs referencing NetworkStefan Sperling
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@
2009-01-29Improve debugging message in orig_intra_lsa_net().Stefan Sperling
Print not just the area, but also the interface to the link the LSA is generated for. ok claudio@
2009-01-28Teach ospf6d to originate Intra-Area-Prefix LSAs, which associate a listStefan Sperling
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@
2009-01-27Propagate the neighbour's interface ID, as received in hello packets,Stefan Sperling
to the RDE. ok claudio@
2009-01-27Again, no need to double check if neighbor exists.Michele Marchetto
ok stsp@
2009-01-27new sentence, new line;Jason McIntyre
2009-01-26Document that ospf6d tries to get the router ID from an IPv4 addressStefan Sperling
if present, and that a router ID must be manually configured on IPv6-only routers.
2009-01-26RFC5340 says neighbours are identified solely by their router ID in OSPFv3,Stefan Sperling
regardless of link type. So don't ever use source addresses from the IP header to match known neighbours when receiving hello packets. ok claudio@
2009-01-26Same fix as just committed to ospfd:Stefan Sperling
First convert IP addresses to host-byte-order before checking which one is smaller. Additionally fix the check to find the lowest configured IP as suggested by the RFC. ok claudio@
2009-01-04if_newaddr() was hard-coding all interface prefixes to /64.Stefan Sperling
Make it smarter so that ospf6d knows the actual prefix length configured on an interface. ok claudio@
2009-01-03Since link LSAs live in iface->lsa_tree and not in area->lsa_tree,Stefan Sperling
we had better include LSAs from iface->lsa_tree when sending DB summaries. Fixes initial flood of link LSAs. ok claudio@
2009-01-03orig_link_lsa() was assuming either virtual or broadcast link.Stefan Sperling
Make it handle other types of links, too. ok claudio@
2009-01-02Add support for originating router LSAs over point-to-point links.Stefan Sperling
OK claudio@
2008-12-30Remove debug message that does not help. The problem with the initial floodClaudio Jeker
of the Link LSA is still not solved though.
2008-12-30Correctly encode the IPv6 prefix. Only (prefixlen + 31)/32 * 4 bytes areClaudio Jeker
attached to the LSA (saves 8 to 12 bytes per prefix and makes our life more interesting or complex).
2008-12-30lsa_get_prefix() needs to use something else then struct lsa_prefix toClaudio Jeker
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.
2008-12-30Correctly compute the options for the net LSA as pre RFC options is set toClaudio Jeker
the or-ed result of all active neighbors. freaky... Discussed with stsp@
2008-12-30First try at originating Link (type-8) LSA. Code is wrong and the initialClaudio Jeker
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
2008-12-28a few documentation updates for opsf6(8) and ospf6ctl(8): remove anIgor Sobrado
existing (but undocumented) flag from the usage of ospf6d; documentation tweaks; while here, synchronize synopsis and usage. ok claudio@
2008-12-28Initial bits for originating net lsa again from Stefan Sperling with someClaudio Jeker
changes by myself.
2008-12-28Part of lsa_self() works at least everything with us as adv_rtr should beClaudio Jeker
killed. From Stefan Sperling
2008-12-28area_ospf_options() should not return network byte order options. InsteadClaudio Jeker
the callers should take care of getting the byte order right. While there remove the opts[123] from the hello_hdr and use LSA_24_* to handle this nasty fields instead. Now router LSA have the correct flags set.
2008-12-28First shot at originating router LSA, still a lot of XXX but seems toClaudio Jeker
work for IF_TYPE_BROADCAST networks. Initial diff by Stefan Sperling, some additional work by myself
2008-12-28No need to byteswap req_hdr.type as lsa_find() will do that for us.Claudio Jeker
From Stefan Sperling
2008-12-28Sync up the flags with the new and shiny RFC5340 while there introduceClaudio Jeker
some macros to handle the 24bit insaneness. rfc5340 syncup by Stefan Sperling, the insanity is mine
2008-12-28Send the interface index in the correct byte order and add iface_id toClaudio Jeker
struct nbr to identify the neighbors correclty. From Stefan Sperling stsp (at) stsp.name
2008-12-28Correctly sync the FSM by issuing the NBR_EVT_NEG_DONE event before sendingClaudio Jeker
possible database desciption files to the RDE. NBR_EVT_NEG_DONE sends an imsg to the RDE to bring the RDE in the correct state for the database exchange when doing this the wrong way the RDE will issue errors. From ospfd (rev. 1.23 of database.c) via Stefan Sperling
2008-10-17bring in the findeol() fix from pfctl. list of affected parsers by sthenHenning Brauer
2008-10-03Unify code between the various flavors of imsg buffer.c.Eric Faurot
Use unsigned int for msg_iovlen. ok henning@ claudio@
2008-06-10one more trafic -> traffic;Jason McIntyre
2008-05-13Unmangle previous commit. spotted by markus@ (wow !)Pierre-Yves Ritschard
2008-05-12Error out with usage line if additional arguments are given after thePierre-Yves Ritschard
option parsing. Found out the hard way by jdixon on ifstated. ok sobrado@, jdixon@, millert@
2008-05-09Henning forgot ospf6d. Add priority to ospf6d as well.Claudio Jeker
2008-03-24msg_controllen has to be CMSG_SPACE so that the kernel can account forTheo de Raadt
each cmsg_len (ie. msg_controllen = sum of CMSG_ALIGN(cmsg_len). This works now that kernel fd passing has been fixed to accept a bit of sloppiness because of this ABI repair. lots of discussion with kettenis
2008-03-15Repair more msg_controllen dealing with structures or arrays ofTheo de Raadt
descriptors; ok hshoexer, also looked at by kettenis and henning
2008-03-13Correct CMSG_SPACE and CMSG_LEN usage everywhere in the tree. Due toTheo de Raadt
an extensive discussion with otto, kettenis, millert, and hshoexer
2008-02-26Have popfile() also close the main config file,Marco Pfatschbacher
but only do the final popfile call after yyparse() is done. This also fixes config reload on SIGHUP for some daemons. Spotted by otto@. OK deraadt@
2008-02-11Correct the output of several error and debug messages.Esben Norby
2008-01-31use a hyphen for "interface-specific" as a compound term. this isJason McIntyre
not a hard and fast rule (actually it's a form i abuse) but hostname.if.5 currently uses two conflicting forms and this keeps it consistent;
2008-01-31do not leak confd on malloc failure in control_accept()Henning Brauer
found by Igor Zinovik <zinovik@cs.karelia.ru>