Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2019-08-08 | WIP: testing codetg/radix-trie | Thomas Gschwantner | 8 | -0/+245 | |
2019-08-05 | WIP: radix-trie: add ipp_removepool_v4/6 | Thomas Gschwantner | 1 | -22/+115 | |
2019-08-02 | radix-trie: implement pool shadowing | Thomas Gschwantner | 2 | -27/+60 | |
Pools are created from routes which can overlap. Consider the following: ip route add 192.168.4.0/28 ip route add 192.168.4.0/24 sleep 3600 ip route del 192.168.4.0/24 Here, the pool created from the first route is being shadowed by the pool from the second route. However, since the second pool is later removed again we cannot simply combine them. So instead this commit shadows them, to avoid them being double counted. | |||||
2019-07-18 | Move counting logic from lease.c to radix-trie.c | Thomas Gschwantner | 3 | -108/+94 | |
2019-07-18 | Implement lease expiration | Thomas Gschwantner | 8 | -36/+120 | |
2019-07-16 | radix-trie: inline find_node() into ipp_addpool() | Thomas Gschwantner | 1 | -16/+8 | |
The way find_node() was written to suit ipp_addpool() means it's not really generic and rather confusing, so we inline it instead. | |||||
2019-06-14 | Use epoll() instead of poll() | Thomas Gschwantner | 4 | -123/+143 | |
This enables us to later use the timeout parameter of epoll_wait() to timely remove expired leases. | |||||
2019-06-14 | Remove CLOCK_MONOTONIC comment | Thomas Gschwantner | 1 | -4/+0 | |
The CLOCK_MONOTONIC change was reverted: https://git.kernel.org/torvalds/c/a3ed0e43 | |||||
2019-06-14 | Fix use-after-free and memory leak in ipp_free() | Thomas Gschwantner | 1 | -14/+11 | |
2019-06-14 | Add missing #include in netlink.h | Thomas Gschwantner | 1 | -0/+1 | |
2019-06-13 | Don't overwrite peer changes by others | Thomas Gschwantner | 1 | -46/+28 | |
2019-06-12 | Implement basic lease management | Thomas Gschwantner | 10 | -162/+536 | |
2019-06-02 | radix-trie: implement ipp_addrnd_* and related | Thomas Gschwantner | 2 | -70/+328 | |
2019-06-02 | Add BUG() and BUG_ON() | Thomas Gschwantner | 2 | -1/+4 | |
2019-06-02 | radix-trie: allow both ipv4 and ipv6 debug output | Thomas Gschwantner | 2 | -12/+30 | |
2019-06-02 | radix-trie: fix fls/fls64 | Thomas Gschwantner | 1 | -6/+6 | |
2019-06-02 | radix-trie: remove bits arg from radix_insert_v4/6 | Thomas Gschwantner | 2 | -6/+6 | |
2019-06-02 | Use hashtable to match ll-ip with pubkey | Thomas Gschwantner | 2 | -31/+661 | |
The link-local IP is always /128, so using a hashtable is more appropriate here. We only use the lower 64 bits as key, since the first 64 bits of link-local addresses are always the same. | |||||
2019-05-26 | Sleep less | Linus Nordberg | 1 | -3/+5 | |
Only sleep after failed try_connect(), because it might fail quickly. The read should be blocking for 1s (SO_RCVTIMEO). | |||||
2019-05-26 | Use blocking I/O in client | Linus Nordberg | 1 | -119/+39 | |
Avoiding the unnecessary complexity of non-blocking I/O. | |||||
2019-05-26 | No need to clear bits in pollfd revents | Linus Nordberg | 2 | -5/+0 | |
POSIX says: "In each pollfd structure, poll() shall clear the revents member, except that where the application requested a report on a condition by setting one of the bits of events listed above, poll() shall set the corresponding bit in revents if the requested condition is true." | |||||
2019-05-26 | Fix backwards logic in debug logging | Linus Nordberg | 1 | -2/+2 | |
2019-05-26 | Implement client sending ip-request and configuring interface | Linus Nordberg | 3 | -24/+521 | |
2019-05-26 | Implement faked allocations, server side | Linus Nordberg | 3 | -104/+433 | |
Reject clients not connecting from an IPv6 address. Reject clients not connecting from the correct port. Fake address allocation. Update allowed-ips with leases handed out. Send response messages. Extend protocol to include lease start and lease time, errno and errmsg. Move common code to common.[ch]. | |||||
2019-02-25 | Specify scope id in addresses to ping6 | Linus Nordberg | 1 | -2/+2 | |
Without scope id, ping6 on a Debian 9 fails with connect: Invalid argument | |||||
2019-02-25 | Accept multiple connections in one go | Thomas Gschwantner | 1 | -12/+28 | |
2019-02-25 | Match incoming IP with pubkey | Thomas Gschwantner | 2 | -11/+90 | |
2019-02-25 | Implement a radix-trie for storing ip=pubkey | Thomas Gschwantner | 3 | -1/+366 | |
2019-02-13 | Move the google doc into the git repository | Daniel Kahn Gillmor | 2 | -1/+103 | |
2019-02-09 | Implement key=value parsing | Thomas Gschwantner | 4 | -46/+411 | |
2019-01-27 | Fix licensing headers | Thomas Gschwantner | 5 | -13/+12 | |
2019-01-26 | Implement basic validation and I/O multiplexing | Thomas Gschwantner | 3 | -25/+374 | |