linux/drivers/net/vxlan/vxlan_multicast.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *	Vxlan multicast group handling
 *
 */
#include <linux/kernel.h>
#include <net/net_namespace.h>
#include <net/sock.h>
#include <linux/igmp.h>
#include <net/vxlan.h>

#include "vxlan_private.h"

/* Update multicast group membership when first VNI on
 * multicast address is brought up
 */
int vxlan_igmp_join(struct vxlan_dev *vxlan, union vxlan_addr *rip,
		    int rifindex)
{}

int vxlan_igmp_leave(struct vxlan_dev *vxlan, union vxlan_addr *rip,
		     int rifindex)
{}

static bool vxlan_group_used_match(union vxlan_addr *ip, int ifindex,
				   union vxlan_addr *rip, int rifindex)
{}

static bool vxlan_group_used_by_vnifilter(struct vxlan_dev *vxlan,
					  union vxlan_addr *ip, int ifindex)
{}

/* See if multicast group is already in use by other ID */
bool vxlan_group_used(struct vxlan_net *vn, struct vxlan_dev *dev,
		      __be32 vni, union vxlan_addr *rip, int rifindex)
{}

static int vxlan_multicast_join_vnigrp(struct vxlan_dev *vxlan)
{}

static int vxlan_multicast_leave_vnigrp(struct vxlan_dev *vxlan)
{}

int vxlan_multicast_join(struct vxlan_dev *vxlan)
{}

int vxlan_multicast_leave(struct vxlan_dev *vxlan)
{}