Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Dec 2008 06:22:08 GMT
From:      Qing Li <qingli@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 154385 for review
Message-ID:  <200812090622.mB96M8wQ093439@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=154385

Change 154385 by qingli@FreeBSD-newarp on 2008/12/09 06:21:32

	fixed loopback issue
	
	unit test: 	ping 127.0.0.1
			telnet 127.0.0.1
			telnet -6 fe80::20f:1fff:fexx:xxxx%bge0

Affected files ...

.. //depot/projects/arp-v2/src/sys/net/if_ethersubr.c#6 edit

Differences ...

==== //depot/projects/arp-v2/src/sys/net/if_ethersubr.c#6 (text+ko) ====

@@ -287,8 +287,16 @@
 		senderr(EAFNOSUPPORT);
 	}
 
-	if (lle && (lle->la_flags & LLE_IFADDR) && useloopback)
+	if (lle && (lle->la_flags & LLE_IFADDR) && useloopback) {
+		int csum_flags = 0;
+		if (m->m_pkthdr.csum_flags & CSUM_IP)
+			csum_flags |= (CSUM_IP_CHECKED|CSUM_IP_VALID);
+		if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA)
+			csum_flags |= (CSUM_DATA_VALID|CSUM_PSEUDO_HDR);
+		m->m_pkthdr.csum_flags |= csum_flags;
+		m->m_pkthdr.csum_data = 0xffff;
 		return (if_simloop(ifp, m, dst->sa_family, 0));
+	}
 
 	/*
 	 * Add local net header.  If no space in first mbuf,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812090622.mB96M8wQ093439>