aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pingu: implement load balancing with nexthopsNatanael Copa2011-08-153-15/+137
| | | | We do loadbalancing by creating a new default gw with nexthops
* pingu_gateway: move is_default_gwNatanael Copa2011-08-153-17/+19
| | | | It belongs in pingu_gateway
* pingu_netlink: log error responsesNatanael Copa2011-08-151-0/+13
|
* pingu_gateway: cleanup. split out gateway funcsNatanael Copa2011-08-055-119/+145
| | | | | To make code cleaner we move all gateway functions to separate file and rename a few functions.
* pingu_conf: cleanup. use a pingu_conf structNatanael Copa2011-08-053-32/+47
|
* pingu_conf: fix lineno on error messagesNatanael Copa2011-08-051-9/+9
| | | | and some whitespace fixes
* pingu: implement new config formatNatanael Copa2011-08-059-245/+323
| | | | | | | | | | | | | | | | | | | | | New format allows users to define interfaces and ping hosts separately. This means we can run pingu in routing-only mode to set up and manage route tables for multi-isp. We allow the user config a preferred alternate route table for each interface. If not configured, pingu will pick one. Example interface definition looks like: interface eth0 { route-table 10 } Example host definition looks like: host 192.168.0.1 { bind-interface eth0 }
* pingu_iface: init the sockets when init instead of when createNatanael Copa2011-08-022-6/+9
|
* pingu: use source address for ip rule and copy scope link routeNatanael Copa2011-08-023-19/+42
|
* pingu: use host label when logging instead of ip addrNatanael Copa2011-07-292-7/+4
|
* pingu: fix bug when storing addrinfo struct to sockaddr_anyNatanael Copa2011-07-293-11/+53
|
* pingu: remove default gw from main route table when isp goes downNatanael Copa2011-07-295-4/+31
|
* pingu: delete gateway from our listNatanael Copa2011-07-281-0/+49
|
* pingu: clean up for ipv6 support in futureNatanael Copa2011-07-283-68/+121
| | | | | | | make the pingu_gateway struct also hold a destination so the struct can be reused. use sockaddr_any as much as possible.
* pingu: add gw to list and minor cleanupNatanael Copa2011-07-285-15/+52
| | | | | | | | - add default gateways to our gw list - use sockaddr_init to init our gw - implement sockaddr_to_string TODO: delete default gateways from list
* pingu_netlink: remove duplicate routing code.Natanael Copa2011-07-281-43/+16
|
* pingu: use sockaddr_anyNatanael Copa2011-07-288-37/+122
| | | | add common sockaddr utility functions
* Use sockaddr_any for storing address and gatewayNatanael Copa2011-07-283-4/+18
|
* pingu_netlink: add support for metric and sync deleted routesNatanael Copa2011-07-221-19/+98
| | | | | If a route is manually removed in main table we also remove it from our separate route table.
* pingu: create or delete ip rule on link status changeNatanael Copa2011-07-211-7/+58
| | | | | When we detect link on interface we create a route rule and we delete it when we lose the link.
* pingu: add initial code to modify routing tablesNatanael Copa2011-07-215-9/+105
| | | | | For now we just create the alternate routing tables from table 10 and +1 for each new interface. First interface is 10, second is 11 etc.
* pingu_netlink: pick up primary address for interfacesNatanael Copa2011-07-153-10/+87
|
* pingu_netlink: monitor link status of interfaces via netlinkNatanael Copa2011-07-137-6/+334
|
* pingu_iface: implement pingu_iface_usable()Natanael Copa2011-07-134-2/+10
| | | | To test if we can use socket.
* pingu: try bind socket to interface every burstNatanael Copa2011-07-137-21/+46
| | | | | | It might be an interface that disappeared and came back, e.g ppp0. We also don't even try unless we have a successful binding.
* pingu_iface: fix bugNatanael Copa2011-07-131-1/+1
|
* add gitignoreNatanael Copa2011-07-131-0/+3
|
* pingu: run the route-script againNatanael Copa2011-07-082-51/+50
|
* pingu_ping: improve debug message for repliesNatanael Copa2011-07-081-1/+3
|
* list.h: add missing fileNatanael Copa2011-07-081-0/+112
|
* pingu: move config reading to pingu_host and make host_list globalNatanael Copa2011-07-083-147/+149
|
* pingu: remove unused codeNatanael Copa2011-07-081-122/+0
|
* pingu_host: execute the actionNatanael Copa2011-07-081-1/+25
|
* pingu_ping: set status 'down' if we are not able to send the pingNatanael Copa2011-07-081-1/+3
|
* pingu: fix misc bugsNatanael Copa2011-07-073-6/+9
| | | | fix some segfaults and some logic bugs
* pingu: use new libev implementation and implent -v optionNatanael Copa2011-07-072-4/+18
|
* pingu_host: initial implementationNatanael Copa2011-07-071-0/+49
|
* pingu_burst: initial implementationNatanael Copa2011-07-071-0/+55
|
* pingu_ping: initial implementationNatanael Copa2011-07-071-0/+133
|
* log: implement log_warning()Natanael Copa2011-07-072-0/+10
|
* iface: add initial implementationNatanael Copa2011-07-071-0/+104
|
* Add headers for libev based pinguNatanael Copa2011-07-074-1/+71
|
* misc clean upNatanael Copa2011-07-015-30/+42
| | | | | | - rename ping_host to pingu_host - open log - fix compiler warning
* pingu: initial use of libevNatanael Copa2011-06-302-31/+50
| | | | For now we only use libev to generate the ping burst intervals.
* pingu: remove dead codeNatanael Copa2011-06-301-12/+0
|
* pingu: rename to max_retriesNatanael Copa2011-06-301-10/+15
|
* pingu: use linux style lists and rename thingsNatanael Copa2011-06-281-31/+29
|
* pingu: rename dest_addr to ping_hostNatanael Copa2011-06-281-4/+4
|
* pingu: rename name -> label and src_addr to source_ipNatanael Copa2011-06-281-8/+8
|
* pingu: make address family agnosticNatanael Copa2011-06-222-37/+46
| | | | also, give user the possibility to do dns lookups for every ping burst.