diff options
author | Mladen Sablic <mladen.sablic@gmail.com> | 2018-02-12 23:41:33 +0100 |
---|---|---|
committer | Mladen Sablic <mladen.sablic@gmail.com> | 2018-02-19 23:13:55 +0100 |
commit | 4d9ad5dcd0244b4035d8f88f7a3478a450c74283 (patch) | |
tree | 961109b12d71391f4ea372ecb6083070127a518c /pimd/pim_igmp.c | |
parent | Merge pull request #1765 from donaldsharp/sa_stuff (diff) | |
download | frr-4d9ad5dcd0244b4035d8f88f7a3478a450c74283.tar.xz frr-4d9ad5dcd0244b4035d8f88f7a3478a450c74283.zip |
pimd: Multicast traceroute client and router
This commit is the implementation of weak multicast traceroute.
It consists of IGMP module dealing with mtrace type IGMP messages
and client program mtrace/mtracebis for initiating mtrace queries.
Signed-off-by: Mladen Sablic <mladen.sablic@gmail.com>
Diffstat (limited to 'pimd/pim_igmp.c')
-rw-r--r-- | pimd/pim_igmp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c index 7524119e5..052242036 100644 --- a/pimd/pim_igmp.c +++ b/pimd/pim_igmp.c @@ -29,6 +29,7 @@ #include "pim_igmp.h" #include "pim_igmpv2.h" #include "pim_igmpv3.h" +#include "pim_igmp_mtrace.h" #include "pim_iface.h" #include "pim_sock.h" #include "pim_mroute.h" @@ -504,6 +505,16 @@ int pim_igmp_packet(struct igmp_sock *igmp, char *buf, size_t len) case PIM_IGMP_V2_LEAVE_GROUP: return igmp_v2_recv_leave(igmp, ip_hdr->ip_src, from_str, igmp_msg, igmp_msg_len); + + case PIM_IGMP_MTRACE_RESPONSE: + return igmp_mtrace_recv_response(igmp, ip_hdr, ip_hdr->ip_src, + from_str, igmp_msg, + igmp_msg_len); + break; + case PIM_IGMP_MTRACE_QUERY_REQUEST: + return igmp_mtrace_recv_qry_req(igmp, ip_hdr, ip_hdr->ip_src, + from_str, igmp_msg, + igmp_msg_len); } zlog_warn("Ignoring unsupported IGMP message type: %d", msg_type); |