Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jul 2001 23:19:57 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        <arch@freebsd.org>, <net@freebsd.org>
Subject:   TCP sequence numbers: RFC1948 patch ready for testing
Message-ID:  <20010724230813.A31803-200000@achilles.silby.com>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-155072002-996034797=:31803
Content-Type: TEXT/PLAIN; charset=US-ASCII


Hello all, the RFC1948-like sequence number generation patch is ready for
testing.  The patch included will apply cleanly to both a recent -current
and a recent -stable.  I've spent a good deal of time looking at tcpdump
logs, and it looks good to me.

Please test and review this if you feel comfortable doing so.  If you do
not feel comfortable doing so, please simply test it instead.  :)

When testing, please try both with net.inet.tcp.tcp_seq_genscheme set to 0
and 1.  0 Uses the RFC1948 scheme for generating all ISNs, 1 uses RFC1948
only for outgoing SYN; SYN-ACKs are filled with random values instead.
I'd like to leave this selectable, with the default to 1.  1 is slightly
faster, while 0 may feel more comfortable to some users.

Both schemes should work equally well, so please test both.

I've changed the RFC1948 algorithm slightly, by adding a random offset.
Please look this over carefully when reviewing.  Note that this patch is
_functionally_ complete, but does not yet remove cruft from other
generation schemes; I will do this in the final version of the patch.

Enjoy!

Mike "Silby" Silbersack

