summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2014-01-19 14:21:17 +0400
committerDmitry Kozlov <xeb@mail.ru>2014-02-08 09:50:58 +0400
commit0d5e6d03c74f3ab6b83d2333480b2441df9a6522 (patch)
treee82c0865dd92cda8d80d9f0e04e2564641ae61c1
parent0e63419ea36db3a8d673997f1ff74309b9cb77f2 (diff)
downloadaccel-ppp-0d5e6d03c74f3ab6b83d2333480b2441df9a6522.tar.gz
accel-ppp-0d5e6d03c74f3ab6b83d2333480b2441df9a6522.zip
increase size of buffer for netlink messages
Signed-off-by: Dmitry Kozlov <xeb@mail.ru> Conflicts: accel-pppd/libnetlink/ipset.c accel-pppd/libnetlink/iputils.c
-rw-r--r--accel-pppd/libnetlink/iputils.c26
-rw-r--r--accel-pppd/shaper/limiter.c26
2 files changed, 26 insertions, 26 deletions
diff --git a/accel-pppd/libnetlink/iputils.c b/accel-pppd/libnetlink/iputils.c
index 0ae4b04c..2a74ab84 100644
--- a/accel-pppd/libnetlink/iputils.c
+++ b/accel-pppd/libnetlink/iputils.c
@@ -131,7 +131,7 @@ int __export iplink_get_stats(int ifindex, struct rtnl_link_stats *stats)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifinfomsg));
req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
@@ -167,7 +167,7 @@ int __export ipaddr_add(int ifindex, in_addr_t addr, int mask)
struct ipaddr_req {
struct nlmsghdr n;
struct ifaddrmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -176,7 +176,7 @@ int __export ipaddr_add(int ifindex, in_addr_t addr, int mask)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE;
@@ -198,7 +198,7 @@ int __export ipaddr_del(int ifindex, in_addr_t addr)
struct ipaddr_req {
struct nlmsghdr n;
struct ifaddrmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -207,7 +207,7 @@ int __export ipaddr_del(int ifindex, in_addr_t addr)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct ifaddrmsg));
req.n.nlmsg_flags = NLM_F_REQUEST;
@@ -229,7 +229,7 @@ int __export iproute_add(int ifindex, in_addr_t src, in_addr_t dst)
struct ipaddr_req {
struct nlmsghdr n;
struct rtmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -238,7 +238,7 @@ int __export iproute_add(int ifindex, in_addr_t src, in_addr_t dst)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_CREATE;
@@ -265,7 +265,7 @@ int __export iproute_del(int ifindex, in_addr_t dst)
struct ipaddr_req {
struct nlmsghdr n;
struct rtmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -274,7 +274,7 @@ int __export iproute_del(int ifindex, in_addr_t dst)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
req.n.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
@@ -300,7 +300,7 @@ int __export iprule_add(uint32_t addr, int table)
struct ipaddr_req {
struct nlmsghdr n;
struct rtmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -309,7 +309,7 @@ int __export iprule_add(uint32_t addr, int table)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
req.n.nlmsg_flags = NLM_F_REQUEST;
@@ -336,7 +336,7 @@ int __export iprule_del(uint32_t addr, int table)
struct ipaddr_req {
struct nlmsghdr n;
struct rtmsg i;
- char buf[1024];
+ char buf[4096];
} req;
if (!rth)
@@ -345,7 +345,7 @@ int __export iprule_del(uint32_t addr, int table)
if (!rth)
return -1;
- memset(&req, 0, sizeof(req) - 1024);
+ memset(&req, 0, sizeof(req) - 4096);
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
req.n.nlmsg_flags = NLM_F_REQUEST;
diff --git a/accel-pppd/shaper/limiter.c b/accel-pppd/shaper/limiter.c
index 82e29dfe..46bb326c 100644
--- a/accel-pppd/shaper/limiter.c
+++ b/accel-pppd/shaper/limiter.c
@@ -41,9 +41,9 @@ static int qdisc_tbf(struct qdisc_opt *qopt, struct nlmsghdr *n)
opt.buffer = tc_calc_xmittime(opt.rate.rate, qopt->buffer);
tail = NLMSG_TAIL(n);
- addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
- addattr_l(n, 2024, TCA_TBF_PARMS, &opt, sizeof(opt));
- addattr_l(n, 3024, TCA_TBF_RTAB, rtab, 1024);
+ addattr_l(n, TCA_BUF_MAX, TCA_OPTIONS, NULL, 0);
+ addattr_l(n, TCA_BUF_MAX, TCA_TBF_PARMS, &opt, sizeof(opt));
+ addattr_l(n, TCA_BUF_MAX, TCA_TBF_RTAB, rtab, 1024);
tail->rta_len = (void *) NLMSG_TAIL(n) - (void *) tail;
return 0;
@@ -61,8 +61,8 @@ static int qdisc_htb_root(struct qdisc_opt *qopt, struct nlmsghdr *n)
opt.defcls = qopt->defcls;
tail = NLMSG_TAIL(n);
- addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
- addattr_l(n, 2024, TCA_HTB_INIT, &opt, NLMSG_ALIGN(sizeof(opt)));
+ addattr_l(n, TCA_BUF_MAX, TCA_OPTIONS, NULL, 0);
+ addattr_l(n, TCA_BUF_MAX, TCA_HTB_INIT, &opt, NLMSG_ALIGN(sizeof(opt)));
tail->rta_len = (void *) NLMSG_TAIL(n) - (void *) tail;
return 0;
}
@@ -96,10 +96,10 @@ static int qdisc_htb_class(struct qdisc_opt *qopt, struct nlmsghdr *n)
opt.cbuffer = tc_calc_xmittime(opt.ceil.rate, conf_cburst ? conf_cburst : qopt->buffer);
tail = NLMSG_TAIL(n);
- addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
- addattr_l(n, 2024, TCA_HTB_PARMS, &opt, sizeof(opt));
- addattr_l(n, 3024, TCA_HTB_RTAB, rtab, 1024);
- addattr_l(n, 4024, TCA_HTB_CTAB, ctab, 1024);
+ addattr_l(n, TCA_BUF_MAX, TCA_OPTIONS, NULL, 0);
+ addattr_l(n, TCA_BUF_MAX, TCA_HTB_PARMS, &opt, sizeof(opt));
+ addattr_l(n, TCA_BUF_MAX, TCA_HTB_RTAB, rtab, 1024);
+ addattr_l(n, TCA_BUF_MAX, TCA_HTB_CTAB, ctab, 1024);
tail->rta_len = (void *) NLMSG_TAIL(n) - (void *) tail;
return 0;
}
@@ -372,7 +372,7 @@ static int install_htb_ifb(struct rtnl_handle *rth, int ifindex, __u32 priority,
tail1->rta_len = (void *)NLMSG_TAIL(&req.n) - (void *)tail1;
//
- addattr32(&req.n, 4096, TCA_U32_CLASSID, 1);
+ addattr32(&req.n, TCA_BUF_MAX, TCA_U32_CLASSID, 1);
addattr_l(&req.n, MAX_MSG, TCA_U32_SEL, &sel, sizeof(sel));
tail->rta_len = (void *)NLMSG_TAIL(&req.n) - (void *)tail;
@@ -534,9 +534,9 @@ int init_ifb(const char *name)
addattr_l(&req.n, sizeof(req), TCA_KIND, "flow", 5);
tail = NLMSG_TAIL(&req.n);
- addattr_l(&req.n, 4096, TCA_OPTIONS, NULL, 0);
- addattr32(&req.n, 4096, TCA_FLOW_KEYS, 1 << FLOW_KEY_PRIORITY);
- addattr32(&req.n, 4096, TCA_FLOW_MODE, FLOW_MODE_MAP);
+ addattr_l(&req.n, TCA_BUF_MAX, TCA_OPTIONS, NULL, 0);
+ addattr32(&req.n, TCA_BUF_MAX, TCA_FLOW_KEYS, 1 << FLOW_KEY_PRIORITY);
+ addattr32(&req.n, TCA_BUF_MAX, TCA_FLOW_MODE, FLOW_MODE_MAP);
tail->rta_len = (void *)NLMSG_TAIL(&req.n) - (void *)tail;
r = rtnl_talk(&rth, &req.n, 0, 0, NULL, NULL, NULL, 0);