aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_iface.h
Commit message (Collapse)AuthorAgeFilesLines
* move soures to src subdirNatanael Copa2013-08-221-62/+0
|
* pingu: add support for 'fwmark' route ruleNatanael Copa2013-08-201-1/+2
| | | | | 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_adm: support route dumpsNatanael Copa2012-03-141-0/+1
|
* pingu_adm: new admin command for dumping active pingsNatanael Copa2012-03-141-1/+2
|
* pingu_ping: always stop ev timer when cleaning up ping listNatanael Copa2012-03-141-2/+1
|
* pingu_conf: add optional rule-priority config optionNatanael Copa2011-12-081-0/+1
| | | | This will set the preference for the 'ip rule'
* pingu_adm: implement host-status and gateway-statusNatanael Copa2011-10-121-0/+2
|
* pingu_iface: support binding multiple ping hosts to same ifaceNatanael Copa2011-10-071-0/+9
| | | | | | | 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_routeNatanael Copa2011-10-071-3/+3
|
* pingu_iface: only load-balance if 2 or more interfaces are configured for itNatanael Copa2011-09-211-1/+1
| | | | | We should not try load-balance at all if there are only 1 or less interfaces configured with "load-balance"
* pingu_netlink: delete the exact multipath we createdNatanael Copa2011-09-091-0/+1
| | | | | We need to keep track how we created the multipath and delete the corresponding.
* pingu_{iface,netlink}: only remove route rules that we actually createdNatanael Copa2011-09-071-0/+1
|
* pingu: cleanup on exitNatanael Copa2011-09-061-0/+1
| | | | We remove the ip rule, close the ping sockets and netlink sockets.
* pingu: only create/lose binding when we get/lose addressNatanael Copa2011-09-061-1/+2
| | | | | 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: add config option 'load-balance'Natanael Copa2011-08-161-0/+2
| | | | | 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_gateway: cleanup. split out gateway funcsNatanael Copa2011-08-051-14/+1
| | | | | To make code cleaner we move all gateway functions to separate file and rename a few functions.
* pingu: implement new config formatNatanael Copa2011-08-051-2/+5
| | | | | | | | | | | | | | | | | | | | | 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-021-0/+1
|
* pingu: use source address for ip rule and copy scope link routeNatanael Copa2011-08-021-1/+7
|
* pingu: remove default gw from main route table when isp goes downNatanael Copa2011-07-291-0/+2
|
* pingu: clean up for ipv6 support in futureNatanael Copa2011-07-281-3/+5
| | | | | | | 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-281-0/+2
| | | | | | | | - 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_anyNatanael Copa2011-07-281-6/+2
| | | | add common sockaddr utility functions
* Use sockaddr_any for storing address and gatewayNatanael Copa2011-07-281-1/+15
|
* pingu: add initial code to modify routing tablesNatanael Copa2011-07-211-2/+1
| | | | | 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-151-1/+6
|
* pingu_netlink: monitor link status of interfaces via netlinkNatanael Copa2011-07-131-0/+2
|
* pingu_iface: implement pingu_iface_usable()Natanael Copa2011-07-131-0/+1
| | | | To test if we can use socket.
* pingu: try bind socket to interface every burstNatanael Copa2011-07-131-0/+2
| | | | | | 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.
* Add headers for libev based pinguNatanael Copa2011-07-071-0/+20