On Sat, 2010-09-25 at 12:27 +0800, xiaohui....@intel.com wrote:
[...]
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 264137f..636f11b 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -2468,6 +2468,55 @@ void netif_nit_deliver(struct sk_buff *skb)
>       rcu_read_unlock();
>  }
>  
> +/* To support meidate passthru(zero-copy) with NIC driver,
> + * we'd better query NIC driver for the capability it can
> + * provide, especially for packet split mode, now we only
> + * query for the header size, and the payload a descriptor
> + * may carry. If a driver does not use the API to export,
> + * then we may try to use a default value, currently,
> + * we use the default value from an IGB driver. Now,
> + * it's only called by mpassthru device.
> + */
> +#if defined(CONFIG_MEDIATE_PASSTHRU) || 
> defined(CONFIG_MEDIATE_PASSTHRU_MODULE)
> +int netdev_mp_port_prep(struct net_device *dev,
> +             struct mpassthru_port *port)
> +{
> +     int rc;
> +     int npages, data_len;
> +     const struct net_device_ops *ops = dev->netdev_ops;
> +
> +     if (ops->ndo_mp_port_prep) {
> +             rc = ops->ndo_mp_port_prep(dev, port);
> +             if (rc)
> +                     return rc;
> +     } else {
> +             /* If the NIC driver did not report this,
> +              * then we try to use default value.
> +              */
> +             port->hdr_len = 128;
> +             port->data_len = 2048;
> +             port->npages = 1;
> +     }
[...]

Is it really necessary to have a default?

Also have you considered an API for changing the header/data split?

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to