include/xen/interface/io/netif.h
Source file repositories/reference/linux-study-clean/include/xen/interface/io/netif.h
File Facts
- System
- Linux kernel
- Corpus path
include/xen/interface/io/netif.h- Extension
.h- Size
- 34550 bytes
- Lines
- 941
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
ring.h../grant_table.h
Detected Declarations
struct xen_netif_ctrl_requeststruct xen_netif_ctrl_responsestruct xen_netif_tx_requeststruct xen_netif_extra_infostruct xen_netif_tx_responsestruct xen_netif_rx_requeststruct xen_netif_rx_responsefunction Copyright
Annotated Snippet
struct xen_netif_ctrl_request {
uint16_t id;
uint16_t type;
#define XEN_NETIF_CTRL_TYPE_INVALID 0
#define XEN_NETIF_CTRL_TYPE_GET_HASH_FLAGS 1
#define XEN_NETIF_CTRL_TYPE_SET_HASH_FLAGS 2
#define XEN_NETIF_CTRL_TYPE_SET_HASH_KEY 3
#define XEN_NETIF_CTRL_TYPE_GET_HASH_MAPPING_SIZE 4
#define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING_SIZE 5
#define XEN_NETIF_CTRL_TYPE_SET_HASH_MAPPING 6
#define XEN_NETIF_CTRL_TYPE_SET_HASH_ALGORITHM 7
uint32_t data[3];
};
/*
* Control responses (struct xen_netif_ctrl_response)
* ==================================================
*
* All responses have the following format:
*
* 0 1 2 3 4 5 6 7 octet
* +-----+-----+-----+-----+-----+-----+-----+-----+
* | id | type | status |
* +-----+-----+-----+-----+-----+-----+-----+-----+
* | data |
* +-----+-----+-----+-----+
*
* id: the corresponding request identifier
* type: the type of the corresponding request
* status: the status of request processing
* data: any data associated with the response (determined by type and
* status)
*/
struct xen_netif_ctrl_response {
uint16_t id;
uint16_t type;
uint32_t status;
#define XEN_NETIF_CTRL_STATUS_SUCCESS 0
#define XEN_NETIF_CTRL_STATUS_NOT_SUPPORTED 1
#define XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER 2
#define XEN_NETIF_CTRL_STATUS_BUFFER_OVERFLOW 3
uint32_t data;
};
/*
* Control messages
* ================
*
* XEN_NETIF_CTRL_TYPE_SET_HASH_ALGORITHM
* --------------------------------------
*
* This is sent by the frontend to set the desired hash algorithm.
*
* Request:
*
* type = XEN_NETIF_CTRL_TYPE_SET_HASH_ALGORITHM
* data[0] = a XEN_NETIF_CTRL_HASH_ALGORITHM_* value
* data[1] = 0
* data[2] = 0
*
* Response:
*
* status = XEN_NETIF_CTRL_STATUS_NOT_SUPPORTED - Operation not
* supported
* XEN_NETIF_CTRL_STATUS_INVALID_PARAMETER - The algorithm is not
* supported
* XEN_NETIF_CTRL_STATUS_SUCCESS - Operation successful
*
* NOTE: Setting data[0] to XEN_NETIF_CTRL_HASH_ALGORITHM_NONE disables
* hashing and the backend is free to choose how it steers packets
* to queues (which is the default behaviour).
*
* XEN_NETIF_CTRL_TYPE_GET_HASH_FLAGS
* ----------------------------------
*
* This is sent by the frontend to query the types of hash supported by
* the backend.
*
* Request:
*
* type = XEN_NETIF_CTRL_TYPE_GET_HASH_FLAGS
* data[0] = 0
* data[1] = 0
* data[2] = 0
*
Annotation
- Immediate include surface: `ring.h`, `../grant_table.h`.
- Detected declarations: `struct xen_netif_ctrl_request`, `struct xen_netif_ctrl_response`, `struct xen_netif_tx_request`, `struct xen_netif_extra_info`, `struct xen_netif_tx_response`, `struct xen_netif_rx_request`, `struct xen_netif_rx_response`, `function Copyright`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.