#define pr_fmt(fmt) …
#include <linux/if_arp.h>
#include <linux/if_bridge.h>
#include <linux/if_vlan.h>
#include <linux/kernel.h>
#include <linux/llc.h>
#include <linux/rtnetlink.h>
#include <linux/skbuff.h>
#include <linux/openvswitch.h>
#include <linux/export.h>
#include <net/ip_tunnels.h>
#include <net/rtnetlink.h>
#include "datapath.h"
#include "vport.h"
#include "vport-internal_dev.h"
#include "vport-netdev.h"
static struct vport_ops ovs_netdev_vport_ops;
static void netdev_port_receive(struct sk_buff *skb)
{ … }
static rx_handler_result_t netdev_frame_hook(struct sk_buff **pskb)
{ … }
static struct net_device *get_dpdev(const struct datapath *dp)
{ … }
struct vport *ovs_netdev_link(struct vport *vport, const char *name)
{ … }
EXPORT_SYMBOL_GPL(…);
static struct vport *netdev_create(const struct vport_parms *parms)
{ … }
static void vport_netdev_free(struct rcu_head *rcu)
{ … }
void ovs_netdev_detach_dev(struct vport *vport)
{ … }
static void netdev_destroy(struct vport *vport)
{ … }
void ovs_netdev_tunnel_destroy(struct vport *vport)
{ … }
EXPORT_SYMBOL_GPL(…);
struct vport *ovs_netdev_get_vport(struct net_device *dev)
{ … }
static struct vport_ops ovs_netdev_vport_ops = …;
int __init ovs_netdev_init(void)
{ … }
void ovs_netdev_exit(void)
{ … }