Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | pingu_iface: del renewed gateways via broken ISPs | Natanael Copa | 2012-03-23 | 1 | -0/+13 |
| | | | | | | | | | | If we get a new default gateway for an interface that is marked "down", remove the default gw again from main table and let pingu detect that it went up This solves the case when dhcp will renew a lease, recreates the default gw and ISP is broke a bit futher down the road. | ||||
* | pingu_adm: support route dumps | Natanael Copa | 2012-03-14 | 1 | -0/+11 |
| | |||||
* | pingu_adm: new admin command for dumping active pings | Natanael Copa | 2012-03-14 | 1 | -3/+14 |
| | |||||
* | pingu_ping: always stop ev timer when cleaning up ping list | Natanael Copa | 2012-03-14 | 1 | -2/+2 |
| | |||||
* | pingu: cleanup various structures on shutdown | Natanael Copa | 2012-03-06 | 1 | -1/+13 |
| | |||||
* | pingu_netlink: keep track of the route via interface | Natanael Copa | 2011-12-08 | 1 | -1/+1 |
| | | | | | This is so we later can copy more routes to alternate rotue table if needed. | ||||
* | pingu_adm: implement host-status and gateway-status | Natanael Copa | 2011-10-12 | 1 | -0/+15 |
| | |||||
* | pingu_iface: support binding multiple ping hosts to same iface | Natanael Copa | 2011-10-07 | 1 | -1/+35 |
| | | | | | | | Add config option for executing actions when interface gateway goes up/down. Add config option for required hosts up per interface (defaults to 1) | ||||
* | pingu: rename pingu_gateway to pingu_route | Natanael Copa | 2011-10-07 | 1 | -10/+10 |
| | |||||
* | pingu_iface: only load-balance if 2 or more interfaces are configured for it | Natanael Copa | 2011-09-21 | 1 | -14/+16 |
| | | | | | We should not try load-balance at all if there are only 1 or less interfaces configured with "load-balance" | ||||
* | pingu_netlink: delete multipath route if there are no paths | Natanael Copa | 2011-09-09 | 1 | -2/+2 |
| | | | | | | The normal action is to replace but if all ISPs goes down we need to explicit delete the multipath route. Otherwise we will have the last default gw hanging around. | ||||
* | pingu_iface: only update default route in main route table | Natanael Copa | 2011-09-09 | 1 | -1/+2 |
| | | | | | This is related the d3c9eca81e94978284e619aca58cee93977f30a7 fix where we save all the routes in list, not only default gateways. | ||||
* | pingu_iface: only update multpath route when route is a default gw | Natanael Copa | 2011-09-08 | 1 | -3/+4 |
| | | | | | We now save all routes in list but we don't need update multipath routes unless the changed route is a default gateway. | ||||
* | pingu_iface: cleanup load-balance route on exit | Natanael Copa | 2011-09-07 | 1 | -2/+19 |
| | |||||
* | pingu_{iface,netlink}: only remove route rules that we actually created | Natanael Copa | 2011-09-07 | 1 | -1/+2 |
| | |||||
* | pingu_iface: bind to interface too | Natanael Copa | 2011-09-06 | 1 | -0/+5 |
| | | | | This is so we only see the pings for that interface | ||||
* | pingu: cleanup on exit | Natanael Copa | 2011-09-06 | 1 | -0/+9 |
| | | | | We remove the ip rule, close the ping sockets and netlink sockets. | ||||
* | pingu: only create/lose binding when we get/lose address | Natanael Copa | 2011-09-06 | 1 | -1/+4 |
| | | | | | We don't need to rebind every burst. We only bind when we get an address and we only lose the binding when the address is lost. | ||||
* | pingu_iface: bind to address instead of oif | Natanael Copa | 2011-09-06 | 1 | -2/+2 |
| | | | | | Seems like ip rule does not work with source address unless we bind to address | ||||
* | pingu_iface: fix for previous commit | Natanael Copa | 2011-08-16 | 1 | -1/+1 |
| | |||||
* | pingu: implement load balancing with nexthops | Natanael Copa | 2011-08-15 | 1 | -0/+2 |
| | | | | We do loadbalancing by creating a new default gw with nexthops | ||||
* | pingu_gateway: cleanup. split out gateway funcs | Natanael Copa | 2011-08-05 | 1 | -105/+10 |
| | | | | | To make code cleaner we move all gateway functions to separate file and rename a few functions. | ||||
* | pingu: implement new config format | Natanael Copa | 2011-08-05 | 1 | -18/+32 |
| | | | | | | | | | | | | | | | | | | | | | 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 create | Natanael Copa | 2011-08-02 | 1 | -6/+8 |
| | |||||
* | pingu: use source address for ip rule and copy scope link route | Natanael Copa | 2011-08-02 | 1 | -4/+8 |
| | |||||
* | pingu: remove default gw from main route table when isp goes down | Natanael Copa | 2011-07-29 | 1 | -0/+9 |
| | |||||
* | pingu: delete gateway from our list | Natanael Copa | 2011-07-28 | 1 | -0/+49 |
| | |||||
* | pingu: clean up for ipv6 support in future | Natanael Copa | 2011-07-28 | 1 | -16/+27 |
| | | | | | | | 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 cleanup | Natanael Copa | 2011-07-28 | 1 | -13/+29 |
| | | | | | | | | - 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: use sockaddr_any | Natanael Copa | 2011-07-28 | 1 | -8/+49 |
| | | | | add common sockaddr utility functions | ||||
* | Use sockaddr_any for storing address and gateway | Natanael Copa | 2011-07-28 | 1 | -1/+1 |
| | |||||
* | pingu: add initial code to modify routing tables | Natanael Copa | 2011-07-21 | 1 | -2/+7 |
| | | | | | 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 interfaces | Natanael Copa | 2011-07-15 | 1 | -2/+31 |
| | |||||
* | pingu_netlink: monitor link status of interfaces via netlink | Natanael Copa | 2011-07-13 | 1 | -2/+1 |
| | |||||
* | pingu_iface: implement pingu_iface_usable() | Natanael Copa | 2011-07-13 | 1 | -0/+7 |
| | | | | To test if we can use socket. | ||||
* | pingu: try bind socket to interface every burst | Natanael Copa | 2011-07-13 | 1 | -11/+15 |
| | | | | | | 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 bug | Natanael Copa | 2011-07-13 | 1 | -1/+1 |
| | |||||
* | iface: add initial implementation | Natanael Copa | 2011-07-07 | 1 | -0/+104 |