Imported Upstream version 16.11
[deb_dpdk.git] / lib / librte_eal / linuxapp / kni / ethtool / igb / igb_vmdq.h
1 /*******************************************************************************
2
3   Intel(R) Gigabit Ethernet Linux driver
4   Copyright(c) 2007-2013 Intel Corporation.
5
6   This program is free software; you can redistribute it and/or modify it
7   under the terms and conditions of the GNU General Public License,
8   version 2, as published by the Free Software Foundation.
9
10   This program is distributed in the hope it will be useful, but WITHOUT
11   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13   more details.
14
15   You should have received a copy of the GNU General Public License along with
16   this program; if not, write to the Free Software Foundation, Inc.,
17   51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18
19   The full GNU General Public License is included in this distribution in
20   the file called "LICENSE.GPL".
21
22   Contact Information:
23   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
24   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
25
26 *******************************************************************************/
27
28 #ifndef _IGB_VMDQ_H_
29 #define _IGB_VMDQ_H_
30
31 #ifdef CONFIG_IGB_VMDQ_NETDEV
32 int igb_vmdq_open(struct net_device *dev);
33 int igb_vmdq_close(struct net_device *dev);
34 netdev_tx_t igb_vmdq_xmit_frame(struct sk_buff *skb, struct net_device *dev);
35 struct net_device_stats *igb_vmdq_get_stats(struct net_device *dev);
36 void igb_vmdq_set_rx_mode(struct net_device *dev);
37 int igb_vmdq_set_mac(struct net_device *dev, void *addr);
38 int igb_vmdq_change_mtu(struct net_device *dev, int new_mtu);
39 void igb_vmdq_tx_timeout(struct net_device *dev);
40 void igb_vmdq_vlan_rx_register(struct net_device *dev,
41                                  struct vlan_group *grp);
42 void igb_vmdq_vlan_rx_add_vid(struct net_device *dev, unsigned short vid);
43 void igb_vmdq_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid);
44 void igb_vmdq_set_ethtool_ops(struct net_device *netdev);
45 #endif /* CONFIG_IGB_VMDQ_NETDEV */
46 #endif /* _IGB_VMDQ_H_ */