summaryrefslogtreecommitdiff
path: root/usr.sbin/ospf6d/ospfe.c
AgeCommit message (Collapse)Author
2012-09-17Fix trailing whitespaces.Alexander Bluhm
2011-07-07Rework the distribution of link state and iface FSM state changes.Claudio Jeker
Link state changes are sent from the parent to both childs and iface FSM state changes are sent from the ospfe to the rde.
2011-07-07KNFClaudio Jeker
2011-07-07Kill nh_reachable. Link state checking is so easy now that it does notClaudio Jeker
matter anymore to cache this value for ospf6d.
2011-05-02Some cleanup, some KNF and sync non functional differences withClaudio Jeker
ospfd's version.
2010-08-22Origin network-LSA with options based on the options of the link-LSAs.Alexander Bluhm
Without this fix Cisco's OSPF 6 ignores our network-LSAs. ok claudio@
2010-07-06Use the static variable narea only where needed for config reload.Alexander Bluhm
The other imessages use the stack variables area and iface. ok claudio@
2010-07-01Fix all white space bugs in ospf6d at once. No binary change.Alexander Bluhm
ok claudio@
2010-07-01The prefixes of interface addresses of an ospf link have to beAlexander Bluhm
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@
2010-05-26Rename some imsg bits to make namespace collisions less likely buf toNicholas Marriott
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE. ok henning gilles claudio jacekm deraadt
2009-06-06make ospf6ctl/ospf6d imsg-in-a-lib ready too.Eric Faurot
ospf6ctl is already broken in tree (not connected to build). ok pyr@
2009-05-31Remove redundant imsg_event_add calls; ok claudio@Jacek Masiulaniec
2009-05-31libevent handler fix to allow EV_READ and EV_WRITE to be set at the sameClaudio Jeker
time in the callback. Same diff that went into ospfd applied with some fuzz.
2009-03-29Now that struct lsa_net represents just the options, orig_net_lsa()Stefan Sperling
can make use of it much better. No functional change. ok claudio@
2009-02-19Remove origination of Intra-Area-Prefix LSAs from ospfe.Stefan Sperling
Will soon be done in rde instead. "Sure but don't wait too long before readding the code in rde" 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-03Formatting fixes.Stefan Sperling
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-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-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-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-28Initial bits for originating net lsa again from Stefan Sperling with someClaudio Jeker
changes by myself.
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
2007-12-13Monster commit of stuff I did mostly last month. What it does:Claudio Jeker
* removes kif and uses iface for everything interface related. This removes unneeded data redundancy which makes the code more complex. * adds the link local prefix to struct iface and attaches a list with the other prefixes to the struct iface. This is needed to generate the link LSA. * disconnects struct iface from struct area (the backpointer is gone) this will make the reload code a bit easier. norby@ agrees with the direction we're heading with this
2007-11-27Make lsa_find() find link local LSA by passing the interface instead of theClaudio Jeker
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.
2007-11-27Monster diff to bring us a bit on track again.Claudio Jeker
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@
2007-10-13From ospfd: Funny typo, it is fib not fip so adjust function name.Claudio Jeker
2007-10-11Disable some code that is currently far from working and results in frequentClaudio Jeker
session resets because of bad packets. With this it seems we survive the hello and database exchange phases. A closer look at the DR and BDR calculation is still needed.
2007-10-11From ospfd:Claudio Jeker
Bye bye global ospf options. OSPF options are per area (at least the one flag that we set). So introduce a area_ospf_options() function that will return the correct flags for each area. This makes stub area support a lot easier. Don't check for OSPF_OPTION_E in the parent. OSPF_OPTION_E is per area and so the parent process has no way to know if it should redistribute or not.
2007-10-09Instead of IP_RECVIF we use IPV6_RECVPKTINFO to get the ifindex and theClaudio Jeker
destination address of incomming packets. This also removes the need for IP_HDRINCL. Additionally use IPV6_CHECKSUM to let the kernel do the necessary packet checksumming, way easier than doing it in userland. OK norby@
2007-10-08Welcome ospf6dEsben Norby
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@