X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=zebra%2Fzebra_fpm_netlink.c;h=d60da336fd5b5588a926d3f6d17466a6e17fe997;hb=15569c58f8001d37bccaed7f99b6987315125036;hp=822def318a98208093f2600fb966aceedfc8aec5;hpb=db9f2ddde2f2e0f131c2f7299642c777c5aeb043;p=mirror_frr.git diff --git a/zebra/zebra_fpm_netlink.c b/zebra/zebra_fpm_netlink.c index 822def318..d60da336f 100644 --- a/zebra/zebra_fpm_netlink.c +++ b/zebra/zebra_fpm_netlink.c @@ -57,13 +57,10 @@ static inline const char *addr_to_a(uint8_t af, void *addr) case AF_INET: return inet_ntoa(*((struct in_addr *)addr)); - break; case AF_INET6: return inet6_ntoa(*((struct in6_addr *)addr)); - break; default: return ""; - break; } } @@ -92,10 +89,8 @@ static size_t af_addr_size(uint8_t af) case AF_INET: return 4; - break; case AF_INET6: return 16; - break; default: assert(0); return 16; @@ -218,7 +213,7 @@ static int netlink_route_info_add_nh(netlink_route_info_t *ri, if (nexthop->type == NEXTHOP_TYPE_IPV4 || nexthop->type == NEXTHOP_TYPE_IPV4_IFINDEX) { nhi.gateway = &nexthop->gate; - if (nexthop->src.ipv4.s_addr) + if (nexthop->src.ipv4.s_addr != INADDR_ANY) src = &nexthop->src; } @@ -228,7 +223,7 @@ static int netlink_route_info_add_nh(netlink_route_info_t *ri, } if (nexthop->type == NEXTHOP_TYPE_IFINDEX) { - if (nexthop->src.ipv4.s_addr) + if (nexthop->src.ipv4.s_addr != INADDR_ANY) src = &nexthop->src; } @@ -238,7 +233,7 @@ static int netlink_route_info_add_nh(netlink_route_info_t *ri, if (re && CHECK_FLAG(re->flags, ZEBRA_FLAG_EVPN_ROUTE)) { nhi.encap_info.encap_type = FPM_NH_ENCAP_VXLAN; - zl3vni = zl3vni_from_vrf(ri->rtm_table); + zl3vni = zl3vni_from_vrf(nexthop->vrf_id); if (zl3vni && is_l3vni_oper_up(zl3vni)) { /* Add VNI to VxLAN encap info */ @@ -314,7 +309,7 @@ static int netlink_route_info_fill(netlink_route_info_t *ri, int cmd, ri->rtm_type = RTN_UNICAST; ri->metric = &re->metric; - for (ALL_NEXTHOPS(re->ng, nexthop)) { + for (ALL_NEXTHOPS(re->nhe->nhg, nexthop)) { if (ri->num_nhs >= zrouter.multipath_num) break; @@ -575,7 +570,7 @@ int zfpm_netlink_encode_route(int cmd, rib_dest_t *dest, struct route_entry *re, if (!netlink_route_info_fill(ri, cmd, dest, re)) return 0; - zfpm_log_route_info(ri, __FUNCTION__); + zfpm_log_route_info(ri, __func__); return netlink_route_info_encode(ri, in_buf, in_buf_len); }