--0-155072002-996034797=:31803
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rfc1948seq.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20010724231957.R31803@achilles.silby.com>
Content-Description: 
Content-Disposition: attachment; filename="rfc1948seq.patch"

ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfaW5wdXQuYyBuZXRpbmV0L3Rj
cF9pbnB1dC5jDQotLS0gbmV0aW5ldC5vbGQvdGNwX2lucHV0LmMJVGh1IEp1
bCAxOSAyMDo0NTowMSAyMDAxDQorKysgbmV0aW5ldC90Y3BfaW5wdXQuYwlG
cmkgSnVsIDIwIDIyOjM4OjE4IDIwMDENCkBAIC0xMTM1LDcgKzExMzUsNyBA
QA0KIAkJaWYgKGlzcykNCiAJCQl0cC0+aXNzID0gaXNzOw0KIAkJZWxzZSB7
DQotCQkJdHAtPmlzcyA9IHRjcF9uZXdfaXNuKCk7DQorCQkJdHAtPmlzcyA9
IHRjcF9uZXdfaXNuKHRwKTsNCiAgCQl9DQogCQl0cC0+aXJzID0gdGgtPnRo
X3NlcTsNCiAJCXRjcF9zZW5kc2VxaW5pdCh0cCk7DQpAQCAtMTY2Nyw3ICsx
NjY3LDcgQEANCiAJCQlpZiAodGhmbGFncyAmIFRIX1NZTiAmJg0KIAkJCSAg
ICB0cC0+dF9zdGF0ZSA9PSBUQ1BTX1RJTUVfV0FJVCAmJg0KIAkJCSAgICBT
RVFfR1QodGgtPnRoX3NlcSwgdHAtPnJjdl9ueHQpKSB7DQotCQkJCWlzcyA9
IHRjcF9uZXdfaXNuKCk7DQorCQkJCWlzcyA9IHRjcF9uZXdfaXNuKHRwKTsN
CiAJCQkJdHAgPSB0Y3BfY2xvc2UodHApOw0KIAkJCQlnb3RvIGZpbmRwY2I7
DQogCQkJfQ0KZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3Bfc3Vici5jIG5l
dGluZXQvdGNwX3N1YnIuYw0KLS0tIG5ldGluZXQub2xkL3RjcF9zdWJyLmMJ
VGh1IEp1bCAxOSAyMDo0NTowMSAyMDAxDQorKysgbmV0aW5ldC90Y3Bfc3Vi
ci5jCU1vbiBKdWwgMjMgMjE6NTk6NTMgMjAwMQ0KQEAgLTk4LDYgKzk4LDcg
QEANCiAjZW5kaWYgLypJUFNFQyovDQogDQogI2luY2x1ZGUgPG1hY2hpbmUv
aW5fY2tzdW0uaD4NCisjaW5jbHVkZSA8c3lzL21kNS5oPg0KIA0KIGludCAJ
dGNwX21zc2RmbHQgPSBUQ1BfTVNTOw0KIFNZU0NUTF9JTlQoX25ldF9pbmV0
X3RjcCwgVENQQ1RMX01TU0RGTFQsIG1zc2RmbHQsIENUTEZMQUdfUlcsIA0K
QEAgLTExMTIsMjQgKzExMTMsOTIgQEANCiB9DQogI2VuZGlmIC8qIElORVQ2
ICovDQogDQorLyoNCisgKiBGb2xsb3dpbmcgaXMgd2hlcmUgVENQIGluaXRp
YWwgc2VxdWVuY2UgbnVtYmVyIGdlbmVyYXRpb24gb2NjdXJzLg0KKyAqIEZv
ciBJU05zIGluIFNZTi1BQ0sgcGFja2V0cywgd2UgdXNlIHRoZSBvdXRwdXQg
ZnJvbSBhcmM0cmFuZG9tKCk7DQorICogdGhlcmUgaXMgbm8gbW9udG9uaWNp
dHkgcmVxdWlyZW1lbnQgZm9yIElTTnMgaW4gU1lOLUFDSyBwYWNrZXRzLA0K
KyAqIGFuZCB0aGV5IHNob3VsZCBiZSBhcyByYW5kb20gYXMgcG9zc2libGUg
dG8gYXZvaWQgc3Bvb2ZpbmcgYXR0YWNrcy4NCisgKg0KKyAqIFdoZW4gd2Ug
c2VuZCBJU05zIGluIG91dGdvaW5nIFNZTiBwYWNrZXRzLCB3ZSBtdXN0IGVu
c3VyZSBtb25vdG9uaWNpdHkNCisgKiBzbyB0aGF0IFRJTUVfV0FJVCByZWN5
Y2xpbmcgd29ya3MgcHJvcGVybHkgb24gdGhlIGhvc3RzIHdlIGFyZQ0KKyAq
IGNvbm5lY3RpbmcgdG8uICBUbyBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgd2hp
bGUgc3RpbGwgYmVpbmcNCisgKiB1bnByZWRpY3RhYmxlLCB3ZSB1c2UgYSBt
b2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBhbGdvcml0aG0gc3BlY2lmaWVkDQor
ICogaW4gUkZDIDE5NDguDQorICoNCisgKiBUaGUgYWxnb3JpdGhtIGlzIGFz
IGZvbGxvd3M6DQorICogSVNOID0gVGltZSArIGlzbl9vZmZzZXQgKyBtZDUo
ZnBvcnQsIGxwb3J0LCBmYWRkciwgbGFkZHIsIHNlY3JldCkNCisgKiANCisg
KiBUaW1lIGlzIGJhc2VkIG9mZiB0aGUgc3lzdGVtIHRpbWVyLCBhbmQgaXMg
Y29ycmVjdGVkIHNvIHRoYXQgaXQNCisgKiBpbmNyZWFzZXMgYnkgb25lIG1l
Z2FieXRlIHBlciBzZWNvbmQuICBUaGlzIGFsbG93cyBmb3IgcHJvcGVyDQor
ICogcmVjeWNsaW5nIG9uIGhpZ2ggc3BlZWQgTEFOcyB3aGlsZSBzdGlsbCBs
ZWF2aW5nIG92ZXIgYW4gaG91cg0KKyAqIGJlZm9yZSByb2xsb3Zlci4NCisg
Kg0KKyAqIGlzbl9vZmZzZXQgaXMgYSByYW5kb20gdmFsdWUgY2hhbmdlZCB3
aGVuZXZlciBzZWNyZXQgaXMgY2hhbmdlZC4NCisgKiBUaGUgcHVycG9zZSBv
ZiB0aGlzIHZhbHVlIGlzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBleGFjdCBv
dXRwdXQNCisgKiBvZiB0aGUgaGFzaCBmdW5jdGlvbiBjYW5ub3QgYmUgZGV0
ZXJtaW5lZC4gIElmIHRoaXMgd2FzIG5vdCBwcmVzZW50LA0KKyAqIGl0IHdv
dWxkIGJlIGEgc2ltcGxlIG1hdHRlciB0byBzdWJ0cmFjdCB0aW1lIGZyb20g
dGhlIElTTiBhbmQNCisgKiBsYXVuY2ggYSBicnV0ZS1mb3JjZSBhdHRhY2sg
b24gdGhlIHNlY3JldCBvZiB0aGUgaGFzaC4gIFRoaXMNCisgKiBhdHRhY2sg
c2hvdWxkIG5vdyBiZSBtdWNoIHRvdWdoZXIuICAoaXNuX29mZnNldCBpcyBu
b3QgcGFydA0KKyAqIG9mIHRoZSBzcGVjIG91dGxpbmVkIGluIFJGQyAxOTQ4
LikNCisgKg0KKyAqIFRoZSBtZDUgaGFzaCBpcyB3aGF0IHNlcGVyYXRlcyB0
aGUgSVNOIHNwYWNlIG9mIGV2ZXJ5IGNvbm5lY3Rpb24uDQorICogQXMgbG9u
ZyBhcyB0aGUgc2VjcmV0IHJlbWFpbnMgc2VjcmV0LCBpdCBzaG91bGQgYmUg
dmlydHVhbGx5DQorICogaW1wb3NzaWJsZSBmb3IgYW55b25lIHRvIGd1ZXNz
IHRoZSBzZXF1ZW5jZSBzcGFjZSBvZiBhbnkgb3RoZXINCisgKiBjb25uZWN0
aW9uLiAgVGhlIHNlY3JldCBpcyBjaGFuZ2VkIGhvdXJseSB0byBlbnN1cmUg
dGhhdCANCisgKiBhIGJydXRlIGZvcmNlIGF0dGFjayBvbiB0aGUgc2VjcmV0
IHdpbGwgbm90IGJlIHBvc3NpYmxlIGluDQorICogdGhlIG5lYXIgZnV0dXJl
Lg0KKyAqDQorICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBhbGdv
cml0aG0sIHBsZWFzZSBzZWUgUkZDIDE5NDguDQorICovDQorDQorI2RlZmlu
ZSBJU05fUkVTRUVEX0lOVFZMIDM2MDANCisjZGVmaW5lIElTTl9CWVRFU19Q
RVJfU0VDT05EIDEwNDg1NzYNCisNCitpbnQgaXNuX3Jlc2VlZF90aW1lOw0K
K3VfY2hhciBpc25fc2VjcmV0WzMyXTsNCit1X2ludDMyX3QgaXNuX29mZnNl
dDsNCisNCiB0Y3Bfc2VxDQotdGNwX25ld19pc24oKQ0KK3RjcF9uZXdfaXNu
KHRwKQ0KKwlzdHJ1Y3QgdGNwY2IgKnRwOw0KIHsNCi0JaWYgKCh0Y3Bfc2Vx
X2dlbnNjaGVtZSA+IDEpIHx8ICh0Y3Bfc2VxX2dlbnNjaGVtZSA8IDApKQ0K
LQkJdGNwX3NlcV9nZW5zY2hlbWUgPSAxOw0KLQ0KLQlzd2l0Y2ggKHRjcF9z
ZXFfZ2Vuc2NoZW1lKSB7DQotCQljYXNlIDA6CS8qDQotCQkJICogUmFuZG9t
IHBvc2l0aXZlIGluY3JlbWVudHMNCi0JCQkgKi8NCi0JCQl0Y3BfaXNzICs9
IFRDUF9JU1NJTkNSLzI7DQotCQkJcmV0dXJuIHRjcF9pc3M7DQotCQljYXNl
IDE6CS8qDQotCQkJICogT3BlbUJTRCByYW5kb21pemVkIHNjaGVtZQ0KLQkJ
CSAqLw0KLQkJCXJldHVybiB0Y3Bfcm5kaXNzX25leHQoKTsNCitNRDVfQ1RY
IGN0eDsNCit1X2ludDMyX3QgbWQ1X2J1ZmZlcls0XTsNCit0Y3Bfc2VxIG5l
d19pc247DQorDQorCWlmIChpc25fcmVzZWVkX3RpbWUgPCB0aWNrcykgew0K
KwkJLyogUmVzZWVkIHRoZSBzZWNyZXQgYW5kIG9mZnNldC4gKi8NCisJCXJl
YWRfcmFuZG9tKCZpc25fb2Zmc2V0LCBzaXplb2YodV9pbnQzMl90KSk7DQor
CQlyZWFkX3JhbmRvbSgmaXNuX3NlY3JldCwgc2l6ZW9mKGlzbl9zZWNyZXQp
KTsNCisJCWlzbl9yZXNlZWRfdGltZSA9IHRpY2tzICsgKElTTl9SRVNFRURf
SU5UVkwgKiBoeik7DQogCX0NCiANCisJaWYgKCgodHAtPnRfc3RhdGUgPT0g
VENQU19MSVNURU4pIHx8ICh0cC0+dF9zdGF0ZSA9PSBUQ1BTX1RJTUVfV0FJ
VCkpDQorCSAgICYmIHRjcF9zZXFfZ2Vuc2NoZW1lID09IDEpDQorCQlyZXR1
cm4gYXJjNHJhbmRvbSgpOw0KKwlNRDVJbml0KCZjdHgpOw0KKwlNRDVVcGRh
dGUoJmN0eCwgKHVfY2hhciAqKSAmdHAtPnRfaW5wY2ItPmlucF9mcG9ydCwg
c2l6ZW9mKHVfc2hvcnQpKTsNCisJTUQ1VXBkYXRlKCZjdHgsICh1X2NoYXIg
KikgJnRwLT50X2lucGNiLT5pbnBfbHBvcnQsIHNpemVvZih1X3Nob3J0KSk7
DQorI2lmZGVmIElORVQ2DQorCWlmICgodHAtPnRfaW5wY2ItPmlucF92Zmxh
ZyAmIElOUF9JUFY2KSAhPSAwKSB7DQorCQlNRDVVcGRhdGUoJmN0eCwgKHVf
Y2hhciAqKSAmdHAtPnRfaW5wY2ItPmluNnBfZmFkZHIsDQorCQkJICBzaXpl
b2Yoc3RydWN0IGluNl9hZGRyKSk7DQorCQlNRDVVcGRhdGUoJmN0eCwgKHVf
Y2hhciAqKSAmdHAtPnRfaW5wY2ItPmluNnBfbGFkZHIsDQorCQkJICBzaXpl
b2Yoc3RydWN0IGluNl9hZGRyKSk7DQorCX0gZWxzZQ0KKyNlbmRpZg0KKwkJ
ew0KKwkJTUQ1VXBkYXRlKCZjdHgsICh1X2NoYXIgKikgJnRwLT50X2lucGNi
LT5pbnBfZmFkZHIsDQorCQkJICBzaXplb2Yoc3RydWN0IGluX2FkZHIpKTsN
CisJCU1ENVVwZGF0ZSgmY3R4LCAodV9jaGFyICopICZ0cC0+dF9pbnBjYi0+
aW5wX2xhZGRyLA0KKwkJCSAgc2l6ZW9mKHN0cnVjdCBpbl9hZGRyKSk7DQor
CX0NCisJTUQ1VXBkYXRlKCZjdHgsICh1X2NoYXIgKikgJmlzbl9zZWNyZXQs
IHNpemVvZihpc25fc2VjcmV0KSk7DQorCU1ENUZpbmFsKCh1X2NoYXIgKikg
Jm1kNV9idWZmZXIsICZjdHgpOw0KKwluZXdfaXNuID0gKHRjcF9zZXEpIG1k
NV9idWZmZXJbMF07DQorCW5ld19pc24gKz0gdGlja3MgKiAoSVNOX0JZVEVT
X1BFUl9TRUNPTkQgLyBoeik7DQorCW5ld19pc24gKz0gaXNuX29mZnNldDsN
CisJcmV0dXJuIG5ld19pc247DQogfQ0KIA0KICNkZWZpbmUgVENQX1JORElT
U19ST1VORFMJMTYNCmRpZmYgLXUgLXIgbmV0aW5ldC5vbGQvdGNwX3VzcnJl
cS5jIG5ldGluZXQvdGNwX3VzcnJlcS5jDQotLS0gbmV0aW5ldC5vbGQvdGNw
X3VzcnJlcS5jCVRodSBKdWwgMTkgMjA6NDU6MDEgMjAwMQ0KKysrIG5ldGlu
ZXQvdGNwX3VzcnJlcS5jCUZyaSBKdWwgMjAgMjI6Mzg6MjggMjAwMQ0KQEAg
LTc1OCw3ICs3NTgsNyBAQA0KIAl0Y3BzdGF0LnRjcHNfY29ubmF0dGVtcHQr
KzsNCiAJdHAtPnRfc3RhdGUgPSBUQ1BTX1NZTl9TRU5UOw0KIAljYWxsb3V0
X3Jlc2V0KHRwLT50dF9rZWVwLCB0Y3Bfa2VlcGluaXQsIHRjcF90aW1lcl9r
ZWVwLCB0cCk7DQotCXRwLT5pc3MgPSB0Y3BfbmV3X2lzbigpOw0KKwl0cC0+
aXNzID0gdGNwX25ld19pc24odHApOw0KIAl0Y3Bfc2VuZHNlcWluaXQodHAp
Ow0KIA0KIAkvKg0KQEAgLTg0NCw3ICs4NDQsNyBAQA0KIAl0Y3BzdGF0LnRj
cHNfY29ubmF0dGVtcHQrKzsNCiAJdHAtPnRfc3RhdGUgPSBUQ1BTX1NZTl9T
RU5UOw0KIAljYWxsb3V0X3Jlc2V0KHRwLT50dF9rZWVwLCB0Y3Bfa2VlcGlu
aXQsIHRjcF90aW1lcl9rZWVwLCB0cCk7DQotCXRwLT5pc3MgPSB0Y3BfbmV3
X2lzbigpOw0KKwl0cC0+aXNzID0gdGNwX25ld19pc24odHApOw0KIAl0Y3Bf
c2VuZHNlcWluaXQodHApOw0KIA0KIAkvKg0KZGlmZiAtdSAtciBuZXRpbmV0
Lm9sZC90Y3BfdmFyLmggbmV0aW5ldC90Y3BfdmFyLmgNCi0tLSBuZXRpbmV0
Lm9sZC90Y3BfdmFyLmgJVGh1IEp1bCAxOSAyMDo0NTowMSAyMDAxDQorKysg
bmV0aW5ldC90Y3BfdmFyLmgJVGh1IEp1bCAxOSAyMDo0NjowMSAyMDAxDQpA
QCAtNDE0LDcgKzQxNCw3IEBADQogdGNwX3NlcQl0Y3Bfcm5kaXNzX25leHQg
X19QKCh2b2lkKSk7DQogdV9pbnQxNl90DQogCXRjcF9ybmRpc3NfZW5jcnlw
dCBfX1AoKHVfaW50MTZfdCkpOw0KLXRjcF9zZXEgdGNwX25ld19pc24gX19Q
KCh2b2lkKSk7DQordGNwX3NlcSB0Y3BfbmV3X2lzbiBfX1AoKHN0cnVjdCB0
Y3BjYiAqKSk7DQogDQogI2VuZGlmIC8qIF9LRVJORUwgKi8NCiANCg==
--0-155072002-996034797=:31803--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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