mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-30 22:25:41 +00:00
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
This commit is contained in:
commit
db07cdc498
@ -1500,6 +1500,13 @@ _netlink_route_build_singlepath(
|
|||||||
addattr_l (nlmsg, req_size, RTA_GATEWAY, &ipv4_ll, 4);
|
addattr_l (nlmsg, req_size, RTA_GATEWAY, &ipv4_ll, 4);
|
||||||
addattr32 (nlmsg, req_size, RTA_OIF, nexthop->ifindex);
|
addattr32 (nlmsg, req_size, RTA_OIF, nexthop->ifindex);
|
||||||
|
|
||||||
|
if (nexthop->rmap_src.ipv4.s_addr && (cmd == RTM_NEWROUTE))
|
||||||
|
addattr_l (nlmsg, req_size, RTA_PREFSRC,
|
||||||
|
&nexthop->rmap_src.ipv4, bytelen);
|
||||||
|
else if (nexthop->src.ipv4.s_addr && (cmd == RTM_NEWROUTE))
|
||||||
|
addattr_l (nlmsg, req_size, RTA_PREFSRC,
|
||||||
|
&nexthop->src.ipv4, bytelen);
|
||||||
|
|
||||||
if (IS_ZEBRA_DEBUG_KERNEL)
|
if (IS_ZEBRA_DEBUG_KERNEL)
|
||||||
zlog_debug(" 5549: _netlink_route_build_singlepath() (%s): "
|
zlog_debug(" 5549: _netlink_route_build_singlepath() (%s): "
|
||||||
"nexthop via %s if %u",
|
"nexthop via %s if %u",
|
||||||
@ -1648,6 +1655,11 @@ _netlink_route_build_multipath(
|
|||||||
rtnh->rtnh_len += sizeof (struct rtattr) + bytelen;
|
rtnh->rtnh_len += sizeof (struct rtattr) + bytelen;
|
||||||
rtnh->rtnh_ifindex = nexthop->ifindex;
|
rtnh->rtnh_ifindex = nexthop->ifindex;
|
||||||
|
|
||||||
|
if (nexthop->rmap_src.ipv4.s_addr)
|
||||||
|
*src = &nexthop->rmap_src;
|
||||||
|
else if (nexthop->src.ipv4.s_addr)
|
||||||
|
*src = &nexthop->src;
|
||||||
|
|
||||||
if (IS_ZEBRA_DEBUG_KERNEL)
|
if (IS_ZEBRA_DEBUG_KERNEL)
|
||||||
zlog_debug(" 5549: netlink_route_build_multipath() (%s): "
|
zlog_debug(" 5549: netlink_route_build_multipath() (%s): "
|
||||||
"nexthop via %s if %u",
|
"nexthop via %s if %u",
|
||||||
|
@ -1268,7 +1268,9 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
|
|||||||
UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
|
UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
case NEXTHOP_TYPE_IPV6_IFINDEX:
|
||||||
family = AFI_IP6;
|
/* RFC 5549, v4 prefix with v6 NH */
|
||||||
|
if (rn->p.family != AF_INET)
|
||||||
|
family = AFI_IP6;
|
||||||
if (IN6_IS_ADDR_LINKLOCAL (&nexthop->gate.ipv6))
|
if (IN6_IS_ADDR_LINKLOCAL (&nexthop->gate.ipv6))
|
||||||
{
|
{
|
||||||
ifp = if_lookup_by_index (nexthop->ifindex);
|
ifp = if_lookup_by_index (nexthop->ifindex);
|
||||||
|
Loading…
Reference in New Issue
Block a user