linux/drivers/net/ipvlan/ipvlan_core.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* Copyright (c) 2014 Mahesh Bandewar <[email protected]>
 */

#include "ipvlan.h"

static u32 ipvlan_jhash_secret __read_mostly;

void ipvlan_init_secret(void)
{}

void ipvlan_count_rx(const struct ipvl_dev *ipvlan,
			    unsigned int len, bool success, bool mcast)
{}
EXPORT_SYMBOL_GPL();

#if IS_ENABLED(CONFIG_IPV6)
static u8 ipvlan_get_v6_hash(const void *iaddr)
{}
#else
static u8 ipvlan_get_v6_hash(const void *iaddr)
{
	return 0;
}
#endif

static u8 ipvlan_get_v4_hash(const void *iaddr)
{}

static bool addr_equal(bool is_v6, struct ipvl_addr *addr, const void *iaddr)
{}

static struct ipvl_addr *ipvlan_ht_addr_lookup(const struct ipvl_port *port,
					       const void *iaddr, bool is_v6)
{}

void ipvlan_ht_addr_add(struct ipvl_dev *ipvlan, struct ipvl_addr *addr)
{}

void ipvlan_ht_addr_del(struct ipvl_addr *addr)
{}

struct ipvl_addr *ipvlan_find_addr(const struct ipvl_dev *ipvlan,
				   const void *iaddr, bool is_v6)
{}

bool ipvlan_addr_busy(struct ipvl_port *port, void *iaddr, bool is_v6)
{}

void *ipvlan_get_L3_hdr(struct ipvl_port *port, struct sk_buff *skb, int *type)
{}

unsigned int ipvlan_mac_hash(const unsigned char *addr)
{}

void ipvlan_process_multicast(struct work_struct *work)
{}

static void ipvlan_skb_crossing_ns(struct sk_buff *skb, struct net_device *dev)
{}

static int ipvlan_rcv_frame(struct ipvl_addr *addr, struct sk_buff **pskb,
			    bool local)
{}

struct ipvl_addr *ipvlan_addr_lookup(struct ipvl_port *port, void *lyr3h,
				     int addr_type, bool use_dest)
{}

static noinline_for_stack int ipvlan_process_v4_outbound(struct sk_buff *skb)
{}

#if IS_ENABLED(CONFIG_IPV6)

static noinline_for_stack int
ipvlan_route_v6_outbound(struct net_device *dev, struct sk_buff *skb)
{}

static int ipvlan_process_v6_outbound(struct sk_buff *skb)
{}
#else
static int ipvlan_process_v6_outbound(struct sk_buff *skb)
{
	return NET_XMIT_DROP;
}
#endif

static int ipvlan_process_outbound(struct sk_buff *skb)
{}

static void ipvlan_multicast_enqueue(struct ipvl_port *port,
				     struct sk_buff *skb, bool tx_pkt)
{}

static int ipvlan_xmit_mode_l3(struct sk_buff *skb, struct net_device *dev)
{}

static int ipvlan_xmit_mode_l2(struct sk_buff *skb, struct net_device *dev)
{}

int ipvlan_queue_xmit(struct sk_buff *skb, struct net_device *dev)
{}

static bool ipvlan_external_frame(struct sk_buff *skb, struct ipvl_port *port)
{}

static rx_handler_result_t ipvlan_handle_mode_l3(struct sk_buff **pskb,
						 struct ipvl_port *port)
{}

static rx_handler_result_t ipvlan_handle_mode_l2(struct sk_buff **pskb,
						 struct ipvl_port *port)
{}

rx_handler_result_t ipvlan_handle_frame(struct sk_buff **pskb)
{}