aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'pingu_conf.c')
-rw-r--r--pingu_conf.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/pingu_conf.c b/pingu_conf.c
index e9e3b60..9a63aaf 100644
--- a/pingu_conf.c
+++ b/pingu_conf.c
@@ -130,6 +130,17 @@ static int pingu_conf_read_iface(struct pingu_conf *conf, char *ifname)
break;
if (strcmp(key, "route-table") == 0) {
pingu_iface_set_route_table(iface, atoi(value));
+ } else if (strcmp(key, "load-balance") == 0) {
+ iface->balance = 1;
+ if (value != NULL) {
+ iface->balance_weight = atoi(value);
+ if (iface->balance_weight <= 0 || iface->balance_weight > 256) {
+ log_error("Invalid load-balance weight %i on line %i",
+ iface->balance_weight,
+ conf->lineno);
+ return -1;
+ }
+ }
} else {
log_error("Unknown keyword '%s' on line %i", key,
conf->lineno);