#include <linux/socket.h>
#include <linux/in.h>
#include <linux/slab.h>
#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/udp.h>
#include <linux/prefetch.h>
#include <linux/moduleparam.h>
#include <net/ip.h>
#include <net/checksum.h>
#include "net_driver.h"
#include "efx.h"
#include "nic.h"
#include "selftest.h"
#include "workarounds.h"
Go to the source code of this file.
|
void | efx_fast_push_rx_descriptors (struct efx_rx_queue *rx_queue) |
|
void | efx_rx_slow_fill (unsigned long context) |
|
void | efx_rx_packet (struct efx_rx_queue *rx_queue, unsigned int index, unsigned int len, u16 flags) |
|
void | __efx_rx_packet (struct efx_channel *channel, struct efx_rx_buffer *rx_buf) |
|
void | efx_rx_strategy (struct efx_channel *channel) |
|
int | efx_probe_rx_queue (struct efx_rx_queue *rx_queue) |
|
void | efx_init_rx_queue (struct efx_rx_queue *rx_queue) |
|
void | efx_fini_rx_queue (struct efx_rx_queue *rx_queue) |
|
void | efx_remove_rx_queue (struct efx_rx_queue *rx_queue) |
|
| module_param (rx_alloc_method, int, 0644) |
|
| MODULE_PARM_DESC (rx_alloc_method,"Allocation method used for RX buffers") |
|
| module_param (rx_refill_threshold, uint, 0444) |
|
| MODULE_PARM_DESC (rx_refill_threshold,"RX descriptor ring refill threshold (%)") |
|
Definition at line 28 of file rx.c.
Definition at line 31 of file rx.c.
#define EFX_RXD_HEAD_ROOM 2 |
Definition at line 87 of file rx.c.
#define EFX_SKB_HEADERS 64u |
Definition at line 34 of file rx.c.
#define RX_ALLOC_FACTOR_GRO 1 |
Definition at line 73 of file rx.c.
#define RX_ALLOC_FACTOR_SKB (-2) |
Definition at line 74 of file rx.c.
#define RX_ALLOC_LEVEL_GRO 0x2000 |
Definition at line 71 of file rx.c.
#define RX_ALLOC_LEVEL_MAX 0x3000 |
Definition at line 72 of file rx.c.
Definition at line 588 of file rx.c.
efx_fast_push_rx_descriptors - push new RX descriptors quickly : RX descriptor queue
This will aim to fill the RX descriptor queue up to ->. If there is insufficient atomic memory to do so, a slow fill will be scheduled.
The caller must provide serialisation (none is used here). In practise, this means this function must run from the NAPI handler, or be called when NAPI is disabled.
Definition at line 348 of file rx.c.
Definition at line 721 of file rx.c.
Definition at line 688 of file rx.c.
Definition at line 658 of file rx.c.
Definition at line 744 of file rx.c.
Definition at line 503 of file rx.c.
void efx_rx_slow_fill |
( |
unsigned long |
context | ) |
|
Definition at line 399 of file rx.c.
Definition at line 630 of file rx.c.
module_param |
( |
rx_alloc_method |
, |
|
|
int |
, |
|
|
0644 |
|
|
) |
| |
module_param |
( |
rx_refill_threshold |
, |
|
|
uint |
, |
|
|
0444 |
|
|
) |
| |
MODULE_PARM_DESC |
( |
rx_alloc_method |
, |
|
|
"Allocation method used for RX buffers" |
|
|
) |
| |