cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vnic_enet.h (2240B)


      1/*
      2 * Copyright 2008-2010 Cisco Systems, Inc.  All rights reserved.
      3 * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
      4 *
      5 * This program is free software; you may redistribute it and/or modify
      6 * it under the terms of the GNU General Public License as published by
      7 * the Free Software Foundation; version 2 of the License.
      8 *
      9 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     10 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     11 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     12 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
     13 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
     14 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     15 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     16 * SOFTWARE.
     17 *
     18 */
     19
     20#ifndef _VNIC_ENIC_H_
     21#define _VNIC_ENIC_H_
     22
     23/* Device-specific region: enet configuration */
     24struct vnic_enet_config {
     25	u32 flags;
     26	u32 wq_desc_count;
     27	u32 rq_desc_count;
     28	u16 mtu;
     29	u16 intr_timer_deprecated;
     30	u8 intr_timer_type;
     31	u8 intr_mode;
     32	char devname[16];
     33	u32 intr_timer_usec;
     34	u16 loop_tag;
     35	u16 vf_rq_count;
     36	u16 num_arfs;
     37};
     38
     39#define VENETF_TSO		0x1	/* TSO enabled */
     40#define VENETF_LRO		0x2	/* LRO enabled */
     41#define VENETF_RXCSUM		0x4	/* RX csum enabled */
     42#define VENETF_TXCSUM		0x8	/* TX csum enabled */
     43#define VENETF_RSS		0x10	/* RSS enabled */
     44#define VENETF_RSSHASH_IPV4	0x20	/* Hash on IPv4 fields */
     45#define VENETF_RSSHASH_TCPIPV4	0x40	/* Hash on TCP + IPv4 fields */
     46#define VENETF_RSSHASH_IPV6	0x80	/* Hash on IPv6 fields */
     47#define VENETF_RSSHASH_TCPIPV6	0x100	/* Hash on TCP + IPv6 fields */
     48#define VENETF_RSSHASH_IPV6_EX	0x200	/* Hash on IPv6 extended fields */
     49#define VENETF_RSSHASH_TCPIPV6_EX 0x400	/* Hash on TCP + IPv6 ext. fields */
     50#define VENETF_LOOP		0x800	/* Loopback enabled */
     51#define VENETF_VXLAN		0x10000	/* VxLAN offload */
     52
     53#define VENET_INTR_TYPE_MIN	0	/* Timer specs min interrupt spacing */
     54#define VENET_INTR_TYPE_IDLE	1	/* Timer specs idle time before irq */
     55
     56#define VENET_INTR_MODE_ANY	0	/* Try MSI-X, then MSI, then INTx */
     57#define VENET_INTR_MODE_MSI	1	/* Try MSI then INTx */
     58#define VENET_INTR_MODE_INTX	2	/* Try INTx only */
     59
     60#endif /* _VNIC_ENIC_H_ */