mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-15 13:30:21 +00:00
pimd: Convert pim_ifchannel_join_add to struct prefix *sg
Convert the pim_ifchannel_join_add to use a struct prefix *sg instead of struct in_addr's. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
5074a4230a
commit
ee1a477a04
@ -124,13 +124,9 @@ void pim_ifchannel_ifjoin_switch(const char *caller,
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
if (PIM_DEBUG_PIM_EVENTS) {
|
if (PIM_DEBUG_PIM_EVENTS) {
|
||||||
char src_str[100];
|
zlog_debug("PIM_IFCHANNEL_%s: (S,G)=%s on interface %s",
|
||||||
char grp_str[100];
|
|
||||||
pim_inet4_dump("<src?>", ch->sg.u.sg.src, src_str, sizeof(src_str));
|
|
||||||
pim_inet4_dump("<grp?>", ch->sg.u.sg.grp, grp_str, sizeof(grp_str));
|
|
||||||
zlog_debug("PIM_IFCHANNEL_%s: (S,G)=(%s,%s) on interface %s",
|
|
||||||
((new_state == PIM_IFJOIN_NOINFO) ? "DOWN" : "UP"),
|
((new_state == PIM_IFJOIN_NOINFO) ? "DOWN" : "UP"),
|
||||||
src_str, grp_str, ch->interface->name);
|
pim_str_sg_dump (&ch->sg), ch->interface->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -221,13 +217,9 @@ static void ifmembership_set(struct pim_ifchannel *ch,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (PIM_DEBUG_PIM_EVENTS) {
|
if (PIM_DEBUG_PIM_EVENTS) {
|
||||||
char src_str[100];
|
zlog_debug("%s: (S,G)=%s membership now is %s on interface %s",
|
||||||
char grp_str[100];
|
|
||||||
pim_inet4_dump("<src?>", ch->sg.u.sg.src, src_str, sizeof(src_str));
|
|
||||||
pim_inet4_dump("<grp?>", ch->sg.u.sg.grp, grp_str, sizeof(grp_str));
|
|
||||||
zlog_debug("%s: (S,G)=(%s,%s) membership now is %s on interface %s",
|
|
||||||
__PRETTY_FUNCTION__,
|
__PRETTY_FUNCTION__,
|
||||||
src_str, grp_str,
|
pim_str_sg_dump (&ch->sg),
|
||||||
membership == PIM_IFMEMBERSHIP_INCLUDE ? "INCLUDE" : "NOINFO",
|
membership == PIM_IFMEMBERSHIP_INCLUDE ? "INCLUDE" : "NOINFO",
|
||||||
ch->interface->name);
|
ch->interface->name);
|
||||||
}
|
}
|
||||||
@ -523,24 +515,19 @@ static int nonlocal_upstream(int is_join,
|
|||||||
void pim_ifchannel_join_add(struct interface *ifp,
|
void pim_ifchannel_join_add(struct interface *ifp,
|
||||||
struct in_addr neigh_addr,
|
struct in_addr neigh_addr,
|
||||||
struct in_addr upstream,
|
struct in_addr upstream,
|
||||||
struct in_addr source_addr,
|
struct prefix *sg,
|
||||||
struct in_addr group_addr,
|
|
||||||
uint8_t source_flags,
|
uint8_t source_flags,
|
||||||
uint16_t holdtime)
|
uint16_t holdtime)
|
||||||
{
|
{
|
||||||
struct pim_interface *pim_ifp;
|
struct pim_interface *pim_ifp;
|
||||||
struct pim_ifchannel *ch;
|
struct pim_ifchannel *ch;
|
||||||
struct prefix sg;
|
|
||||||
|
|
||||||
memset (&sg, 0, sizeof (struct prefix));
|
|
||||||
sg.u.sg.src = source_addr;
|
|
||||||
sg.u.sg.grp = group_addr;
|
|
||||||
if (nonlocal_upstream(1 /* join */, ifp, upstream,
|
if (nonlocal_upstream(1 /* join */, ifp, upstream,
|
||||||
source_addr, group_addr, source_flags, holdtime)) {
|
sg->u.sg.src, sg->u.sg.grp, source_flags, holdtime)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ch = pim_ifchannel_add(ifp, &sg);
|
ch = pim_ifchannel_add(ifp, sg);
|
||||||
if (!ch)
|
if (!ch)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -565,7 +552,7 @@ void pim_ifchannel_join_add(struct interface *ifp,
|
|||||||
pim_inet4_dump("<neigh?>", neigh_addr, neigh_str, sizeof(neigh_str));
|
pim_inet4_dump("<neigh?>", neigh_addr, neigh_str, sizeof(neigh_str));
|
||||||
zlog_warn("%s: Assert Loser recv Join%s from %s on %s",
|
zlog_warn("%s: Assert Loser recv Join%s from %s on %s",
|
||||||
__PRETTY_FUNCTION__,
|
__PRETTY_FUNCTION__,
|
||||||
pim_str_sg_dump (&sg), neigh_str, ifp->name);
|
pim_str_sg_dump (sg), neigh_str, ifp->name);
|
||||||
|
|
||||||
assert_action_a5(ch);
|
assert_action_a5(ch);
|
||||||
}
|
}
|
||||||
|
@ -110,8 +110,7 @@ struct pim_ifchannel *pim_ifchannel_add(struct interface *ifp,
|
|||||||
void pim_ifchannel_join_add(struct interface *ifp,
|
void pim_ifchannel_join_add(struct interface *ifp,
|
||||||
struct in_addr neigh_addr,
|
struct in_addr neigh_addr,
|
||||||
struct in_addr upstream,
|
struct in_addr upstream,
|
||||||
struct in_addr source_addr,
|
struct prefix *sg,
|
||||||
struct in_addr group_addr,
|
|
||||||
uint8_t source_flags,
|
uint8_t source_flags,
|
||||||
uint16_t holdtime);
|
uint16_t holdtime);
|
||||||
void pim_ifchannel_prune(struct interface *ifp,
|
void pim_ifchannel_prune(struct interface *ifp,
|
||||||
|
@ -55,18 +55,20 @@ static void recv_join(struct interface *ifp,
|
|||||||
struct in_addr source,
|
struct in_addr source,
|
||||||
uint8_t source_flags)
|
uint8_t source_flags)
|
||||||
{
|
{
|
||||||
|
struct prefix sg;
|
||||||
|
|
||||||
|
memset (&sg, 0, sizeof (struct prefix));
|
||||||
|
sg.u.sg.src = source;
|
||||||
|
sg.u.sg.grp = group;
|
||||||
|
|
||||||
if (PIM_DEBUG_PIM_TRACE) {
|
if (PIM_DEBUG_PIM_TRACE) {
|
||||||
char up_str[100];
|
char up_str[100];
|
||||||
char src_str[100];
|
|
||||||
char grp_str[100];
|
|
||||||
char neigh_str[100];
|
char neigh_str[100];
|
||||||
pim_inet4_dump("<upstream?>", upstream, up_str, sizeof(up_str));
|
pim_inet4_dump("<upstream?>", upstream, up_str, sizeof(up_str));
|
||||||
pim_inet4_dump("<src?>", source, src_str, sizeof(src_str));
|
|
||||||
pim_inet4_dump("<grp?>", group, grp_str, sizeof(grp_str));
|
|
||||||
pim_inet4_dump("<neigh?>", neigh->source_addr, neigh_str, sizeof(neigh_str));
|
pim_inet4_dump("<neigh?>", neigh->source_addr, neigh_str, sizeof(neigh_str));
|
||||||
zlog_warn("%s: join (S,G)=(%s,%s) rpt=%d wc=%d upstream=%s holdtime=%d from %s on %s",
|
zlog_warn("%s: join (S,G)=%s rpt=%d wc=%d upstream=%s holdtime=%d from %s on %s",
|
||||||
__PRETTY_FUNCTION__,
|
__PRETTY_FUNCTION__,
|
||||||
src_str, grp_str,
|
pim_str_sg_dump (&sg),
|
||||||
source_flags & PIM_RPT_BIT_MASK,
|
source_flags & PIM_RPT_BIT_MASK,
|
||||||
source_flags & PIM_WILDCARD_BIT_MASK,
|
source_flags & PIM_WILDCARD_BIT_MASK,
|
||||||
up_str, holdtime, neigh_str, ifp->name);
|
up_str, holdtime, neigh_str, ifp->name);
|
||||||
@ -74,7 +76,7 @@ static void recv_join(struct interface *ifp,
|
|||||||
|
|
||||||
/* Restart join expiry timer */
|
/* Restart join expiry timer */
|
||||||
pim_ifchannel_join_add(ifp, neigh->source_addr, upstream,
|
pim_ifchannel_join_add(ifp, neigh->source_addr, upstream,
|
||||||
source, group, source_flags, holdtime);
|
&sg, source_flags, holdtime);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void recv_prune(struct interface *ifp,
|
static void recv_prune(struct interface *ifp,
|
||||||
|
Loading…
Reference in New Issue
Block a user