Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
enic_main.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/if.h>
#include <linux/if_ether.h>
#include <linux/if_vlan.h>
#include <linux/ethtool.h>
#include <linux/in.h>
#include <linux/ip.h>
#include <linux/ipv6.h>
#include <linux/tcp.h>
#include <linux/rtnetlink.h>
#include <linux/prefetch.h>
#include <net/ip6_checksum.h>
#include "cq_enet_desc.h"
#include "vnic_dev.h"
#include "vnic_intr.h"
#include "vnic_stats.h"
#include "vnic_vic.h"
#include "enic_res.h"
#include "enic.h"
#include "enic_dev.h"
#include "enic_pp.h"

Go to the source code of this file.

Data Structures

struct  enic_stat
 

Macros

#define ENIC_NOTIFY_TIMER_PERIOD   (2 * HZ)
 
#define WQ_ENET_MAX_DESC_LEN   (1 << WQ_ENET_LEN_BITS)
 
#define MAX_TSO   (1 << 16)
 
#define ENIC_DESC_MAX_SPLITS   (MAX_TSO / WQ_ENET_MAX_DESC_LEN + 1)
 
#define PCI_DEVICE_ID_CISCO_VIC_ENET   0x0043 /* ethernet vnic */
 
#define PCI_DEVICE_ID_CISCO_VIC_ENET_DYN   0x0044 /* enet dynamic vnic */
 
#define PCI_DEVICE_ID_CISCO_VIC_ENET_VF   0x0071 /* enet SRIOV VF */
 
#define ENIC_TX_STAT(stat)   { .name = #stat, .offset = offsetof(struct vnic_tx_stats, stat) / 8 }
 
#define ENIC_RX_STAT(stat)   { .name = #stat, .offset = offsetof(struct vnic_rx_stats, stat) / 8 }
 
#define ENIC_TEST_INTR(pba, i)   (pba & (1 << i))
 

Functions

 MODULE_DESCRIPTION (DRV_DESCRIPTION)
 
 MODULE_AUTHOR ("Scott Feldman <[email protected]>")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_VERSION (DRV_VERSION)
 
 MODULE_DEVICE_TABLE (pci, enic_id_table)
 
int enic_is_dynamic (struct enic *enic)
 
int enic_sriov_enabled (struct enic *enic)
 
int enic_is_valid_vf (struct enic *enic, int vf)
 
void enic_reset_addr_lists (struct enic *enic)
 
 module_init (enic_init_module)
 
 module_exit (enic_cleanup_module)
 

Macro Definition Documentation

#define ENIC_DESC_MAX_SPLITS   (MAX_TSO / WQ_ENET_MAX_DESC_LEN + 1)

Definition at line 56 of file enic_main.c.

#define ENIC_NOTIFY_TIMER_PERIOD   (2 * HZ)

Definition at line 53 of file enic_main.c.

#define ENIC_RX_STAT (   stat)    { .name = #stat, .offset = offsetof(struct vnic_rx_stats, stat) / 8 }

Definition at line 83 of file enic_main.c.

#define ENIC_TEST_INTR (   pba,
  i 
)    (pba & (1 << i))

Definition at line 483 of file enic_main.c.

#define ENIC_TX_STAT (   stat)    { .name = #stat, .offset = offsetof(struct vnic_tx_stats, stat) / 8 }

Definition at line 81 of file enic_main.c.

#define MAX_TSO   (1 << 16)

Definition at line 55 of file enic_main.c.

#define PCI_DEVICE_ID_CISCO_VIC_ENET   0x0043 /* ethernet vnic */

Definition at line 58 of file enic_main.c.

#define PCI_DEVICE_ID_CISCO_VIC_ENET_DYN   0x0044 /* enet dynamic vnic */

Definition at line 59 of file enic_main.c.

#define PCI_DEVICE_ID_CISCO_VIC_ENET_VF   0x0071 /* enet SRIOV VF */

Definition at line 60 of file enic_main.c.

#define WQ_ENET_MAX_DESC_LEN   (1 << WQ_ENET_LEN_BITS)

Definition at line 54 of file enic_main.c.

Function Documentation

int enic_is_dynamic ( struct enic enic)

Definition at line 127 of file enic_main.c.

int enic_is_valid_vf ( struct enic enic,
int  vf 
)

Definition at line 142 of file enic_main.c.

void enic_reset_addr_lists ( struct enic enic)

Definition at line 848 of file enic_main.c.

int enic_sriov_enabled ( struct enic enic)

Definition at line 132 of file enic_main.c.

MODULE_AUTHOR ( "Scott Feldman <[email protected]>"  )
MODULE_DESCRIPTION ( DRV_DESCRIPTION  )
MODULE_DEVICE_TABLE ( pci  ,
enic_id_table   
)
module_exit ( enic_cleanup_module  )
module_init ( enic_init_module  )
MODULE_LICENSE ( "GPL"  )
MODULE_VERSION ( DRV_VERSION  )