Date: Fri, 29 Apr 2016 07:34:41 +0000 From: "sepherosa_gmail.com (Sepherosa Ziehau)" <phabric-noreply@FreeBSD.org> To: freebsd-net@freebsd.org Subject: [Differential] D6148: tcp/syncache: Add comment for syncache_respond Message-ID: <differential-rev-PHID-DREV-ergrrw76eskhond4myab-req@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
--b1_f358da633abeff90a6b0b3f25af87427 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit sepherosa_gmail.com created this revision. sepherosa_gmail.com added reviewers: network, adrian, rwatson, gnn, lstewart, glebius, delphij, mike-karels.net, jtl, hiren, sbruno, hselasky. sepherosa_gmail.com added a subscriber: freebsd-net-list. Herald added a reviewer: transport. REVISION SUMMARY Suggested by: hiren, hps REVISION DETAIL https://reviews.freebsd.org/D6148 AFFECTED FILES sys/netinet/tcp_syncache.c CHANGE DETAILS diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1505,6 +1505,10 @@ return (rv); } +/* + * Send SYN|ACK to the peer. Either in response to the peer's SYN, + * i.e. m0 != NULL, or upon 3WHS ACK timeout, i.e. m0 == NULL. + */ static int syncache_respond(struct syncache *sc, struct syncache_head *sch, int locked, const struct mbuf *m0) @@ -1688,6 +1692,11 @@ M_SETFIB(m, sc->sc_inc.inc_fibnum); m->m_pkthdr.csum_data = offsetof(struct tcphdr, th_sum); + /* + * If we have peer's SYN and it has a flowid, then let's assign it to + * our SYN|ACK. ip6_output() and ip_output() will not assign flowid + * to SYN|ACK due to lack of inp here. + */ if (m0 != NULL && M_HASHTYPE_GET(m0) != M_HASHTYPE_NONE) { m->m_pkthdr.flowid = m0->m_pkthdr.flowid; M_HASHTYPE_SET(m, M_HASHTYPE_GET(m0)); EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, network, transport, adrian, rwatson, gnn, lstewart, glebius, delphij, mike-karels.net, jtl, hiren, sbruno, hselasky Cc: freebsd-net-list --b1_f358da633abeff90a6b0b3f25af87427 Content-Type: text/x-patch; charset=utf-8; name="D6148.15728.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D6148.15728.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L3RjcF9zeW5jYWNoZS5jIGIvc3lzL25ldGluZXQvdGNw X3N5bmNhY2hlLmMKLS0tIGEvc3lzL25ldGluZXQvdGNwX3N5bmNhY2hlLmMKKysrIGIvc3lzL25l dGluZXQvdGNwX3N5bmNhY2hlLmMKQEAgLTE1MDUsNiArMTUwNSwxMCBAQAogCXJldHVybiAocnYp OwogfQogCisvKgorICogU2VuZCBTWU58QUNLIHRvIHRoZSBwZWVyLiAgRWl0aGVyIGluIHJlc3Bv bnNlIHRvIHRoZSBwZWVyJ3MgU1lOLAorICogaS5lLiBtMCAhPSBOVUxMLCBvciB1cG9uIDNXSFMg QUNLIHRpbWVvdXQsIGkuZS4gbTAgPT0gTlVMTC4KKyAqLwogc3RhdGljIGludAogc3luY2FjaGVf cmVzcG9uZChzdHJ1Y3Qgc3luY2FjaGUgKnNjLCBzdHJ1Y3Qgc3luY2FjaGVfaGVhZCAqc2NoLCBp bnQgbG9ja2VkLAogICAgIGNvbnN0IHN0cnVjdCBtYnVmICptMCkKQEAgLTE2ODgsNiArMTY5Miwx MSBAQAogCiAJTV9TRVRGSUIobSwgc2MtPnNjX2luYy5pbmNfZmlibnVtKTsKIAltLT5tX3BrdGhk ci5jc3VtX2RhdGEgPSBvZmZzZXRvZihzdHJ1Y3QgdGNwaGRyLCB0aF9zdW0pOworCS8qCisJICog SWYgd2UgaGF2ZSBwZWVyJ3MgU1lOIGFuZCBpdCBoYXMgYSBmbG93aWQsIHRoZW4gbGV0J3MgYXNz aWduIGl0IHRvCisJICogb3VyIFNZTnxBQ0suICBpcDZfb3V0cHV0KCkgYW5kIGlwX291dHB1dCgp IHdpbGwgbm90IGFzc2lnbiBmbG93aWQKKwkgKiB0byBTWU58QUNLIGR1ZSB0byBsYWNrIG9mIGlu cCBoZXJlLgorCSAqLwogCWlmIChtMCAhPSBOVUxMICYmIE1fSEFTSFRZUEVfR0VUKG0wKSAhPSBN X0hBU0hUWVBFX05PTkUpIHsKIAkJbS0+bV9wa3RoZHIuZmxvd2lkID0gbTAtPm1fcGt0aGRyLmZs b3dpZDsKIAkJTV9IQVNIVFlQRV9TRVQobSwgTV9IQVNIVFlQRV9HRVQobTApKTsKCg== --b1_f358da633abeff90a6b0b3f25af87427--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-ergrrw76eskhond4myab-req>