diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2021-11-11 20:41:23 +0100 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2022-05-06 16:01:59 +0200 |
| commit | 5e5034b0a230a2622acbedc968cdcaf305e0ba21 (patch) | |
| tree | ffa5626d34e59f385e46093e0c8c4da18b2b95da /pimd/pim_iface.h | |
| parent | 23a8660ea488940729032d3d24652046f3a5c34d (diff) | |
pim6d: add fresh MLD implementation
Fresh ground-up MLD implementation with subscriber-tracking for MLDv2.
Intended to be adapted for IPv4 and replace the IGMP implementation at a
later point.
Tested in ANVL, currently at 94/116. Some issues/TODOs are left in the
code as CPP_NOTICE markers, but the code is very much good enough to
proceed since otherwise we're blocked on overall PIM v6 progress.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_iface.h')
| -rw-r--r-- | pimd/pim_iface.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pimd/pim_iface.h b/pimd/pim_iface.h index 3535db70a8..6781cbf3a0 100644 --- a/pimd/pim_iface.h +++ b/pimd/pim_iface.h @@ -69,6 +69,8 @@ struct pim_secondary_addr { enum pim_secondary_addr_flags flags; }; +struct gm_if; + struct pim_interface { bool pim_enable : 1; bool pim_can_disable_join_suppression : 1; @@ -90,6 +92,7 @@ struct pim_interface { * address of the interface */ int igmp_version; /* IGMP version */ + int mld_version; int gm_default_robustness_variable; /* IGMP or MLD QRV */ int gm_default_query_interval; /* IGMP or MLD secs between general queries */ @@ -111,6 +114,8 @@ struct pim_interface { struct list *gm_group_list; /* list of struct IGMP or MLD group */ struct hash *gm_group_hash; + struct gm_if *mld; + int pim_sock_fd; /* PIM socket file descriptor */ struct thread *t_pim_sock_read; /* thread for reading PIM socket */ int64_t pim_sock_creation; /* timestamp of PIM socket creation */ |
