Subject: [PATCH] ipv6: route templates missing protocol value

From: Stephen Hemminger <[email-masked]>
Date: Wed, 20 May 2009 12:30:38 -0700

The IPV6 routing templates are missing the protocol value so
when they are used, the routes have the protocol RTPROT_UNSPEC (0).
This confuses Zebra routing protocol daemon that makes kernel routes
a special case. This was first noticed by Jean-Mickael Guerin
who wrote this patch.

Signed-off-by: Stephen Hemminger <[email-masked]>

---
 net/ipv6/route.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

--- a/net/ipv6/route.c	2009-05-15 13:32:34.138684428 -0700
+++ b/net/ipv6/route.c	2009-05-20 12:26:19.435815459 -0700
@@ -137,6 +137,7 @@ static struct rt6_info ip6_null_entry_te
 		}
 	},
 	.rt6i_flags	= (RTF_REJECT | RTF_NONEXTHOP),
+	.rt6i_protocol	= RTPROT_KERNEL,
 	.rt6i_metric	= ~(u32) 0,
 	.rt6i_ref	= ATOMIC_INIT(1),
 };
@@ -159,6 +160,7 @@ static struct rt6_info ip6_prohibit_entr
 		}
 	},
 	.rt6i_flags	= (RTF_REJECT | RTF_NONEXTHOP),
+	.rt6i_protocol	= RTPROT_KERNEL,
 	.rt6i_metric	= ~(u32) 0,
 	.rt6i_ref	= ATOMIC_INIT(1),
 };
@@ -176,6 +178,7 @@ static struct rt6_info ip6_blk_hole_entr
 		}
 	},
 	.rt6i_flags	= (RTF_REJECT | RTF_NONEXTHOP),
+	.rt6i_protocol	= RTPROT_KERNEL,
 	.rt6i_metric	= ~(u32) 0,
 	.rt6i_ref	= ATOMIC_INIT(1),
 };