111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** To edit the content of this header, modify the corresponding 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** source file (e.g. under external/kernel-headers/original/) then 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** run bionic/libc/kernel/tools/update_all.py 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** Any manual change here will be lost the next time this script will 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** be run. You've been warned! 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_VIRTIO_NET_H 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_VIRTIO_NET_H 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/virtio_ids.h> 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/virtio_config.h> 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/if_ether.h> 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CSUM 0 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_CSUM 1 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_MAC 5 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GSO 6 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_TSO4 7 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_TSO6 8 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_ECN 9 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_UFO 10 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_HOST_TSO4 11 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_HOST_TSO6 12 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_HOST_ECN 13 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_HOST_UFO 14 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_MRG_RXBUF 15 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_STATUS 16 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CTRL_VQ 17 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CTRL_RX 18 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CTRL_VLAN 19 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CTRL_RX_EXTRA 20 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_GUEST_ANNOUNCE 21 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_MQ 22 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_S_LINK_UP 1 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_S_ANNOUNCE 2 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_config { 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 mac[ETH_ALEN]; 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 status; 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 max_virtqueue_pairs; 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((packed)); 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_hdr { 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_F_DATA_VALID 2 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 flags; 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_GSO_NONE 0 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_GSO_TCPV4 1 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_GSO_UDP 3 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_GSO_TCPV6 4 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_HDR_GSO_ECN 0x80 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 gso_type; 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 hdr_len; 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 gso_size; 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 csum_start; 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 csum_offset; 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_hdr_mrg_rxbuf { 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct virtio_net_hdr hdr; 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 num_buffers; 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_ctrl_hdr { 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 class; 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 cmd; 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((packed)); 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef __u8 virtio_net_ctrl_ack; 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_OK 0 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_ERR 1 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX 0 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_PROMISC 0 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_ALLMULTI 1 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_ALLUNI 2 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_NOMULTI 3 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_NOUNI 4 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_RX_NOBCAST 5 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_ctrl_mac { 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 entries; 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 macs[][ETH_ALEN]; 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} __attribute__((packed)); 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MAC 1 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MAC_TABLE_SET 0 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MAC_ADDR_SET 1 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_VLAN 2 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_VLAN_ADD 0 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_VLAN_DEL 1 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_ANNOUNCE 3 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct virtio_net_ctrl_mq { 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 virtqueue_pairs; 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MQ 4 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET 0 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 127