Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | move soures to src subdir | Natanael Copa | 2013-08-22 | 1 | -873/+0 |
| | |||||
* | pingu: add support for 'fwmark' route rule | Natanael Copa | 2013-08-20 | 1 | -8/+24 |
| | | | | | Support for adding a fwmark to an interface. It will make it possible to use firewall to mark specific traffic for a specific ISP. | ||||
* | pingu_netlink: add debug logging for nexthop routes | Natanael Copa | 2012-08-01 | 1 | -0/+5 |
| | |||||
* | pingu_route: allow default routes that has no via address | Natanael Copa | 2012-08-01 | 1 | -4/+6 |
| | | | | | | This fixes load-balancing with ppp0 We also make the via address family (ipv4/ipv6) agnostic. | ||||
* | pingu_host: bring interface down instantly if interface disapears | Natanael Copa | 2012-06-12 | 1 | -0/+1 |
| | | | | | | | | | We need execute the down hook in case interface goes down if we have gre tunnels bound to an interface. If for example ppp0 disapears (pppd restart) and comes back before pingu notices it, the gre interface will not be bound to anything. So we force the "down" event instantly if we detect that the iface is gone. | ||||
* | pingu_route: add helper function for generating route string | Natanael Copa | 2012-03-14 | 1 | -11/+4 |
| | | | | Use for logging. | ||||
* | pingu_netlink: logging cleanup | Natanael Copa | 2012-03-06 | 1 | -4/+6 |
| | | | | Fixes uninitialized wraning in valgrind. | ||||
* | pingu_netlink: keep track of the route via interface | Natanael Copa | 2011-12-08 | 1 | -28/+42 |
| | | | | | This is so we later can copy more routes to alternate rotue table if needed. | ||||
* | pingu_conf: add optional rule-priority config option | Natanael Copa | 2011-12-08 | 1 | -3/+4 |
| | | | | This will set the preference for the 'ip rule' | ||||
* | pingu_iface: support binding multiple ping hosts to same iface | Natanael Copa | 2011-10-07 | 1 | -3/+1 |
| | | | | | | | 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 | -12/+12 |
| | |||||
* | pingu_netlink: log route changes as info instead as debug | Natanael Copa | 2011-09-23 | 1 | -1/+1 |
| | | | | Routing changes should not happen that often so we can log them as info | ||||
* | pingu_netlink: delete multipath route if there are no paths | Natanael Copa | 2011-09-09 | 1 | -2/+4 |
| | | | | | | 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_host: cleanup. use constant to indicate host online/offline | Natanael Copa | 2011-09-09 | 1 | -1/+2 |
| | | | | This is to make code cleaner and easier to read. | ||||
* | pingu_netlink: do not add dead routes to multipath | Natanael Copa | 2011-09-09 | 1 | -1/+4 |
| | | | | | We don't was add a multipath via an interface that a pinghost has set as DOWN. | ||||
* | pingu_netlink: delete the exact multipath we created | Natanael Copa | 2011-09-09 | 1 | -7/+20 |
| | | | | | We need to keep track how we created the multipath and delete the corresponding. | ||||
* | pingu_netlink: do not try remove routes that kernel aready removed | Natanael Copa | 2011-09-09 | 1 | -4/+8 |
| | | | | | | | When losing an address the kernel will remove the routes with it so we don't need to try remove it. This is only to avoid error messages in log. | ||||
* | pingu_netlink: update iface index even if we dont have link | Natanael Copa | 2011-09-08 | 1 | -11/+9 |
| | | | | | We might have got a new interface but still not got a link. We need update the iface index in such case. | ||||
* | pingu_netlink: remove ip rule before we reset the address | Natanael Copa | 2011-09-08 | 1 | -1/+1 |
| | | | | We use the address when removing the ip rule. | ||||
* | pingu_netlink: save all routes for cleaup later | Natanael Copa | 2011-09-08 | 1 | -28/+15 |
| | | | | | Instead of only saving the default gateways we save all routes and use those when we clean up on exit. | ||||
* | pingu_netlink: flush route tables on exit | Natanael Copa | 2011-09-07 | 1 | -0/+26 |
| | |||||
* | pingu_{iface,netlink}: only remove route rules that we actually created | Natanael Copa | 2011-09-07 | 1 | -2/+11 |
| | |||||
* | pingu_netlink: get errorcodes from route changes | Natanael Copa | 2011-09-07 | 1 | -37/+83 |
| | | | | | We use netlink_talk() to get back the error code. This helps us to giver more accurate error messages in logs. | ||||
* | pingu: cleanup on exit | Natanael Copa | 2011-09-06 | 1 | -1/+14 |
| | | | | 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/+1 |
| | | | | | 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_netlink: fix logging of routes | Natanael Copa | 2011-09-06 | 1 | -3/+5 |
| | | | | Sometimes we have via a gateway and sometimes we don't. | ||||
* | pingu_netlink: create nexthop route even if its alone | Natanael Copa | 2011-08-18 | 1 | -3/+1 |
| | | | | | Otherwise it will not adjust the default route if one of the ISPs goes down. | ||||
* | pingu: add config option 'load-balance' | Natanael Copa | 2011-08-16 | 1 | -4/+12 |
| | | | | | Add a config option to tell pingu that we want the interface to be load balanced. We also have an optional value to tell the weight. | ||||
* | pingu: implement load balancing with nexthops | Natanael Copa | 2011-08-15 | 1 | -14/+132 |
| | | | | We do loadbalancing by creating a new default gw with nexthops | ||||
* | pingu_gateway: move is_default_gw | Natanael Copa | 2011-08-15 | 1 | -14/+0 |
| | | | | It belongs in pingu_gateway | ||||
* | pingu_netlink: log error responses | Natanael Copa | 2011-08-15 | 1 | -0/+13 |
| | |||||
* | pingu: use source address for ip rule and copy scope link route | Natanael Copa | 2011-08-02 | 1 | -14/+27 |
| | |||||
* | pingu: remove default gw from main route table when isp goes down | Natanael Copa | 2011-07-29 | 1 | -3/+10 |
| | |||||
* | pingu: clean up for ipv6 support in future | Natanael Copa | 2011-07-28 | 1 | -49/+89 |
| | | | | | | | 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 | -2/+6 |
| | | | | | | | | - 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 Copa | 2011-07-28 | 1 | -43/+16 |
| | |||||
* | pingu_netlink: add support for metric and sync deleted routes | Natanael Copa | 2011-07-22 | 1 | -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 change | Natanael Copa | 2011-07-21 | 1 | -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 tables | Natanael Copa | 2011-07-21 | 1 | -5/+91 |
| | | | | | 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 | -7/+50 |
| | |||||
* | pingu_netlink: monitor link status of interfaces via netlink | Natanael Copa | 2011-07-13 | 1 | -0/+318 |