mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-12 22:45:37 +00:00
Merge pull request #13113 from sri-mohan1/sri-mohan-ldp
ldpd: changes for code maintainability
This commit is contained in:
commit
9b00c0a165
@ -89,7 +89,7 @@ pw2zpw(struct l2vpn_pw *pw, struct zapi_pw *zpw)
|
|||||||
zpw->nexthop.ipv6 = pw->addr.v6;
|
zpw->nexthop.ipv6 = pw->addr.v6;
|
||||||
zpw->local_label = NO_LABEL;
|
zpw->local_label = NO_LABEL;
|
||||||
zpw->remote_label = NO_LABEL;
|
zpw->remote_label = NO_LABEL;
|
||||||
if (pw->flags & F_PW_CWORD)
|
if (CHECK_FLAG(pw->flags, F_PW_CWORD))
|
||||||
zpw->flags = F_PSEUDOWIRE_CWORD;
|
zpw->flags = F_PSEUDOWIRE_CWORD;
|
||||||
zpw->data.ldp.lsr_id = pw->lsr_id;
|
zpw->data.ldp.lsr_id = pw->lsr_id;
|
||||||
zpw->data.ldp.pwid = pw->pwid;
|
zpw->data.ldp.pwid = pw->pwid;
|
||||||
@ -162,10 +162,10 @@ ldp_zebra_opaque_msg_handler(ZAPI_CALLBACK_ARGS)
|
|||||||
struct zapi_rlfa_igp igp;
|
struct zapi_rlfa_igp igp;
|
||||||
struct zapi_rlfa_request rlfa;
|
struct zapi_rlfa_request rlfa;
|
||||||
|
|
||||||
s = zclient->ibuf;
|
s = zclient->ibuf;
|
||||||
|
|
||||||
if (zclient_opaque_decode(s, &info) != 0)
|
if(zclient_opaque_decode(s, &info) != 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
switch (info.type) {
|
switch (info.type) {
|
||||||
case LDP_IGP_SYNC_IF_STATE_REQUEST:
|
case LDP_IGP_SYNC_IF_STATE_REQUEST:
|
||||||
@ -239,7 +239,7 @@ ldp_zebra_send_mpls_labels(int cmd, struct kroute *kr)
|
|||||||
* dropping them).
|
* dropping them).
|
||||||
*/
|
*/
|
||||||
if (kr->remote_label == NO_LABEL
|
if (kr->remote_label == NO_LABEL
|
||||||
&& !(ldpd_conf->flags & F_LDPD_ALLOW_BROKEN_LSP)
|
&& !CHECK_FLAG(ldpd_conf->flags, F_LDPD_ALLOW_BROKEN_LSP)
|
||||||
&& cmd == ZEBRA_MPLS_LABELS_ADD)
|
&& cmd == ZEBRA_MPLS_LABELS_ADD)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -349,8 +349,7 @@ kif_redistribute(const char *ifname)
|
|||||||
|
|
||||||
for (ALL_LIST_ELEMENTS_RO(ifp->connected, cnode, ifc)) {
|
for (ALL_LIST_ELEMENTS_RO(ifp->connected, cnode, ifc)) {
|
||||||
ifc2kaddr(ifp, ifc, &ka);
|
ifc2kaddr(ifp, ifc, &ka);
|
||||||
main_imsg_compose_ldpe(IMSG_NEWADDR, 0, &ka,
|
main_imsg_compose_ldpe(IMSG_NEWADDR, 0, &ka, sizeof(ka));
|
||||||
sizeof(ka));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -418,14 +417,12 @@ ldp_interface_status_change(struct interface *ifp)
|
|||||||
if (if_is_operative(ifp)) {
|
if (if_is_operative(ifp)) {
|
||||||
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, ifc)) {
|
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, ifc)) {
|
||||||
ifc2kaddr(ifp, ifc, &ka);
|
ifc2kaddr(ifp, ifc, &ka);
|
||||||
main_imsg_compose_ldpe(IMSG_NEWADDR, 0, &ka,
|
main_imsg_compose_ldpe(IMSG_NEWADDR, 0, &ka, sizeof(ka));
|
||||||
sizeof(ka));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, ifc)) {
|
for (ALL_LIST_ELEMENTS_RO(ifp->connected, node, ifc)) {
|
||||||
ifc2kaddr(ifp, ifc, &ka);
|
ifc2kaddr(ifp, ifc, &ka);
|
||||||
main_imsg_compose_ldpe(IMSG_DELADDR, 0, &ka,
|
main_imsg_compose_ldpe(IMSG_DELADDR, 0, &ka, sizeof(ka));
|
||||||
sizeof(ka));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -530,7 +527,7 @@ ldp_zebra_read_route(ZAPI_CALLBACK_ARGS)
|
|||||||
|
|
||||||
switch (api.type) {
|
switch (api.type) {
|
||||||
case ZEBRA_ROUTE_CONNECT:
|
case ZEBRA_ROUTE_CONNECT:
|
||||||
kr.flags |= F_CONNECTED;
|
SET_FLAG(kr.flags, F_CONNECTED);
|
||||||
break;
|
break;
|
||||||
case ZEBRA_ROUTE_BGP:
|
case ZEBRA_ROUTE_BGP:
|
||||||
/* LDP should follow the IGP and ignore BGP routes */
|
/* LDP should follow the IGP and ignore BGP routes */
|
||||||
@ -580,7 +577,7 @@ ldp_zebra_read_route(ZAPI_CALLBACK_ARGS)
|
|||||||
kr.ifindex = api_nh->ifindex;
|
kr.ifindex = api_nh->ifindex;
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_IFINDEX:
|
case NEXTHOP_TYPE_IFINDEX:
|
||||||
if (!(kr.flags & F_CONNECTED))
|
if (!CHECK_FLAG(kr.flags, F_CONNECTED))
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
case NEXTHOP_TYPE_BLACKHOLE:
|
case NEXTHOP_TYPE_BLACKHOLE:
|
||||||
@ -593,8 +590,7 @@ ldp_zebra_read_route(ZAPI_CALLBACK_ARGS)
|
|||||||
zebra_route_string(api.type));
|
zebra_route_string(api.type));
|
||||||
|
|
||||||
if (add)
|
if (add)
|
||||||
main_imsg_compose_lde(IMSG_NETWORK_ADD, 0, &kr,
|
main_imsg_compose_lde(IMSG_NETWORK_ADD, 0, &kr, sizeof(kr));
|
||||||
sizeof(kr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main_imsg_compose_lde(IMSG_NETWORK_UPDATE, 0, &kr, sizeof(kr));
|
main_imsg_compose_lde(IMSG_NETWORK_UPDATE, 0, &kr, sizeof(kr));
|
||||||
@ -655,7 +651,7 @@ ldp_zebra_connected(struct zclient *zclient)
|
|||||||
|
|
||||||
/* if MPLS was already enabled and we are re-connecting, register again
|
/* if MPLS was already enabled and we are re-connecting, register again
|
||||||
*/
|
*/
|
||||||
if (vty_conf->flags & F_LDPD_ENABLED)
|
if (CHECK_FLAG(vty_conf->flags, F_LDPD_ENABLED))
|
||||||
ldp_zebra_regdereg_zebra_info(true);
|
ldp_zebra_regdereg_zebra_info(true);
|
||||||
|
|
||||||
ldp_zebra_opaque_register();
|
ldp_zebra_opaque_register();
|
||||||
@ -670,11 +666,9 @@ ldp_zebra_filter_update(struct access_list *access)
|
|||||||
|
|
||||||
if (access && access->name[0] != '\0') {
|
if (access && access->name[0] != '\0') {
|
||||||
strlcpy(laccess.name, access->name, sizeof(laccess.name));
|
strlcpy(laccess.name, access->name, sizeof(laccess.name));
|
||||||
debug_evt("%s ACL update filter name %s", __func__,
|
debug_evt("%s ACL update filter name %s", __func__, access->name);
|
||||||
access->name);
|
|
||||||
|
|
||||||
main_imsg_compose_both(IMSG_FILTER_UPDATE, &laccess,
|
main_imsg_compose_both(IMSG_FILTER_UPDATE, &laccess, sizeof(laccess));
|
||||||
sizeof(laccess));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -692,8 +686,7 @@ static zclient_handler *const ldp_handlers[] = {
|
|||||||
|
|
||||||
void ldp_zebra_init(struct event_loop *master)
|
void ldp_zebra_init(struct event_loop *master)
|
||||||
{
|
{
|
||||||
if_zapi_callbacks(ldp_ifp_create, ldp_ifp_up,
|
if_zapi_callbacks(ldp_ifp_create, ldp_ifp_up, ldp_ifp_down, ldp_ifp_destroy);
|
||||||
ldp_ifp_down, ldp_ifp_destroy);
|
|
||||||
|
|
||||||
/* Set default values. */
|
/* Set default values. */
|
||||||
zclient = zclient_new(master, &zclient_options_default, ldp_handlers,
|
zclient = zclient_new(master, &zclient_options_default, ldp_handlers,
|
||||||
|
Loading…
Reference in New Issue
Block a user