diff options
Diffstat (limited to 'zebra/zebra_fpm_netlink.c')
| -rw-r--r-- | zebra/zebra_fpm_netlink.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/zebra/zebra_fpm_netlink.c b/zebra/zebra_fpm_netlink.c index efbd078a52..68fb044353 100644 --- a/zebra/zebra_fpm_netlink.c +++ b/zebra/zebra_fpm_netlink.c @@ -189,7 +189,12 @@ static int netlink_route_info_add_nh(struct netlink_route_info *ri,  	if (nexthop->type == NEXTHOP_TYPE_IPV6  	    || nexthop->type == NEXTHOP_TYPE_IPV6_IFINDEX) { -		nhi.gateway = &nexthop->gate; +		/* Special handling for IPv4 route with IPv6 Link Local next hop +		 */ +		if (ri->af == AF_INET) +			nhi.gateway = &ipv4ll_gateway; +		else +			nhi.gateway = &nexthop->gate;  	}  	if (nexthop->type == NEXTHOP_TYPE_IFINDEX) {  | 
