X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fxen%2Fnetback%2Fcommon.h;h=f57e3304c24259e8f14d404f52359027987d3a28;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=6ed47e427de20ea606c29091f3c7576f2946d99b;hpb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;p=linux-2.6.git diff --git a/drivers/xen/netback/common.h b/drivers/xen/netback/common.h index 6ed47e427..f57e3304c 100644 --- a/drivers/xen/netback/common.h +++ b/drivers/xen/netback/common.h @@ -92,6 +92,9 @@ typedef struct netif_st { unsigned long remaining_credit; struct timer_list credit_timeout; + /* Enforce draining of the transmit queue. */ + struct timer_list tx_queue_timeout; + /* Miscellaneous private stuff. */ struct list_head list; /* scheduling list */ atomic_t refcnt; @@ -106,7 +109,7 @@ typedef struct netif_st { void netif_disconnect(netif_t *netif); -netif_t *netif_alloc(domid_t domid, unsigned int handle, u8 be_mac[ETH_ALEN]); +netif_t *netif_alloc(domid_t domid, unsigned int handle); int netif_map(netif_t *netif, unsigned long tx_ring_ref, unsigned long rx_ring_ref, unsigned int evtchn); @@ -119,12 +122,14 @@ int netif_map(netif_t *netif, unsigned long tx_ring_ref, void netif_xenbus_init(void); +#define netif_schedulable(dev) (netif_running(dev) && netif_carrier_ok(dev)) + void netif_schedule_work(netif_t *netif); void netif_deschedule_work(netif_t *netif); int netif_be_start_xmit(struct sk_buff *skb, struct net_device *dev); struct net_device_stats *netif_be_get_stats(struct net_device *dev); -irqreturn_t netif_be_int(int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t netif_be_int(int irq, void *dev_id); static inline int netbk_can_queue(struct net_device *dev) {