Date: Wed, 11 Feb 2009 15:55:01 +0000 (UTC) From: Doug Rabson <dfr@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r188486 - user/dfr/xenhvm/6/sys/dev/xen/netfront Message-ID: <200902111555.n1BFt1Ad029807@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902111555.n1BFt1Ad029807>