1/* 2 * Copyright (c) 2007-2011 Nicira, Inc. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of version 2 of the GNU General Public 6 * License as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public License 14 * along with this program; if not, write to the Free Software 15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 16 * 02110-1301, USA 17 */ 18 19#ifndef VPORT_NETDEV_H 20#define VPORT_NETDEV_H 1 21 22#include <linux/netdevice.h> 23#include <linux/rcupdate.h> 24 25#include "vport.h" 26 27struct vport *ovs_netdev_get_vport(struct net_device *dev); 28 29struct netdev_vport { 30 struct rcu_head rcu; 31 32 struct net_device *dev; 33}; 34 35static inline struct netdev_vport * 36netdev_vport_priv(const struct vport *vport) 37{ 38 return vport_priv(vport); 39} 40 41const char *ovs_netdev_get_name(const struct vport *); 42void ovs_netdev_detach_dev(struct vport *); 43 44int __init ovs_netdev_init(void); 45void ovs_netdev_exit(void); 46 47#endif /* vport_netdev.h */ 48