iflib.h (3e0e6330b52cb5af572ac2b5cda1199a32cbed4b) iflib.h (7f87c0406df8e22d6a76b2d1245043619b40e983)
1/*-
2 * Copyright (c) 2014-2017, Matthew Macy (mmacy@mattmacy.io)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 31 unchanged lines hidden (view full) ---

40
41/*
42 * The value type for indexing, limits max descriptors
43 * to 65535 can be conditionally redefined to uint32_t
44 * in the future if the need arises.
45 */
46typedef uint16_t qidx_t;
47#define QIDX_INVALID 0xFFFF
1/*-
2 * Copyright (c) 2014-2017, Matthew Macy (mmacy@mattmacy.io)
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright notice,

--- 31 unchanged lines hidden (view full) ---

40
41/*
42 * The value type for indexing, limits max descriptors
43 * to 65535 can be conditionally redefined to uint32_t
44 * in the future if the need arises.
45 */
46typedef uint16_t qidx_t;
47#define QIDX_INVALID 0xFFFF
48/*
49 * Most cards can handle much larger TSO requests
50 * but the FreeBSD TCP stack will break on larger
51 * values
52 */
53#define FREEBSD_TSO_SIZE_MAX 65518
54
48
55
56struct iflib_ctx;
57typedef struct iflib_ctx *if_ctx_t;
58struct if_shared_ctx;
59typedef struct if_shared_ctx *if_shared_ctx_t;
60struct if_int_delay_info;
61typedef struct if_int_delay_info *if_int_delay_info_t;
62struct if_pseudo;
63typedef struct if_pseudo *if_pseudo_t;

--- 147 unchanged lines hidden (view full) ---

211 /* is there such thing as a descriptor that is more than 248 bytes ? */
212 uint8_t isc_txd_size[8];
213 uint8_t isc_rxd_size[8];
214
215 int isc_tx_tso_segments_max;
216 int isc_tx_tso_size_max;
217 int isc_tx_tso_segsize_max;
218 int isc_tx_csum_flags;
49struct iflib_ctx;
50typedef struct iflib_ctx *if_ctx_t;
51struct if_shared_ctx;
52typedef struct if_shared_ctx *if_shared_ctx_t;
53struct if_int_delay_info;
54typedef struct if_int_delay_info *if_int_delay_info_t;
55struct if_pseudo;
56typedef struct if_pseudo *if_pseudo_t;

--- 147 unchanged lines hidden (view full) ---

204 /* is there such thing as a descriptor that is more than 248 bytes ? */
205 uint8_t isc_txd_size[8];
206 uint8_t isc_rxd_size[8];
207
208 int isc_tx_tso_segments_max;
209 int isc_tx_tso_size_max;
210 int isc_tx_tso_segsize_max;
211 int isc_tx_csum_flags;
212 int isc_capabilities;
219 int isc_capenable;
220 int isc_rss_table_size;
221 int isc_rss_table_mask;
222 int isc_nrxqsets_max;
223 int isc_ntxqsets_max;
224 uint32_t isc_tx_qdepth;
225
226 iflib_intr_mode_t isc_intr;

--- 10 unchanged lines hidden (view full) ---

237 * Initialization values for device
238 */
239struct if_shared_ctx {
240 unsigned isc_magic;
241 driver_t *isc_driver;
242 bus_size_t isc_q_align;
243 bus_size_t isc_tx_maxsize;
244 bus_size_t isc_tx_maxsegsize;
213 int isc_capenable;
214 int isc_rss_table_size;
215 int isc_rss_table_mask;
216 int isc_nrxqsets_max;
217 int isc_ntxqsets_max;
218 uint32_t isc_tx_qdepth;
219
220 iflib_intr_mode_t isc_intr;

--- 10 unchanged lines hidden (view full) ---

231 * Initialization values for device
232 */
233struct if_shared_ctx {
234 unsigned isc_magic;
235 driver_t *isc_driver;
236 bus_size_t isc_q_align;
237 bus_size_t isc_tx_maxsize;
238 bus_size_t isc_tx_maxsegsize;
239 bus_size_t isc_tso_maxsize;
240 bus_size_t isc_tso_maxsegsize;
245 bus_size_t isc_rx_maxsize;
246 bus_size_t isc_rx_maxsegsize;
247 int isc_rx_nsegments;
248 int isc_admin_intrcnt; /* # of admin/link interrupts */
249
250 /* fields necessary for probe */
251 pci_vendor_info_t *isc_vendor_info;
252 char *isc_driver_version;

--- 201 unchanged lines hidden ---
241 bus_size_t isc_rx_maxsize;
242 bus_size_t isc_rx_maxsegsize;
243 int isc_rx_nsegments;
244 int isc_admin_intrcnt; /* # of admin/link interrupts */
245
246 /* fields necessary for probe */
247 pci_vendor_info_t *isc_vendor_info;
248 char *isc_driver_version;

--- 201 unchanged lines hidden ---