summaryrefslogtreecommitdiffstats
path: root/src/peer.c
AgeCommit message (Collapse)Author
2015-11-18Unify periodic handshakes and peer maintenanceMatthias Schiffer
2015-11-18Clean up peer task handlingMatthias Schiffer
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-16Call ethernet address cleanup from generic maintenance taskMatthias Schiffer
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-10-18peer_group: add fastd_peer_group_lookup_peer_shell_command macro to simplify ↵Matthias Schiffer
shell command lookup
2015-10-18config: make on_up/down/establish/disestablish commands configurable per ↵Matthias Schiffer
peer group
2015-10-18peer_group: move to a new header, add recursive lookup macrosMatthias 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-24peer: fix segfault on on-connect with unknown peerMatthias Schiffer
2015-03-23Move ifname logic from peer to ifaceMatthias Schiffer
2015-03-23peer: compare interface names when checking peer config equalityMatthias Schiffer
2015-03-23peer: create interface when the connection has been established and no ↵Matthias Schiffer
interface exists yet Allows using dynamic interfaces with dynamic peers.
2015-03-23Improve sync/async execution of up/down scriptsMatthias Schiffer
2015-03-23peer: set peer name in on-up environment for peer-specific interfacesMatthias Schiffer
2015-03-23peer: free ifnameMatthias Schiffer
2015-03-23peer: don't create interfaces for disabled peersMatthias Schiffer
2015-03-23peer: make interface name configurable per peerMatthias Schiffer
2015-03-23iface: add ifname argumentMatthias Schiffer
2015-03-23Handle interface creation failure for peer-specific interfacesMatthias Schiffer
2015-03-23Use peer-specific interface in TUN modeMatthias Schiffer
2015-03-23Set the default interface for all peersMatthias Schiffer
2015-03-22First work towards multi-interface supportMatthias Schiffer
2015-03-22peer: remove free_socket_by_id()Matthias Schiffer
2015-03-22Refactor poll APIMatthias Schiffer
2015-01-14Update copyright yearsMatthias Schiffer
2015-01-14Reset all connections on SIGUSR2Matthias Schiffer
2014-09-26Don't forward frames with local destination MAC addressMatthias Schiffer
2014-09-15status: add uptime and established timesMatthias Schiffer
2014-09-12Add per-peer statsMatthias Schiffer
2014-09-01Ensure peer add/delete messages are printed for the same peersMatthias 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-24Don't output "adding peer" messages for static peersMatthias Schiffer
Otherwise log messages are emitted to early.
2014-08-24Instead of replacing changed peers, delete and re-add themMatthias Schiffer
This ensures they get a new ID, so asychronous replies for the old config aren't associated with the new one.
2014-08-24Fix connections to peers with static addressesMatthias 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...
2014-08-22Remove VECTOR_ALLOCMatthias Schiffer
It is done automatically now if the VECTOR is zeroed before.
2014-08-19Create peer structures for disabled peers as wellMatthias Schiffer
We have a 1:1 association between peers and peer configs now.
2014-08-18Unify enabled and dynamic flags into a config_state flagMatthias Schiffer
2014-08-18Remove a few now unneeded peer->config NULL checksMatthias Schiffer
2014-08-18Dynamically create peer configs for dynamic peersMatthias Schiffer
This avoids duplicating the protocol_config field.
2014-08-18Rename WITH_VERIFY CMake option to WITH_DYNAMIC_PEERSMatthias Schiffer
2014-08-18peer: add a flag `dynamic' instead of checking the config field for NULLMatthias Schiffer
2014-08-18Rename "temporary peers" to "dynamic peers"Matthias Schiffer
2014-08-18peer: remove fastd_remote_is_dynamic()Matthias Schiffer
2014-08-18peer: remove dead code fastd_remote_matches_dynamic()Matthias Schiffer
2014-08-02Don't use exponential notation for integersMatthias Schiffer
2014-08-02Introduce and use alloc helpersMatthias Schiffer
These new helpers will terminate fastd on allocation failures and add some additional convenience (allow strdup with NULL; typesafe new(type) macros).