On Thu, Aug 25, 2016 at 2:43 AM, Sugesh Chandran
<sugesh.chand...@intel.com> wrote:
> diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
> index 6d334db..46c4045 100644
> --- a/lib/netdev-dpdk.c
> +++ b/lib/netdev-dpdk.c
>  static void
> +dpdk_eth_checksum_offload_configure(struct netdev_dpdk *dev)
> +    OVS_REQUIRES(dev->mutex)
> +{
> +    struct rte_eth_dev_info info;
> +    bool rx_csum_ol_flag = false;
> +    uint32_t rx_chksm_offload_capa = DEV_RX_OFFLOAD_UDP_CKSUM |
> +                                     DEV_RX_OFFLOAD_TCP_CKSUM |
> +                                     DEV_RX_OFFLOAD_IPV4_CKSUM;
> +    rte_eth_dev_info_get(dev->port_id, &info);
> +    rx_csum_ol_flag = (dev->hw_ol_features & NETDEV_RX_CHECKSUM_OFFLOAD) != 
> 0;
> +
> +    if (rx_csum_ol_flag &&
> +        (info.rx_offload_capa & rx_chksm_offload_capa) !=
> +         rx_chksm_offload_capa) {
> +        VLOG_WARN("Failed to enable Rx checksum offload on device %d",
> +                   dev->port_id);
> +        dev->hw_ol_features &= ~NETDEV_RX_CHECKSUM_OFFLOAD;
> +    }
> +    netdev_request_reconfigure(&dev->up);
> +}

Sorry :) I noticed one more thing.

I think that if the device doesn't support checksum offload then we
will continuously try to reconfigure the device, which I'm guessing is
relatively expensive. I think this would happen every time that
ovs-vswitchd wakes up. Are those assumptions correct? If so, that
seems like a problem even if such devices are probably fairly rare to
be used with DPDK.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to