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
269 * batadv_mcast_mla_flags_get() - get the new multicast flags
301 pr_warn_once("No bridge IGMP snooping compiled - multicast optimizations disabled\n"); in batadv_mcast_mla_flags_get()
311 /* 1) If no querier exists at all, then multicast listeners on in batadv_mcast_mla_flags_get()
314 * behind the bridge, then this querier might shadow multicast in batadv_mcast_mla_flags_get()
318 * we need all multicast traffic of the according protocol. in batadv_mcast_mla_flags_get()
335 * @mcast_addr: the multicast address to check
336 * @mcast_list: the list with multicast addresses to search in
354 * batadv_mcast_mla_softif_get_ipv4() - get softif IPv4 multicast listeners
355 * @dev: the device to collect multicast addresses from
357 * @flags: flags indicating the new multicast state
359 * Collects multicast addresses of IPv4 multicast listeners residing
361 * the given mcast_list. In general, multicast listeners provided by
362 * your multicast receiving applications run directly on this node.
420 * batadv_mcast_mla_softif_get_ipv6() - get softif IPv6 multicast listeners
421 * @dev: the device to collect multicast addresses from
423 * @flags: flags indicating the new multicast state
425 * Collects multicast addresses of IPv6 multicast listeners residing
427 * the given mcast_list. In general, multicast listeners provided by
428 * your multicast receiving applications run directly on this node.
502 * batadv_mcast_mla_softif_get() - get softif multicast listeners
503 * @dev: the device to collect multicast addresses from
505 * @flags: flags indicating the new multicast state
507 * Collects multicast addresses of multicast listeners residing
509 * the given mcast_list. In general, multicast listeners provided by
510 * your multicast receiving applications run directly on this node.
513 * instead. Just like with IP addresses and routes, multicast listeners
548 * batadv_mcast_mla_br_addr_cpy() - copy a bridge multicast address
549 * @dst: destination to write to - a multicast MAC address
550 * @src: source to read from - a multicast IP address
552 * Converts a given multicast IPv4/IPv6 address from a bridge
553 * to its matching multicast MAC address and copies it into the given
572 * batadv_mcast_mla_bridge_get() - get bridged-in multicast listeners
573 * @dev: a bridge slave whose bridge to collect multicast addresses from
575 * @flags: flags indicating the new multicast state
577 * Collects multicast addresses of multicast listeners residing
657 * batadv_mcast_mla_list_free() - free a list of multicast addresses
674 * batadv_mcast_mla_tt_retract() - clean up multicast listener announcements
678 * Retracts the announcement of any multicast listener from the
706 * batadv_mcast_mla_tt_add() - add multicast listener announcements
710 * Adds multicast listener announcements from the given mcast_list to the
747 * to our multicast optimizations.
769 "%s Querier disappeared - multicast optimizations disabled\n", in batadv_mcast_querier_log()
773 "No %s Querier present - multicast optimizations disabled\n", in batadv_mcast_querier_log()
793 * @new_flags: flags indicating the new multicast state
798 * which might be relevant to our multicast optimizations.
803 * multicast flags this node is going to set.
831 * @flags: TVLV flags indicating the new multicast state
833 * Whenever the multicast TVLV flags this node announces change, this function
851 "Changing multicast flags from '%s' to '[%c%c%c%s%s%c]'\n", in batadv_mcast_flags_log()
862 * batadv_mcast_mla_flags_update() - update multicast flags
864 * @flags: flags indicating the new multicast state
866 * Updates the own multicast tvlv with our current multicast related settings,
894 * Updates the own multicast listener announcements in the translation
895 * table as well as the own, announced multicast tvlv container.
933 * Updates the own multicast listener announcements in the translation
934 * table as well as the own, announced multicast tvlv container.
1007 /* link-local multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv4()
1074 /* link-local-all-nodes multicast listeners behind a bridge are in batadv_mcast_forw_mode_check_ipv6()
1088 * @skb: the multicast frame to check
1092 * Checks whether the given multicast ethernet frame has the potential to be
1130 * Return: the number of nodes which want all IPv4 multicast traffic if the
1149 * batadv_mcast_forw_rtr_count() - count nodes with a multicast router
1151 * @protocol: the ethernet protocol type to count multicast routers for
1153 * Return: the number of nodes which want all routable IPv4 multicast traffic
1174 * @skb: the multicast packet to check
1177 * @count: the number of originators the multicast packet need to be sent to
1179 * For a multicast packet with multiple destination originators, checks which
1181 * complete batman-adv multicast header.
1184 * BATADV_FORW_MCAST: If all nodes have multicast packet routing
1186 * and the encapsulated multicast packet with all destination addresses
1187 * would still fit into an 1280 bytes batman-adv multicast packet
1189 * the full batman-adv multicast packet header.
1191 * multicast packet and the amount of batman-adv unicast packets needed
1192 * is smaller or equal to the configured multicast fanout.
1216 * batadv_mcast_forw_mode() - check on how to forward a multicast packet
1218 * @skb: the multicast packet to check
1261 * batadv_mcast_forw_send_orig() - send a multicast packet to an originator
1263 * @skb: the multicast packet to send
1274 /* Avoid sending multicast-in-unicast packets to other BLA in batadv_mcast_forw_send_orig()
1290 * batadv_mcast_forw_tt() - forwards a packet to multicast listeners
1292 * @skb: the multicast packet to transmit
1295 * Sends copies of a frame with multicast destination to any multicast
1340 * @skb: the multicast packet to transmit
1343 * Sends copies of a frame with multicast destination to any node with a
1377 * @skb: The multicast packet to transmit
1380 * Sends copies of a frame with multicast destination to any node with a
1414 * @skb: the multicast packet to transmit
1417 * Sends copies of a frame with multicast destination to any node with a
1443 * @skb: the multicast packet to transmit
1446 * Sends copies of a frame with multicast destination to any node with a
1480 * @skb: The multicast packet to transmit
1483 * Sends copies of a frame with multicast destination to any node with a
1517 * @skb: the multicast packet to transmit
1520 * Sends copies of a frame with multicast destination to any node with a
1544 * batadv_mcast_forw_send() - send packet to any detected multicast recipient
1546 * @skb: the multicast packet to transmit
1550 * Sends copies of a frame with multicast destination to any node that signaled
1594 * @orig: the orig_node which multicast state might have changed of
1595 * @mcast_flags: flags indicating the new multicast state
1640 * @orig: the orig_node which multicast state might have changed of
1641 * @mcast_flags: flags indicating the new multicast state
1685 * @orig: the orig_node which multicast state might have changed of
1686 * @mcast_flags: flags indicating the new multicast state
1730 * @orig: the orig_node which multicast state might have changed of
1731 * @mcast_flags: flags indicating the new multicast state
1775 * @orig: the orig_node which multicast state might have changed of
1776 * @mcast_flags: flags indicating the new multicast state
1818 * batadv_mcast_have_mc_ptype_update() - update multicast packet type counter
1820 * @orig: the orig_node which multicast state might have changed of
1821 * @mcast_flags: flags indicating the new multicast state
1843 * batadv_mcast_tvlv_flags_get() - get multicast flags from an OGM TVLV
1844 * @enabled: whether the originator has multicast TVLV support enabled
1845 * @tvlv_value: tvlv buffer containing the multicast flags
1848 * Return: multicast flags for the given tvlv buffer
1874 * batadv_mcast_tvlv_ogm_handler() - process incoming multicast tvlv container
1878 * @tvlv_value: tvlv buffer containing the multicast data
1917 * batadv_mcast_init() - initialize the multicast optimizations structures
1935 * batadv_mcast_mesh_info_put() - put multicast info into a netlink message
1968 * batadv_mcast_flags_dump_entry() - dump one entry of the multicast flags table
1973 * @orig_node: originator to dump the multicast flags of
2012 * batadv_mcast_flags_dump_bucket() - dump one bucket of the multicast flags
2059 * __batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2134 * batadv_mcast_flags_dump() - dump multicast flags table to a netlink socket
2161 * batadv_mcast_free() - free the multicast optimizations structures