aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_netlink.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-12-08 11:20:42 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2011-12-08 11:20:42 +0100
commitffb01b018c747560efb8e691c3041751614bfe5e (patch)
tree6014855f36e359d0539d64f1e2cb83c1e0746f5e /pingu_netlink.c
parent6c48490c23e8c32856d3dc49d95786cc5dd9e0a9 (diff)
downloadpingu-ffb01b018c747560efb8e691c3041751614bfe5e.tar.bz2
pingu-ffb01b018c747560efb8e691c3041751614bfe5e.tar.xz
pingu_conf: add optional rule-priority config option
This will set the preference for the 'ip rule'
Diffstat (limited to 'pingu_netlink.c')
-rw-r--r--pingu_netlink.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pingu_netlink.c b/pingu_netlink.c
index b5e2dd7..107a1f9 100644
--- a/pingu_netlink.c
+++ b/pingu_netlink.c
@@ -471,7 +471,6 @@ int netlink_rule_modify(struct netlink_fd *fd,
struct rtmsg msg;
char buf[1024];
} req;
- char buf[64];
memset(&req, 0, sizeof(req));
@@ -490,8 +489,10 @@ int netlink_rule_modify(struct netlink_fd *fd,
req.msg.rtm_src_len = 32;
netlink_add_rtattr_addr_any(&req.nlh, sizeof(req), FRA_SRC,
&iface->primary_addr);
- sockaddr_to_string(&iface->primary_addr, buf, sizeof(buf));
-
+ if (iface->rule_priority != 0)
+ netlink_add_rtattr_l(&req.nlh, sizeof(req), FRA_PRIORITY,
+ &iface->rule_priority, 4);
+
if (!netlink_talk(fd, &req.nlh, sizeof(req), &req.nlh))
return -1;