Lines Matching full:multicast
7 #include "multicast.h"
65 * batadv_mcast_start_timer() - schedule the multicast periodic worker
104 * Checks the presence of an IPv4 multicast router on this node.
125 * Checks the presence of an IPv6 multicast router on this node.
155 * Checks the presence of IPv4 and IPv6 multicast routers on this
159 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
160 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
161 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
162 * The former two OR'd: no multicast router is present
186 * Checks the presence of IPv4 and IPv6 multicast routers behind a bridge.
189 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
190 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
191 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
192 * The former two OR'd: no multicast router is present
212 * batadv_mcast_mla_rtr_flags_get() - get multicast router flags
217 * Checks the presence of IPv4 and IPv6 multicast routers on this
221 * BATADV_NO_FLAGS: Both an IPv4 and IPv6 multicast router is present
222 * BATADV_MCAST_WANT_NO_RTR4: No IPv4 multicast router is present
223 * BATADV_MCAST_WANT_NO_RTR6: No IPv6 multicast router is present
224 * The former two OR'd: no multicast router is present
238 * batadv_mcast_mla_forw_flags_get() - get multicast forwarding flags
267 * batadv_mcast_mla_flags_get() - get the new multicast flags
299 pr_warn_once("No bridge IGMP snooping compiled - multicast optimizations disabled\n"); in batadv_mcast_mla_flags_get()
309 /* 1) If no querier exists at all, then multicast listeners on in batadv_mcast_mla_flags_get()
312 * behind the bridge, then this querier might shadow multicast in batadv_mcast_mla_flags_get()
316 * we need all multicast traffic of the according protocol. in batadv_mcast_mla_flags_get()
333 * @mcast_addr: the multicast address to check
334 * @mcast_list: the list with multicast addresses to search in
352 * batadv_mcast_mla_meshif_get_ipv4() - get meshif IPv4 multicast listeners
353 * @dev: the device to collect multicast addresses from
355 * @flags: flags indicating the new multicast state
357 * Collects multicast addresses of IPv4 multicast listeners residing
359 * the given mcast_list. In general, multicast listeners provided by
360 * your multicast receiving applications run directly on this node.
418 * batadv_mcast_mla_meshif_get_ipv6() - get meshif IPv6 multicast listeners
419 * @dev: the device to collect multicast addresses from
421 * @flags: flags indicating the new multicast state
423 * Collects multicast addresses of IPv6 multicast listeners residing
425 * the given mcast_list. In general, multicast listeners provided by
426 * your multicast receiving applications run directly on this node.
500 * batadv_mcast_mla_meshif_get() - get meshif multicast listeners
501 * @dev: the device to collect multicast addresses from
503 * @flags: flags indicating the new multicast state
505 * Collects multicast addresses of multicast listeners residing
507 * the given mcast_list. In general, multicast listeners provided by
508 * your multicast receiving applications run directly on this node.
511 * instead. Just like with IP addresses and routes, multicast listeners
546 * batadv_mcast_mla_br_addr_cpy() - copy a bridge multicast address
547 * @dst: destination to write to - a multicast MAC address
548 * @src: source to read from - a multicast IP address
550 * Converts a given multicast IPv4/IPv6 address from a bridge
551 * to its matching multicast MAC address and copies it into the given
570 * batadv_mcast_mla_bridge_get() - get bridged-in multicast listeners
571 * @dev: a bridge slave whose bridge to collect multicast addresses from
573 * @flags: flags indicating the new multicast state
575 * Collects multicast addresses of multicast listeners residing
655 * batadv_mcast_mla_list_free() - free a list of multicast addresses
672 * batadv_mcast_mla_tt_retract() - clean up multicast listener announcements
676 * Retracts the announcement of any multicast listener from the
704 * batadv_mcast_mla_tt_add() - add multicast listener announcements
708 * Adds multicast listener announcements from the given mcast_list to the
745 * to our multicast optimizations.
767 "%s Querier disappeared - multicast optimizations disabled\n", in batadv_mcast_querier_log()
771 "No %s Querier present - multicast optimizations disabled\n", in batadv_mcast_querier_log()
791 * @new_flags: flags indicating the new multicast state
796 * which might be relevant to our multicast optimizations.
801 * multicast flags this node is going to set.
829 * @flags: TVLV flags indicating the new multicast state
831 * Whenever the multicast TVLV flags this node announces change, this function
849 "Changing multicast flags from '%s' to '[%c%c%c%s%s%c]'\n", in batadv_mcast_flags_log()
860 * batadv_mcast_mla_flags_update() - update multicast flags
862 * @flags: flags indicating the new multicast state
864 * Updates the own multicast tvlv with our current multicast related settings,
892 * Updates the own multicast listener announcements in the translation
893 * table as well as the own, announced multicast tvlv container.
931 * Updates the own multicast listener announcements in the translation
932 * table as well as the own, announced multicast tvlv container.
1005 /* link-local multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv4()
1072 /* link-local-all-nodes multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv6()
1086 * @skb: the multicast frame to check
1090 * Checks whether the given multicast ethernet frame has the potential to be
1128 * Return: the number of nodes which want all IPv4 multicast traffic if the
1147 * batadv_mcast_forw_rtr_count() - count nodes with a multicast router
1149 * @protocol: the ethernet protocol type to count multicast routers for
1151 * Return: the number of nodes which want all routable IPv4 multicast traffic
1172 * @skb: the multicast packet to check
1175 * @count: the number of originators the multicast packet need to be sent to
1177 * For a multicast packet with multiple destination originators, checks which
1179 * complete batman-adv multicast header.
1182 * BATADV_FORW_MCAST: If all nodes have multicast packet routing
1184 * and the encapsulated multicast packet with all destination addresses
1185 * would still fit into an 1280 bytes batman-adv multicast packet
1187 * the full batman-adv multicast packet header.
1189 * multicast packet and the amount of batman-adv unicast packets needed
1190 * is smaller or equal to the configured multicast fanout.
1214 * batadv_mcast_forw_mode() - check on how to forward a multicast packet
1216 * @skb: the multicast packet to check
1259 * batadv_mcast_forw_send_orig() - send a multicast packet to an originator
1261 * @skb: the multicast packet to send
1272 /* Avoid sending multicast-in-unicast packets to other BLA in batadv_mcast_forw_send_orig()
1288 * batadv_mcast_forw_tt() - forwards a packet to multicast listeners
1290 * @skb: the multicast packet to transmit
1293 * Sends copies of a frame with multicast destination to any multicast
1338 * @skb: the multicast packet to transmit
1341 * Sends copies of a frame with multicast destination to any node with a
1375 * @skb: The multicast packet to transmit
1378 * Sends copies of a frame with multicast destination to any node with a
1412 * @skb: the multicast packet to transmit
1415 * Sends copies of a frame with multicast destination to any node with a
1441 * @skb: the multicast packet to transmit
1444 * Sends copies of a frame with multicast destination to any node with a
1478 * @skb: The multicast packet to transmit
1481 * Sends copies of a frame with multicast destination to any node with a
1515 * @skb: the multicast packet to transmit
1518 * Sends copies of a frame with multicast destination to any node with a
1542 * batadv_mcast_forw_send() - send packet to any detected multicast recipient
1544 * @skb: the multicast packet to transmit
1548 * Sends copies of a frame with multicast destination to any node that signaled
1592 * @orig: the orig_node which multicast state might have changed of
1593 * @mcast_flags: flags indicating the new multicast state
1638 * @orig: the orig_node which multicast state might have changed of
1639 * @mcast_flags: flags indicating the new multicast state
1683 * @orig: the orig_node which multicast state might have changed of
1684 * @mcast_flags: flags indicating the new multicast state
1728 * @orig: the orig_node which multicast state might have changed of
1729 * @mcast_flags: flags indicating the new multicast state
1773 * @orig: the orig_node which multicast state might have changed of
1774 * @mcast_flags: flags indicating the new multicast state
1816 * batadv_mcast_have_mc_ptype_update() - update multicast packet type counter
1818 * @orig: the orig_node which multicast state might have changed of
1819 * @mcast_flags: flags indicating the new multicast state
1841 * batadv_mcast_tvlv_flags_get() - get multicast flags from an OGM TVLV
1842 * @enabled: whether the originator has multicast TVLV support enabled
1843 * @tvlv_value: tvlv buffer containing the multicast flags
1846 * Return: multicast flags for the given tvlv buffer
1872 * batadv_mcast_tvlv_ogm_handler() - process incoming multicast tvlv container
1876 * @tvlv_value: tvlv buffer containing the multicast data
1915 * batadv_mcast_init() - initialize the multicast optimizations structures
1933 * batadv_mcast_mesh_info_put() - put multicast info into a netlink message
1966 * batadv_mcast_flags_dump_entry() - dump one entry of the multicast flags table
1971 * @orig_node: originator to dump the multicast flags of
2010 * batadv_mcast_flags_dump_bucket() - dump one bucket of the multicast flags
2057 * __batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2132 * batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2159 * batadv_mcast_free() - free the multicast optimizations structures