17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 *
26 * xnb.h - definitions for Xen dom0 network driver
27 */
28
29 #ifndef _SYS_XNB_H
30 #define _SYS_XNB_H
31
32 #include <sys/types.h>
33 #include <sys/kstat.h>
34 #include <sys/stream.h>
35 #include <sys/ethernet.h>
36 #include <sys/hypervisor.h>
37 #include <xen/public/io/netif.h>
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 #define NET_TX_RING_SIZE __RING_SIZE((netif_tx_sring_t *)0, PAGESIZE)
44 #define NET_RX_RING_SIZE __RING_SIZE((netif_rx_sring_t *)0, PAGESIZE)
45
46 #define XNBMAXPKT 1500 /* MTU size */
47
48 /* DEBUG flags */
49 #define XNBDDI 0x01
50 #define XNBTRACE 0x02
51 #define XNBSEND 0x04
52 #define XNBRECV 0x08
53 #define XNBINTR 0x10
54 #define XNBRING 0x20
55 #define XNBCKSUM 0x40
56
57 #define XNB_STATE_INIT 0x01
58 #define XNB_STATE_READY 0x02
59
60 typedef struct xnb xnb_t;
61
62 /*
63 * The xnb module provides core inter-domain network protocol functionality.
64 * It is connected to the rest of Solaris in two ways:
|
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 *
26 * xnb.h - definitions for Xen dom0 network driver
27 */
28
29 #ifndef _SYS_XNB_H
30 #define _SYS_XNB_H
31
32 #include <sys/types.h>
33 #include <sys/kstat.h>
34 #include <sys/stream.h>
35 #include <sys/ethernet.h>
36 #include <sys/hypervisor.h>
37 #include <sys/sysmacros.h>
38 #include <xen/public/io/netif.h>
39
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43
44 #define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGESIZE)
45 #define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGESIZE)
46
47 #define XNBMAXPKT 1500 /* MTU size */
48
49 /* DEBUG flags */
50 #define XNBDDI 0x01
51 #define XNBTRACE 0x02
52 #define XNBSEND 0x04
53 #define XNBRECV 0x08
54 #define XNBINTR 0x10
55 #define XNBRING 0x20
56 #define XNBCKSUM 0x40
57
58 #define XNB_STATE_INIT 0x01
59 #define XNB_STATE_READY 0x02
60
61 typedef struct xnb xnb_t;
62
63 /*
64 * The xnb module provides core inter-domain network protocol functionality.
65 * It is connected to the rest of Solaris in two ways:
|