diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-09-26 05:29:39 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-09-26 05:29:39 +0000 |
commit | 3d2b6bb54b8a411bb970da8c076cad33f16eba7a (patch) | |
tree | c6c485e78e0fbd30ce865ac6ee34c847120931a3 /sys/xen/interface/io/netif.h | |
parent | 966196697e0d67be61d85d4d9f9039a772c7cc2c (diff) | |
download | FreeBSD-src-3d2b6bb54b8a411bb970da8c076cad33f16eba7a.zip FreeBSD-src-3d2b6bb54b8a411bb970da8c076cad33f16eba7a.tar.gz |
Update xen/interface includes to the latest in mercurial
MFC after: 1 month
Diffstat (limited to 'sys/xen/interface/io/netif.h')
-rw-r--r-- | sys/xen/interface/io/netif.h | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/sys/xen/interface/io/netif.h b/sys/xen/interface/io/netif.h index a2e885c..fbb5c27 100644 --- a/sys/xen/interface/io/netif.h +++ b/sys/xen/interface/io/netif.h @@ -75,9 +75,11 @@ struct netif_tx_request { typedef struct netif_tx_request netif_tx_request_t; /* Types of netif_extra_info descriptors. */ -#define XEN_NETIF_EXTRA_TYPE_NONE (0) /* Never used - invalid */ -#define XEN_NETIF_EXTRA_TYPE_GSO (1) /* u.gso */ -#define XEN_NETIF_EXTRA_TYPE_MAX (2) +#define XEN_NETIF_EXTRA_TYPE_NONE (0) /* Never used - invalid */ +#define XEN_NETIF_EXTRA_TYPE_GSO (1) /* u.gso */ +#define XEN_NETIF_EXTRA_TYPE_MCAST_ADD (2) /* u.mcast */ +#define XEN_NETIF_EXTRA_TYPE_MCAST_DEL (3) /* u.mcast */ +#define XEN_NETIF_EXTRA_TYPE_MAX (4) /* netif_extra_info flags. */ #define _XEN_NETIF_EXTRA_FLAG_MORE (0) @@ -95,6 +97,9 @@ struct netif_extra_info { uint8_t flags; /* XEN_NETIF_EXTRA_FLAG_* */ union { + /* + * XEN_NETIF_EXTRA_TYPE_GSO: + */ struct { /* * Maximum payload size of each segment. For example, for TCP this @@ -118,9 +123,25 @@ struct netif_extra_info { uint16_t features; /* XEN_NETIF_GSO_FEAT_* */ } gso; + /* + * XEN_NETIF_EXTRA_TYPE_MCAST_{ADD,DEL}: + * Backend advertises availability via 'feature-multicast-control' + * xenbus node containing value '1'. + * Frontend requests this feature by advertising + * 'request-multicast-control' xenbus node containing value '1'. + * If multicast control is requested then multicast flooding is + * disabled and the frontend must explicitly register its interest + * in multicast groups using dummy transmit requests containing + * MCAST_{ADD,DEL} extra-info fragments. + */ + struct { + uint8_t addr[6]; /* Address to add/remove. */ + } mcast; + uint16_t pad[3]; } u; }; +typedef struct netif_extra_info netif_extra_info_t; struct netif_tx_response { uint16_t id; |