[packages] olsrd: Fix quagga plugin metric parsing
git-svn-id: svn://svn.openwrt.org/openwrt/packages@31319 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
947ea00753
commit
cbdcdcb456
18
net/olsrd/patches/110-fix_metric_parsing.patch
Normal file
18
net/olsrd/patches/110-fix_metric_parsing.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff --git a/lib/quagga/src/parse.c b/lib/quagga/src/parse.c
|
||||
index 5220849..8672fab 100644
|
||||
--- a/lib/quagga/src/parse.c
|
||||
+++ b/lib/quagga/src/parse.c
|
||||
@@ -103,11 +103,11 @@ static struct zroute
|
||||
|
||||
// Quagga v0.98.6 BUG workaround: metric is always sent by zebra
|
||||
// even without ZAPI_MESSAGE_METRIC message.
|
||||
-// if (r.message & ZAPI_MESSAGE_METRIC) {
|
||||
+ if ((r->message & ZAPI_MESSAGE_METRIC) || !zebra.version) {
|
||||
memcpy(&r->metric, pnt, sizeof r->metric);
|
||||
r->metric = ntohl(r->metric);
|
||||
pnt += sizeof r->metric;
|
||||
-// }
|
||||
+ }
|
||||
|
||||
if (pnt - opt != length) {
|
||||
olsr_exit("(QUAGGA) Length does not match!", EXIT_FAILURE);
|
Loading…
x
Reference in New Issue
Block a user