| From 687f41680d51585e9a5a135e39efee330588bea7 Mon Sep 17 00:00:00 2001 |
| From: Matt Weber <matthew.weber@rockwellcollins.com> |
| Date: Fri, 11 Sep 2015 12:49:30 -0500 |
| Subject: [PATCH 1/1] DVMRP report missing subnet |
| |
| Accepted upstream and will be included in 3.9.8. |
| https://github.com/troglobit/mrouted/commit/512af5ffe0f48ffa2ba3b45898c66c2a561a5c2d |
| |
| A subnet is missing in the DVMRP report sent to it's neighbor after |
| the initial probe occurs. The issue was with the traversal of a double |
| linked list from end to start. Once the traversing pointer reaches |
| the start of routing table for loop (condition) it would break and |
| always drop the first subnet. |
| |
| Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> |
| --- |
| route.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/route.c b/route.c |
| index f74e601..9fe779d 100644 |
| --- a/route.c |
| +++ b/route.c |
| @@ -1193,7 +1193,7 @@ static int report_chunk(int which_routes, struct rtentry *start_rt, vifi_t vifi, |
| |
| p = send_buf + MIN_IP_HEADER_LEN + IGMP_MINLEN; |
| |
| - for (r = start_rt; r != routing_table; r = r->rt_prev) { |
| + for (r = start_rt; r != NULL; r = r->rt_prev) { |
| if (which_routes == CHANGED_ROUTES && !(r->rt_flags & RTF_CHANGED)) { |
| nrt++; |
| continue; |
| -- |
| 1.9.1 |
| |