Revision f54c7bdc

b/net.c
46 46
#include <net/if_tap.h>
47 47
#endif
48 48
#ifdef __linux__
49
#include "tap-linux.h"
49
#include "net/tap-linux.h"
50 50
#endif
51 51
#include <arpa/inet.h>
52 52
#include <dirent.h>
b/net/tap-linux.h
1
/*
2
 *  Universal TUN/TAP device driver.
3
 *  Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
4
 *
5
 *  This program is free software; you can redistribute it and/or modify
6
 *  it under the terms of the GNU General Public License as published by
7
 *  the Free Software Foundation; either version 2 of the License, or
8
 *  (at your option) any later version.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 *  GNU General Public License for more details.
14
 */
15

  
16
#ifndef QEMU_TAP_H
17
#define QEMU_TAP_H
18

  
19
#include <stdint.h>
20
#include <linux/ioctl.h>
21

  
22
/* Ioctl defines */
23
#define TUNSETIFF     _IOW('T', 202, int)
24
#define TUNGETFEATURES _IOR('T', 207, unsigned int)
25
#define TUNSETOFFLOAD  _IOW('T', 208, unsigned int)
26
#define TUNGETIFF      _IOR('T', 210, unsigned int)
27
#define TUNSETSNDBUF   _IOW('T', 212, int)
28

  
29
/* TUNSETIFF ifr flags */
30
#define IFF_TAP		0x0002
31
#define IFF_NO_PI	0x1000
32
#define IFF_VNET_HDR	0x4000
33

  
34
/* Features for GSO (TUNSETOFFLOAD). */
35
#define TUN_F_CSUM	0x01	/* You can hand me unchecksummed packets. */
36
#define TUN_F_TSO4	0x02	/* I can handle TSO for IPv4 packets */
37
#define TUN_F_TSO6	0x04	/* I can handle TSO for IPv6 packets */
38
#define TUN_F_TSO_ECN	0x08	/* I can handle TSO with ECN bits. */
39
#define TUN_F_UFO	0x10	/* I can handle UFO packets */
40

  
41
struct virtio_net_hdr
42
{
43
    uint8_t flags;
44
    uint8_t gso_type;
45
    uint16_t hdr_len;
46
    uint16_t gso_size;
47
    uint16_t csum_start;
48
    uint16_t csum_offset;
49
};
50

  
51
#endif /* QEMU_TAP_H */
/dev/null
1
/*
2
 *  Universal TUN/TAP device driver.
3
 *  Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
4
 *
5
 *  This program is free software; you can redistribute it and/or modify
6
 *  it under the terms of the GNU General Public License as published by
7
 *  the Free Software Foundation; either version 2 of the License, or
8
 *  (at your option) any later version.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
 *  GNU General Public License for more details.
14
 */
15

  
16
#ifndef QEMU_TAP_H
17
#define QEMU_TAP_H
18

  
19
#include <stdint.h>
20
#include <linux/ioctl.h>
21

  
22
/* Ioctl defines */
23
#define TUNSETIFF     _IOW('T', 202, int)
24
#define TUNGETFEATURES _IOR('T', 207, unsigned int)
25
#define TUNSETOFFLOAD  _IOW('T', 208, unsigned int)
26
#define TUNGETIFF      _IOR('T', 210, unsigned int)
27
#define TUNSETSNDBUF   _IOW('T', 212, int)
28

  
29
/* TUNSETIFF ifr flags */
30
#define IFF_TAP		0x0002
31
#define IFF_NO_PI	0x1000
32
#define IFF_VNET_HDR	0x4000
33

  
34
/* Features for GSO (TUNSETOFFLOAD). */
35
#define TUN_F_CSUM	0x01	/* You can hand me unchecksummed packets. */
36
#define TUN_F_TSO4	0x02	/* I can handle TSO for IPv4 packets */
37
#define TUN_F_TSO6	0x04	/* I can handle TSO for IPv6 packets */
38
#define TUN_F_TSO_ECN	0x08	/* I can handle TSO with ECN bits. */
39
#define TUN_F_UFO	0x10	/* I can handle UFO packets */
40

  
41
struct virtio_net_hdr
42
{
43
    uint8_t flags;
44
    uint8_t gso_type;
45
    uint16_t hdr_len;
46
    uint16_t gso_size;
47
    uint16_t csum_start;
48
    uint16_t csum_offset;
49
};
50

  
51
#endif /* QEMU_TAP_H */

Also available in: Unified diff