Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
netback.c File Reference
#include "common.h"
#include <linux/kthread.h>
#include <linux/if_vlan.h>
#include <linux/udp.h>
#include <net/tcp.h>
#include <xen/xen.h>
#include <xen/events.h>
#include <xen/interface/memory.h>
#include <asm/xen/hypercall.h>
#include <asm/xen/page.h>

Go to the source code of this file.

Data Structures

struct  pending_tx_info
 
struct  netbk_rx_meta
 
union  page_ext
 
struct  xen_netbk
 
struct  netrx_pending_operations
 
struct  skb_cb_overlay
 

Macros

#define MAX_PENDING_REQS   256
 
#define INVALID_PENDING_IDX   0xFFFF
 
#define MAX_BUFFER_OFFSET   PAGE_SIZE
 
#define IDX_WIDTH   8
 
#define GROUP_WIDTH   (BITS_PER_LONG - IDX_WIDTH)
 
#define PKT_PROT_LEN
 

Typedefs

typedef unsigned int pending_ring_idx_t
 

Functions

void xen_netbk_add_xenvif (struct xenvif *vif)
 
void xen_netbk_remove_xenvif (struct xenvif *vif)
 
int xen_netbk_rx_ring_full (struct xenvif *vif)
 
int xen_netbk_must_stop_queue (struct xenvif *vif)
 
unsigned int xen_netbk_count_skb_slots (struct xenvif *vif, struct sk_buff *skb)
 
void xen_netbk_queue_tx_skb (struct xenvif *vif, struct sk_buff *skb)
 
void xen_netbk_schedule_xenvif (struct xenvif *vif)
 
void xen_netbk_deschedule_xenvif (struct xenvif *vif)
 
void xen_netbk_check_rx_xenvif (struct xenvif *vif)
 
void xen_netbk_unmap_frontend_rings (struct xenvif *vif)
 
int xen_netbk_map_frontend_rings (struct xenvif *vif, grant_ref_t tx_ring_ref, grant_ref_t rx_ring_ref)
 
 module_init (netback_init)
 
 MODULE_LICENSE ("Dual BSD/GPL")
 
 MODULE_ALIAS ("xen-backend:vif")
 

Macro Definition Documentation

#define GROUP_WIDTH   (BITS_PER_LONG - IDX_WIDTH)

Definition at line 74 of file netback.c.

#define IDX_WIDTH   8

Definition at line 73 of file netback.c.

#define INVALID_PENDING_IDX   0xFFFF

Definition at line 65 of file netback.c.

#define MAX_BUFFER_OFFSET   PAGE_SIZE

Definition at line 67 of file netback.c.

#define MAX_PENDING_REQS   256

Definition at line 62 of file netback.c.

#define PKT_PROT_LEN
Value:
VLAN_HLEN + \
sizeof(struct iphdr) + MAX_IPOPTLEN + \
sizeof(struct tcphdr) + MAX_TCP_OPTION_SPACE)

Definition at line 217 of file netback.c.

Typedef Documentation

typedef unsigned int pending_ring_idx_t

Definition at line 54 of file netback.c.

Function Documentation

MODULE_ALIAS ( "xen-backend:vif"  )
module_init ( netback_init  )
MODULE_LICENSE ( "Dual BSD/GPL"  )
void xen_netbk_add_xenvif ( struct xenvif vif)

Definition at line 121 of file netback.c.

void xen_netbk_check_rx_xenvif ( struct xenvif vif)

Definition at line 838 of file netback.c.

unsigned int xen_netbk_count_skb_slots ( struct xenvif vif,
struct sk_buff skb 
)

Definition at line 324 of file netback.c.

void xen_netbk_deschedule_xenvif ( struct xenvif vif)

Definition at line 830 of file netback.c.

int xen_netbk_map_frontend_rings ( struct xenvif vif,
grant_ref_t  tx_ring_ref,
grant_ref_t  rx_ring_ref 
)

Definition at line 1621 of file netback.c.

int xen_netbk_must_stop_queue ( struct xenvif vif)

Definition at line 267 of file netback.c.

void xen_netbk_queue_tx_skb ( struct xenvif vif,
struct sk_buff skb 
)

Definition at line 757 of file netback.c.

void xen_netbk_remove_xenvif ( struct xenvif vif)

Definition at line 143 of file netback.c.

int xen_netbk_rx_ring_full ( struct xenvif vif)

Definition at line 258 of file netback.c.

void xen_netbk_schedule_xenvif ( struct xenvif vif)

Definition at line 807 of file netback.c.

void xen_netbk_unmap_frontend_rings ( struct xenvif vif)

Definition at line 1611 of file netback.c.