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 --- |