mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-28 15:33:34 +00:00
pimd: Create storage for a raw socket.
Each interface needs the ability to send raw packets at the RP. Create the data structure to do so. Further commits will create the socket as necessary and send the packet. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
978d48a9fe
commit
c8fa5a1e4f
@ -87,6 +87,7 @@ struct pim_interface *pim_if_new(struct interface *ifp, int igmp, int pim)
|
||||
|
||||
pim_ifp->options = 0;
|
||||
pim_ifp->mroute_vif_index = -1;
|
||||
pim_ifp->pim_raw_fd = -1;
|
||||
|
||||
pim_ifp->igmp_default_robustness_variable = IGMP_DEFAULT_ROBUSTNESS_VARIABLE;
|
||||
pim_ifp->igmp_default_query_interval = IGMP_GENERAL_QUERY_INTERVAL;
|
||||
@ -162,6 +163,12 @@ void pim_if_delete(struct interface *ifp)
|
||||
pim_ifp = ifp->info;
|
||||
zassert(pim_ifp);
|
||||
|
||||
if (pim_ifp->pim_raw_fd == -1)
|
||||
{
|
||||
close (pim_ifp->pim_raw_fd);
|
||||
pim_ifp->pim_raw_fd = -1;
|
||||
}
|
||||
|
||||
if (pim_ifp->igmp_join_list) {
|
||||
pim_if_igmp_join_del_all(ifp);
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ struct pim_interface {
|
||||
struct list *igmp_join_list; /* list of struct igmp_join */
|
||||
|
||||
int pim_sock_fd; /* PIM socket file descriptor */
|
||||
int pim_raw_fd; /* RP forwarding */
|
||||
struct thread *t_pim_sock_read; /* thread for reading PIM socket */
|
||||
int64_t pim_sock_creation; /* timestamp of PIM socket creation */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user