Linux Kernel
3.7.1
|
#include <linux/errno.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/if_ether.h>
#include <linux/if_vlan.h>
#include <linux/workqueue.h>
#include <scsi/fc/fc_fip.h>
#include <scsi/fc/fc_els.h>
#include <scsi/fc/fc_fcoe.h>
#include <scsi/fc_frame.h>
#include <scsi/libfc.h>
#include "fnic_io.h"
#include "fnic.h"
#include "cq_enet_desc.h"
#include "cq_exch_desc.h"
Go to the source code of this file.
Functions | |
void | fnic_handle_link (struct work_struct *work) |
void | fnic_handle_frame (struct work_struct *work) |
void | fnic_update_mac_locked (struct fnic *fnic, u8 *new) |
void | fnic_update_mac (struct fc_lport *lport, u8 *new) |
void | fnic_set_port_id (struct fc_lport *lport, u32 port_id, struct fc_frame *fp) |
int | fnic_rq_cmpl_handler (struct fnic *fnic, int rq_work_to_do) |
int | fnic_alloc_rq_frame (struct vnic_rq *rq) |
void | fnic_free_rq_buf (struct vnic_rq *rq, struct vnic_rq_buf *buf) |
void | fnic_eth_send (struct fcoe_ctlr *fip, struct sk_buff *skb) |
int | fnic_send (struct fc_lport *lp, struct fc_frame *fp) |
void | fnic_flush_tx (struct fnic *fnic) |
int | fnic_wq_cmpl_handler (struct fnic *fnic, int work_to_do) |
void | fnic_free_wq_buf (struct vnic_wq *wq, struct vnic_wq_buf *buf) |
Variables | |
struct workqueue_struct * | fnic_event_queue |
Definition at line 428 of file fnic_fcs.c.
fnic_eth_send() - Send Ethernet frame. : fcoe_ctlr instance. : Ethernet Frame, FIP, without VLAN encapsulation.
Definition at line 468 of file fnic_fcs.c.
fnic_flush_tx() - send queued frames. : fnic device
Send frames that were waiting to go out in FC or Ethernet mode. Whenever changing modes we purge queued frames, so these frames should be queued for the stable mode that we're in, either FC or Ethernet.
Called without fnic_lock held.
Definition at line 615 of file fnic_fcs.c.
void fnic_free_rq_buf | ( | struct vnic_rq * | rq, |
struct vnic_rq_buf * | buf | ||
) |
Definition at line 451 of file fnic_fcs.c.
void fnic_free_wq_buf | ( | struct vnic_wq * | wq, |
struct vnic_wq_buf * | buf | ||
) |
Definition at line 710 of file fnic_fcs.c.
void fnic_handle_frame | ( | struct work_struct * | work | ) |
Definition at line 97 of file fnic_fcs.c.
void fnic_handle_link | ( | struct work_struct * | work | ) |
Definition at line 41 of file fnic_fcs.c.
Definition at line 400 of file fnic_fcs.c.
Definition at line 580 of file fnic_fcs.c.
fnic_set_port_id() - set the port_ID after successful FLOGI. : local port. : assigned FC_ID. : received frame containing the FLOGI accept or NULL.
This is called from libfc when a new FC_ID has been assigned. This causes us to reset the firmware to FC_MODE and setup the new MAC address and FC_ID.
It is also called with FC_ID 0 when we're logged off.
If the FC_ID is due to point-to-point, fp may be NULL.
Definition at line 233 of file fnic_fcs.c.
fnic_update_mac() - set data MAC address and filters. : local port. : newly-assigned FCoE MAC address.
Definition at line 210 of file fnic_fcs.c.
fnic_update_mac_locked() - set data MAC address and filters. : fnic instance. : newly-assigned FCoE MAC address.
Called with the fnic lock held.
Definition at line 188 of file fnic_fcs.c.
Definition at line 694 of file fnic_fcs.c.
struct workqueue_struct* fnic_event_queue |
Definition at line 37 of file fnic_fcs.c.