svn commit: r188486 - user/dfr/xenhvm/6/sys/dev/xen/netfront
Doug Rabson
dfr at FreeBSD.org
Wed Feb 11 07:55:02 PST 2009
Author: dfr
Date: Wed Feb 11 15:55:01 2009
New Revision: 188486
URL: http://svn.freebsd.org/changeset/base/188486
Log:
Enable checksum offload.
Modified:
user/dfr/xenhvm/6/sys/dev/xen/netfront/netfront.c
Modified: user/dfr/xenhvm/6/sys/dev/xen/netfront/netfront.c
==============================================================================
--- user/dfr/xenhvm/6/sys/dev/xen/netfront/netfront.c Wed Feb 11 15:22:01 2009 (r188485)
+++ user/dfr/xenhvm/6/sys/dev/xen/netfront/netfront.c Wed Feb 11 15:55:01 2009 (r188486)
@@ -76,6 +76,8 @@ __FBSDID("$FreeBSD$");
#include "xenbus_if.h"
+#define XN_CSUM_FEATURES (CSUM_TCP | CSUM_UDP)
+
#define GRANT_INVALID_REF 0
#define NET_TX_RING_SIZE __RING_SIZE((netif_tx_sring_t *)0, PAGE_SIZE)
@@ -493,11 +495,6 @@ talk_to_backend(device_t dev, struct net
message = "writing feature-rx-notify";
goto abort_transaction;
}
- err = xenbus_printf(xbt, node, "feature-no-csum-offload", "%d", 1);
- if (err) {
- message = "writing feature-no-csum-offload";
- goto abort_transaction;
- }
err = xenbus_printf(xbt, node, "feature-sg", "%d", 1);
if (err) {
message = "writing feature-sg";
@@ -1366,10 +1363,10 @@ xn_start_locked(struct ifnet *ifp)
mfn, GNTMAP_readonly);
tx->gref = sc->grant_tx_ref[id] = ref;
tx->size = new_m->m_pkthdr.len;
-#if 0
- tx->flags = (skb->ip_summed == CHECKSUM_HW) ? NETTXF_csum_blank : 0;
-#endif
- tx->flags = 0;
+ if (new_m->m_pkthdr.csum_flags & CSUM_DELAY_DATA)
+ tx->flags = NETTXF_csum_blank | NETTXF_data_validated;
+ else
+ tx->flags = 0;
new_m->m_next = NULL;
new_m->m_nextpkt = NULL;
@@ -1734,11 +1731,9 @@ create_netdev(device_t dev)
ifp->if_mtu = ETHERMTU;
ifp->if_snd.ifq_maxlen = NET_TX_RING_SIZE - 1;
-#ifdef notyet
ifp->if_hwassist = XN_CSUM_FEATURES;
ifp->if_capabilities = IFCAP_HWCSUM;
ifp->if_capenable = ifp->if_capabilities;
-#endif
ether_ifattach(ifp, np->mac);
callout_init(&np->xn_stat_ch, CALLOUT_MPSAFE);
More information about the svn-src-user
mailing list