]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_join.c
pbrd: initial fwmark support for pbr matches #4460
[mirror_frr.git] / pimd / pim_join.c
index ae5032be73f7d41088a7e19f54babc2f8351d8ef..5e1a4f0c5e6a13a5850b6a3d1268402faca40781 100644 (file)
@@ -439,9 +439,6 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
        size_t packet_size = 0;
        size_t group_size = 0;
 
-       on_trace(__PRETTY_FUNCTION__, rpf->source_nexthop.interface,
-                rpf->rpf_addr.u.prefix4);
-
        if (rpf->source_nexthop.interface)
                pim_ifp = rpf->source_nexthop.interface->info;
        else {
@@ -450,6 +447,9 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                return -1;
        }
 
+       on_trace(__PRETTY_FUNCTION__, rpf->source_nexthop.interface,
+               rpf->rpf_addr.u.prefix4);
+
        if (!pim_ifp) {
                zlog_warn("%s: multicast not enabled on interface %s",
                          __PRETTY_FUNCTION__,
@@ -519,7 +519,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                group_size = pim_msg_get_jp_group_size(group->sources);
                if (group_size > packet_left) {
                        pim_msg_build_header(pim_msg, packet_size,
-                                            PIM_MSG_TYPE_JOIN_PRUNE);
+                                            PIM_MSG_TYPE_JOIN_PRUNE, false);
                        if (pim_msg_send(pim_ifp->pim_sock_fd,
                                         pim_ifp->primary_address,
                                         qpim_all_pim_routers_addr, pim_msg,
@@ -576,7 +576,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
                if (packet_left < sizeof(struct pim_jp_groups)
                    || msg->num_groups == 255) {
                        pim_msg_build_header(pim_msg, packet_size,
-                                            PIM_MSG_TYPE_JOIN_PRUNE);
+                                            PIM_MSG_TYPE_JOIN_PRUNE, false);
                        if (pim_msg_send(pim_ifp->pim_sock_fd,
                                         pim_ifp->primary_address,
                                         qpim_all_pim_routers_addr, pim_msg,
@@ -596,7 +596,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
        if (!new_packet) {
                // msg->num_groups = htons (msg->num_groups);
                pim_msg_build_header(pim_msg, packet_size,
-                                    PIM_MSG_TYPE_JOIN_PRUNE);
+                                    PIM_MSG_TYPE_JOIN_PRUNE, false);
                if (pim_msg_send(pim_ifp->pim_sock_fd, pim_ifp->primary_address,
                                 qpim_all_pim_routers_addr, pim_msg,
                                 packet_size,