From: Vasilis Tsiligiannis Date: Mon, 16 Apr 2012 19:15:24 +0000 (+0000) Subject: [packages] olsrd: Fix quagga plugin metric parsing X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=4e8df5fe7eaf0caf8459d0226ba7e3eb50a9fe63;p=openwrt%2Fsvn-archive%2Farchive.git [packages] olsrd: Fix quagga plugin metric parsing SVN-Revision: 31319 --- diff --git a/net/olsrd/patches/110-fix_metric_parsing.patch b/net/olsrd/patches/110-fix_metric_parsing.patch new file mode 100644 index 0000000000..2b0d531fd5 --- /dev/null +++ b/net/olsrd/patches/110-fix_metric_parsing.patch @@ -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);