Applied, thanks. I had to fix it up a bit to not depend on patch 1,
and to compensate for word wrapping.
Steven.
> The correct kernel configuration for VMDq support is
> CONFIG_XEN_NETDEV2_VMQ, not CONFIG_XEN_NETDEV2_BACKEND.
>
> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx>
>
> diff -urpN a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
> --- a/drivers/net/ixgbe/ixgbe.h 2009-02-06 09:03:44.000000000 -0800
> +++ b/drivers/net/ixgbe/ixgbe.h 2009-02-10 14:32:57.000000000 -0800
> @@ -35,7 +35,7 @@
> #include <linux/pci.h>
> #include <linux/netdevice.h>
> #include <linux/vmalloc.h>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> #include <linux/netvmq.h>
> #endif
>
> @@ -423,7 +423,7 @@ struct ixgbe_adapter {
> unsigned int lro_flushed;
> unsigned int lro_no_desc;
> #endif
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> struct net_vmq *vmq;
> u32 rx_queues_allocated;
> #endif
> diff -urpN a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
> --- a/drivers/net/ixgbe/ixgbe_main.c 2009-02-10 14:15:53.000000000 -0800
> +++ b/drivers/net/ixgbe/ixgbe_main.c 2009-02-10 14:32:47.000000000 -0800
> @@ -431,7 +431,7 @@ static void ixgbe_receive_skb(struct ixg
> bool is_vlan = (status & IXGBE_RXD_STAT_VP);
> u16 tag = le16_to_cpu(rx_desc->wb.upper.vlan);
>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) && ring->queue_index) {
> /* This is a VMDq packet destined for a VM. */
> vmq_netif_rx(skb, ring->queue_index);
> @@ -519,7 +519,7 @@ static inline void ixgbe_rx_checksum(str
> skb->ip_summed = CHECKSUM_UNNECESSARY;
> adapter->hw_csum_rx_good++;
>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED)
> skb->proto_data_valid = 1;
> #endif
> @@ -567,7 +567,7 @@ static void ixgbe_alloc_rx_buffers(struc
>
> if (!bi->skb) {
> struct sk_buff *skb;
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) &&
> rx_ring->queue_index) {
> skb = vmq_alloc_skb(adapter->netdev,
> @@ -604,7 +604,7 @@ static void ixgbe_alloc_rx_buffers(struc
> bi->skb = skb;
> bi->dma = pci_map_single(pdev, skb->data, bufsz,
> PCI_DMA_FROMDEVICE);
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> }
> #endif
> }
> @@ -1056,7 +1056,7 @@ static bool ixgbe_clean_rx_irq(struct ix
> cleaned = true;
> skb = rx_buffer_info->skb;
> rx_buffer_info->skb = NULL;
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) &&
> rx_ring->queue_index) {
> /* for Xen VMDq, packet data goes in first page of
> @@ -1132,7 +1132,7 @@ static bool ixgbe_clean_rx_irq(struct ix
> /* probably a little skewed due to removing CRC */
> total_rx_bytes += skb->len;
> total_rx_packets++;
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if (skb->data)
> #endif
> skb->protocol = eth_type_trans(skb, adapter->netdev);
> @@ -2276,7 +2276,7 @@ static void ixgbe_configure_rx(struct ix
> adapter->rx_ring[i].head = IXGBE_RDH(j);
> adapter->rx_ring[i].tail = IXGBE_RDT(j);
>
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) {
> /* Reserve VMDq set 1 for FCoE, using 3k buffers */
> if ((i & adapter->ring_feature[RING_F_VMDQ].mask) == 1)
> @@ -2288,7 +2288,7 @@ static void ixgbe_configure_rx(struct ix
> }
> #else
> adapter->rx_ring[i].rx_buf_len = rx_buf_len;
> -#endif /* CONFIG_XEN_NETDEV2_BACKEND */
> +#endif /* CONFIG_XEN_NETDEV2_VMQ */
>
> #ifndef IXGBE_NO_INET_LRO
> /* Intitial LRO Settings */
> @@ -2462,7 +2462,7 @@ static void ixgbe_restore_vlan(struct ix
> }
>
> #endif
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> /**
> * compare_ether_oui - Compare two OUIs
> * @addr1: pointer to a 6 byte array containing an Ethernet address
> @@ -2491,11 +2491,11 @@ static inline int is_fcoe_ether_addr(con
> static const u8 fcoe_oui[] = { 0x0e, 0xfc, 0x00 };
> return compare_ether_oui(addr, fcoe_oui) == 0;
> }
> -#endif /* CONFIG_XEN_NETDEV2_BACKEND */
> +#endif /* CONFIG_XEN_NETDEV2_VMQ */
>
> static u8 *ixgbe_addr_list_itr(struct ixgbe_hw *hw, u8 **mc_addr_ptr,
> u32 *vmdq)
> {
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> struct ixgbe_adapter *adapter = hw->back;
> #endif
> struct dev_mc_list *mc_ptr;
> @@ -2507,7 +2507,7 @@ static u8 *ixgbe_addr_list_itr(struct ix
> *mc_addr_ptr = mc_ptr->next->dmi_addr;
> else
> *mc_addr_ptr = NULL;
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) {
> /* VMDQ set 1 is used for FCoE */
> if (adapter->ring_feature[RING_F_VMDQ].indices)
> @@ -2904,7 +2904,7 @@ static void ixgbe_clean_rx_ring(struct i
>
> rx_buffer_info = &rx_ring->rx_buffer_info[i];
> if (rx_buffer_info->skb) {
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) &&
> rx_ring->queue_index) {
> pci_unmap_page(pdev, rx_buffer_info->dma,
> @@ -3870,7 +3870,7 @@ int ixgbe_setup_rx_resources(struct ixgb
> rx_ring->work_limit = rx_ring->count / 2;
> #endif
>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) &&
> rx_ring->queue_index) {
> rx_ring->active = 0;
> @@ -3879,7 +3879,7 @@ int ixgbe_setup_rx_resources(struct ixgb
> #endif
> rx_ring->active = 1;
> rx_ring->allocated = 1;
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> }
> #endif
>
> @@ -4002,7 +4002,7 @@ static int ixgbe_setup_all_rx_resources(
> DPRINTK(PROBE, ERR, "Allocation for Rx Queue %u failed\n", i);
> break;
> }
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> adapter->rx_queues_allocated = 0;
> #endif
> return err;
> @@ -4048,7 +4048,7 @@ static int ixgbe_change_mtu(struct net_d
> if ((new_mtu < 68) || (max_frame > IXGBE_MAX_JUMBO_FRAME_SIZE))
> return -EINVAL;
>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> /* Jumbo frames not currently supported in VMDq mode under Xen */
> if ((adapter->flags & IXGBE_FLAG_VMDQ_ENABLED) &&
> (max_frame > ETH_FRAME_LEN))
> @@ -4960,7 +4960,7 @@ static int ixgbe_ioctl(struct net_device
>
> #endif
>
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> int ixgbe_get_avail_queues(struct net_device *netdev, unsigned int
> queue_type)
> {
> struct ixgbe_adapter *adapter = netdev_priv(netdev);
> @@ -5142,7 +5142,7 @@ static void ixgbe_setup_vmq(struct ixgbe
> adapter->netdev->vmq = vmq;
> }
> }
> -#endif /* CONFIG_XEN_NETDEV2_BACKEND */
> +#endif /* CONFIG_XEN_NETDEV2_VMQ */
>
> #ifdef CONFIG_NET_POLL_CONTROLLER
> /*
> @@ -5442,7 +5442,7 @@ static int __devinit ixgbe_probe(struct
>
> #endif
> strcpy(netdev->name, "eth%d");
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED)
> ixgbe_setup_vmq(adapter);
> #endif
> @@ -5450,7 +5450,7 @@ static int __devinit ixgbe_probe(struct
> if (err)
> goto err_register;
>
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED)
> ixgbe_sysfs_create(adapter);
> #endif
> @@ -5563,14 +5563,14 @@ static void __devexit ixgbe_remove(struc
> }
>
> #endif
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if (netdev->vmq) {
> free_vmq(netdev->vmq);
> netdev->vmq = 0;
> }
> #endif
>
> -#ifndef CONFIG_XEN_NETDEV2_BACKEND
> +#ifndef CONFIG_XEN_NETDEV2_VMQ
> if (adapter->flags & IXGBE_FLAG_VMDQ_ENABLED)
> ixgbe_sysfs_remove(adapter);
> #endif
> diff -urpN a/drivers/net/ixgbe/ixgbe_param.c b/drivers/net/ixgbe/ixgbe_param.c
> --- a/drivers/net/ixgbe/ixgbe_param.c 2009-02-10 14:15:35.000000000 -0800
> +++ b/drivers/net/ixgbe/ixgbe_param.c 2009-02-10 14:32:40.000000000 -0800
> @@ -723,7 +723,7 @@ void __devinit ixgbe_check_options(struc
> adapter->flags |= IXGBE_FLAG_RX_PS_CAPABLE;
> }
> #endif
> -#ifdef CONFIG_XEN_NETDEV2_BACKEND
> +#ifdef CONFIG_XEN_NETDEV2_VMQ
> if ((adapter->flags &
> (IXGBE_FLAG_RX_PS_CAPABLE | IXGBE_FLAG_VMDQ_ENABLED)) ==
> (IXGBE_FLAG_RX_PS_CAPABLE | IXGBE_FLAG_VMDQ_ENABLED)) {
signature.asc
Description: Digital signature
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|