Lines Matching full:multicast
7 #include "multicast.h"
67 * batadv_mcast_start_timer() - schedule the multicast periodic worker
107 * Checks the presence of an IPv4 multicast router on this node.
128 * Checks the presence of an IPv6 multicast router on this node.
158 * Checks the presence of IPv4 and IPv6 multicast routers on this
162 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
163 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
164 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
165 * The former two OR'd: no multicast router is present
189 * Checks the presence of IPv4 and IPv6 multicast routers behind a bridge.
192 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
193 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
194 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
195 * The former two OR'd: no multicast router is present
210 /* TODO: ask the bridge if a multicast router is present (the bridge in batadv_mcast_mla_rtr_flags_bridge_get()
211 * is capable of performing proper RFC4286 multicast router in batadv_mcast_mla_rtr_flags_bridge_get()
220 * addresses - therefore we won't find any IPv4 multicast router in batadv_mcast_mla_rtr_flags_bridge_get()
246 * batadv_mcast_mla_rtr_flags_get() - get multicast router flags
251 * Checks the presence of IPv4 and IPv6 multicast routers on this
255 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
256 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
257 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
258 * The former two OR'd: no multicast router is present
272 * batadv_mcast_mla_flags_get() - get the new multicast flags
303 pr_warn_once("No bridge IGMP snooping compiled - multicast optimizations disabled\n"); in batadv_mcast_mla_flags_get()
313 /* 1) If no querier exists at all, then multicast listeners on in batadv_mcast_mla_flags_get()
316 * behind the bridge, then this querier might shadow multicast in batadv_mcast_mla_flags_get()
320 * we need all multicast traffic of the according protocol. in batadv_mcast_mla_flags_get()
337 * @mcast_addr: the multicast address to check
338 * @mcast_list: the list with multicast addresses to search in
356 * batadv_mcast_mla_softif_get_ipv4() - get softif IPv4 multicast listeners
357 * @dev: the device to collect multicast addresses from
359 * @flags: flags indicating the new multicast state
361 * Collects multicast addresses of IPv4 multicast listeners residing
363 * the given mcast_list. In general, multicast listeners provided by
364 * your multicast receiving applications run directly on this node.
422 * batadv_mcast_mla_softif_get_ipv6() - get softif IPv6 multicast listeners
423 * @dev: the device to collect multicast addresses from
425 * @flags: flags indicating the new multicast state
427 * Collects multicast addresses of IPv6 multicast listeners residing
429 * the given mcast_list. In general, multicast listeners provided by
430 * your multicast receiving applications run directly on this node.
504 * batadv_mcast_mla_softif_get() - get softif multicast listeners
505 * @dev: the device to collect multicast addresses from
507 * @flags: flags indicating the new multicast state
509 * Collects multicast addresses of multicast listeners residing
511 * the given mcast_list. In general, multicast listeners provided by
512 * your multicast receiving applications run directly on this node.
515 * instead. Just like with IP addresses and routes, multicast listeners
551 * batadv_mcast_mla_br_addr_cpy() - copy a bridge multicast address
552 * @dst: destination to write to - a multicast MAC address
553 * @src: source to read from - a multicast IP address
555 * Converts a given multicast IPv4/IPv6 address from a bridge
556 * to its matching multicast MAC address and copies it into the given
575 * batadv_mcast_mla_bridge_get() - get bridged-in multicast listeners
576 * @dev: a bridge slave whose bridge to collect multicast addresses from
578 * @flags: flags indicating the new multicast state
580 * Collects multicast addresses of multicast listeners residing
660 * batadv_mcast_mla_list_free() - free a list of multicast addresses
677 * batadv_mcast_mla_tt_retract() - clean up multicast listener announcements
681 * Retracts the announcement of any multicast listener from the
709 * batadv_mcast_mla_tt_add() - add multicast listener announcements
713 * Adds multicast listener announcements from the given mcast_list to the
750 * to our multicast optimizations.
772 "%s Querier disappeared - multicast optimizations disabled\n", in batadv_mcast_querier_log()
776 "No %s Querier present - multicast optimizations disabled\n", in batadv_mcast_querier_log()
796 * @new_flags: flags indicating the new multicast state
801 * which might be relevant to our multicast optimizations.
806 * multicast flags this node is going to set.
834 * @flags: TVLV flags indicating the new multicast state
836 * Whenever the multicast TVLV flags this node announces change, this function
853 "Changing multicast flags from '%s' to '[%c%c%c%s%s]'\n", in batadv_mcast_flags_log()
863 * batadv_mcast_mla_flags_update() - update multicast flags
865 * @flags: flags indicating the new multicast state
867 * Updates the own multicast tvlv with our current multicast related settings,
895 * Updates the own multicast listener announcements in the translation
896 * table as well as the own, announced multicast tvlv container.
934 * Updates the own multicast listener announcements in the translation
935 * table as well as the own, announced multicast tvlv container.
1008 /* link-local multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv4()
1075 /* link-local-all-nodes multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv6()
1089 * @skb: the multicast frame to check
1093 * Checks whether the given multicast ethernet frame has the potential to be
1131 * Return: the number of nodes which want all IPv4 multicast traffic if the
1150 * batadv_mcast_forw_rtr_count() - count nodes with a multicast router
1152 * @protocol: the ethernet protocol type to count multicast routers for
1154 * Return: the number of nodes which want all routable IPv4 multicast traffic
1173 * batadv_mcast_forw_tt_node_get() - get a multicast tt node
1175 * @ethhdr: the ether header containing the multicast destination
1177 * Return: an orig_node matching the multicast address provided by ethhdr
1372 * batadv_mcast_forw_mode() - check on how to forward a multicast packet
1374 * @skb: The multicast packet to check
1439 * batadv_mcast_forw_send_orig() - send a multicast packet to an originator
1441 * @skb: the multicast packet to send
1452 /* Avoid sending multicast-in-unicast packets to other BLA in batadv_mcast_forw_send_orig()
1468 * batadv_mcast_forw_tt() - forwards a packet to multicast listeners
1470 * @skb: the multicast packet to transmit
1473 * Sends copies of a frame with multicast destination to any multicast
1518 * @skb: the multicast packet to transmit
1521 * Sends copies of a frame with multicast destination to any node with a
1555 * @skb: The multicast packet to transmit
1558 * Sends copies of a frame with multicast destination to any node with a
1592 * @skb: the multicast packet to transmit
1595 * Sends copies of a frame with multicast destination to any node with a
1621 * @skb: the multicast packet to transmit
1624 * Sends copies of a frame with multicast destination to any node with a
1658 * @skb: The multicast packet to transmit
1661 * Sends copies of a frame with multicast destination to any node with a
1695 * @skb: the multicast packet to transmit
1698 * Sends copies of a frame with multicast destination to any node with a
1722 * batadv_mcast_forw_send() - send packet to any detected multicast recipient
1724 * @skb: the multicast packet to transmit
1728 * Sends copies of a frame with multicast destination to any node that signaled
1772 * @orig: the orig_node which multicast state might have changed of
1773 * @mcast_flags: flags indicating the new multicast state
1818 * @orig: the orig_node which multicast state might have changed of
1819 * @mcast_flags: flags indicating the new multicast state
1863 * @orig: the orig_node which multicast state might have changed of
1864 * @mcast_flags: flags indicating the new multicast state
1908 * @orig: the orig_node which multicast state might have changed of
1909 * @mcast_flags: flags indicating the new multicast state
1953 * @orig: the orig_node which multicast state might have changed of
1954 * @mcast_flags: flags indicating the new multicast state
1996 * batadv_mcast_tvlv_flags_get() - get multicast flags from an OGM TVLV
1997 * @enabled: whether the originator has multicast TVLV support enabled
1998 * @tvlv_value: tvlv buffer containing the multicast flags
2001 * Return: multicast flags for the given tvlv buffer
2027 * batadv_mcast_tvlv_ogm_handler() - process incoming multicast tvlv container
2031 * @tvlv_value: tvlv buffer containing the multicast data
2069 * batadv_mcast_init() - initialize the multicast optimizations structures
2088 * Prints our own multicast flags including a more specific reason why
2112 seq_printf(seq, "Multicast flags (own flags: [%c%c%c%s%s])\n", in batadv_mcast_flags_print_header()
2133 * multicast flags, including (in the header) our own.
2193 * batadv_mcast_mesh_info_put() - put multicast info into a netlink message
2226 * batadv_mcast_flags_dump_entry() - dump one entry of the multicast flags table
2231 * @orig_node: originator to dump the multicast flags of
2270 * batadv_mcast_flags_dump_bucket() - dump one bucket of the multicast flags
2317 * __batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2401 * batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2428 * batadv_mcast_free() - free the multicast optimizations structures