summaryrefslogtreecommitdiffstats
path: root/src/fastd.h
AgeCommit message (Collapse)Author
2015-11-17Use task queue for peer resets and keepalivesMatthias Schiffer
This makes it unnecessary to iterate over all peers for maintenance, and desynchronizes different peers' keepalives.
2015-11-10Implement generic task queue to handle handshakes and maintenanceMatthias Schiffer
2015-11-10Use heap-based priority queue to schedule handshakes instead of a linked listMatthias Schiffer
2015-11-09Add generic interface cleanup infrastructureMatthias Schiffer
Some systems (like FreeBSD) don't delete TUN/TAP interfaces after closing, add some infrastructure to do that.
2015-11-09Use a global ioctl socketMatthias Schiffer
Based-on-patch-by: Julian Kornberger <jk+github@digineo.de>
2015-10-18config: make on_up/down/establish/disestablish commands configurable per ↵Matthias Schiffer
peer group
2015-09-04config: allow moving the 'on verify' clause into a peer groupMatthias Schiffer
2015-06-25Use __attribute__((packed)) instead of __attribute__((__packed__)) consistentlyMatthias Schiffer
2015-06-25Don't depend on net/if_ether.hMatthias Schiffer
Instead of adding compatiblity code to make this work with musl, just duplicate the needed definitions in fastd.
2015-03-24Add some MTU-related Doxygen commentsMatthias Schiffer
2015-03-24Add support for defining the MTU per peerMatthias Schiffer
2015-03-23Move ifname logic from peer to ifaceMatthias Schiffer
2015-03-23peer: set peer name in on-up environment for peer-specific interfacesMatthias Schiffer
2015-03-23Some Android fixes for issues introduced by multi-interface supportMatthias Schiffer
Not really tested, I'll do that when the multiif support is finished.
2015-03-23config: move packet mark support check to Bison fileMatthias Schiffer
2015-03-23Add multitap modeMatthias Schiffer
This new mode of operation uses one TAP interface per peer.
2015-03-23iface: add ifname argumentMatthias Schiffer
2015-03-23Use peer-specific interface in TUN modeMatthias Schiffer
2015-03-23Fix sending data from peer-specific interfacesMatthias Schiffer
2015-03-22Add iface_persist config option (always true for now)Matthias Schiffer
2015-03-22Rename tuntap to iface to match struct nameMatthias Schiffer
2015-03-22First work towards multi-interface supportMatthias Schiffer
2015-03-22Refactor poll APIMatthias Schiffer
2015-01-28Remove a few more instances of strcpyMatthias Schiffer
2015-01-28fastd_string_stack_dup[n]: use memcpy instead of strcpy when the length of ↵Matthias Schiffer
the string is known Is a bit more optimized and avoids a warning on OpenBSD
2015-01-21Always disable PMTU discoveryMatthias Schiffer
fastd currently can't fragment packets anyways, so it doesn't make any sense to perform PMTU discovery. This makes the config option `pmtu' a no-op.
2015-01-20handshake: delay method parsing until the sender key has been handledMatthias Schiffer
Otherwise fastd won't use the correct peer group's method list for handshakes incoming on generic sockets.
2015-01-20Another comment fixMatthias Schiffer
2015-01-20Implement new hash table to keep track of unknown peers handshakes have been ↵Matthias Schiffer
sent to This should significantly reduce the number of handshakes sent after restarting fastd with many active connections.
2015-01-16Comment typo fixesMatthias Schiffer
2015-01-14Refactor handling of platforms without user/group settings (Android)Matthias Schiffer
2015-01-14Update copyright yearsMatthias Schiffer
2015-01-14Add Android 4.1+ support. See doc/README-Android.md for build HOWTO.Rick Lei
* Update CMake files to work with android-cmake * Use unix domain socket for communicating with Android GUI * May also run standalone but requires rooted Android device
2015-01-14Allow to configure methods per peer groupMatthias Schiffer
2014-09-26Move get_source_address and get_dest_address to fastd.hMatthias Schiffer
2014-09-15status: add uptime and established timesMatthias Schiffer
2014-09-12Add per-peer statsMatthias Schiffer
2014-09-12Restructure traffics stats to keep all stats in a single structureMatthias Schiffer
2014-09-09Add current method of connections to status outputMatthias Schiffer
2014-09-08Make stats of reordered packetsMatthias Schiffer
2014-09-06Move UNUSED attribute to the start of arguments to help editors understand ↵Matthias Schiffer
the syntax
2014-09-06Don't count stats when WITH_STATUS_SOCKET is not setMatthias Schiffer
2014-09-05Add status socket to get the current status as JSONMatthias Schiffer
2014-09-05Dynamically grow hashtable when there are more than twice as many entries as ↵Matthias Schiffer
buckets This allows us to start with a much smaller hashtable and scale much higher.
2014-09-01Add alloc helpers for aligned allocationsMatthias Schiffer
2014-08-28Add UHASH implementationMatthias Schiffer
2014-08-25Move some utility funtions to a new headerMatthias Schiffer
2014-08-24Coding style: always add a space between a pointer's type and the *Matthias Schiffer
2014-08-24Use simple int64_t timestamps in ms instead of timespecsMatthias Schiffer
2014-08-24Merge peer config into peer structureMatthias Schiffer
With this refactoring, the structure fastd_peer_config_t is merged into fastd_peer_t, and fastd_remote_config_t into fastd_remote_t. This also means we now create peers directly when reading their configurations, which significantly simplifies the whole reload process, and prepares for some future optimizations like a key hash table. Note: This commit is too big, but I couldn't come up with a nice way to split it into smaller pieces...