[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [GIT/PATCH v5] xen network backend driver



Le lundi 14 mars 2011 Ã 14:27 +0000, Ian Campbell a Ãcrit :

...

> +struct xenvif {
> +     /* Unique identifier for this interface. */
> +     domid_t          domid;
> +     unsigned int     handle;
> +
> +     /* Reference to netback processing backend. */
> +     struct xen_netbk *netbk;
> +
> +     u8               fe_dev_addr[6];
> +
> +     /* Physical parameters of the comms window. */
> +     grant_handle_t   tx_shmem_handle;
> +     grant_ref_t      tx_shmem_ref;
> +     grant_handle_t   rx_shmem_handle;
> +     grant_ref_t      rx_shmem_ref;
> +     unsigned int     irq;
> +
> +     /* List of frontends to notify after a batch of frames sent. */
> +     struct list_head notify_list;
> +
> +     /* The shared rings and indexes. */
> +     struct xen_netif_tx_back_ring tx;
> +     struct xen_netif_rx_back_ring rx;
> +     struct vm_struct *tx_comms_area;
> +     struct vm_struct *rx_comms_area;
> +
> +     /* Flags that must not be set in dev->features */
> +     u32 features_disabled;
> +
> +     /* Frontend feature information. */
> +     u8 can_sg:1;
> +     u8 gso:1;
> +     u8 gso_prefix:1;
> +     u8 csum:1;
> +
> +     /* Internal feature information. */
> +     u8 can_queue:1;     /* can queue packets for receiver? */
> +
> +     /*
> +      * Allow xenvif_start_xmit() to peek ahead in the rx request
> +      * ring.  This is a prediction of what rx_req_cons will be
> +      * once all queued skbs are put on the ring.
> +      */
> +     RING_IDX rx_req_cons_peek;
> +
> +     /* Transmit shaping: allow 'credit_bytes' every 'credit_usec'. */
> +     unsigned long   credit_bytes;
> +     unsigned long   credit_usec;
> +     unsigned long   remaining_credit;
> +     struct timer_list credit_timeout;
> +
> +     /* Statistics */
> +     unsigned long rx_gso_checksum_fixup;

this is an "unsigned long" field

> +
> +     /* Miscellaneous private stuff. */
> +     struct list_head schedule_list;
> +     atomic_t         refcnt;
> +     struct net_device *dev;
> +
> +     wait_queue_head_t waiting_to_free;
> +};
> +


> +static void xenvif_get_ethtool_stats(struct net_device *dev,
> +                                  struct ethtool_stats *stats, u64 * data)
> +{
> +     void *vif = netdev_priv(dev);
> +     int i;
> +
> +     for (i = 0; i < ARRAY_SIZE(xenvif_stats); i++)
> +             data[i] = *(int *)(vif + xenvif_stats[i].offset);

so use : data[i] = *(unsigned long *)(vif + xenvif_stats[i].offset);

> +}
> +




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.