[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
No subject
4.1 "Constructing and sending DHCP messages"
The 'xid' field is used by the client to match incoming DHCP messages
with pending requests. A DHCP client MUST choose 'xid's in such a
way as to minimize the chance of using an 'xid' identical to one used
by another client. For example, a client may choose a different,
random initial 'xid' each time the client is rebooted, and
subsequently use sequential 'xid's until the next reboot. Selecting
a new 'xid' for each retransmission is an implementation decision. A
client may choose to reuse the same 'xid' or select a new 'xid' for
each retransmitted message.
My proposed patch updates the xid field using rand() in both
dhcp_discover_req() and dhcp_request_req(). This means a new xid for
each exchange.
I thought I'd raise a PR and attach the patch, but given the amount
of discussion about dhcp recently, I thought I'd get some thoughts
on it first.
Cheers, Tim
--_----------=_12403072954782
Content-Disposition: attachment; filename="dhcp_unique_xid.patch"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="dhcp_unique_xid.patch"
MIME-Version: 1.0
X-Mailer: MessagingEngine.com Webmail Interface
Date: Tue, 21 Apr 2009 09:48:15 UT
DQotLS0gY3B1a2l0L2xpYm5ldHdvcmtpbmcvcnRlbXMvcnRlbXNfZGhjcC5j
DQorKysgY3B1a2l0L2xpYm5ldHdvcmtpbmcvcnRlbXMvcnRlbXNfZGhjcC5j
DQpAQCAtNTQyLDYgKzU0Miw1IEBADQogc3RhdGljIGludA0KIGRoY3BfZGlz
Y292ZXJfcmVxIChzdHJ1Y3QgZGhjcF9wYWNrZXQqIGNhbGwsDQotICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9kbCAqc2RsLA0KLSAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICp4aWQpDQorICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9kbCAqc2RsICkNCiB7DQogICBp
bnQgbGVuID0gMDsNCkBAIC01NTYsNiArNTU1LDUgQEANCiAgIGNhbGwtPmhs
ZW4gPSBzZGwtPnNkbF9hbGVuOwkvKiBIYXJkd2FyZSBhZGRyZXNzIGxlbmd0
aCAqLw0KICAgY2FsbC0+aG9wcyA9IDA7DQotICAoKnhpZCkrKzsNCi0gIGNh
bGwtPnhpZCA9IGh0b25sICgqeGlkKTsNCisgIGNhbGwtPnhpZCA9IGh0b25s
KHJhbmQoKSk7DQogICBjYWxsLT5mbGFncyA9IGh0b25zIChESENQX0JST0FE
Q0FTVCk7DQogICANCkBAIC02MzQsNSArNjMyLDUgQEANCiAgIGNhbGwtPmhs
ZW4gPSBzZGwtPnNkbF9hbGVuOwkvKiBIYXJkd2FyZSBhZGRyZXNzIGxlbmd0
aCAqLw0KICAgY2FsbC0+aG9wcyA9IDA7DQotICBjYWxsLT54aWQgPSByZXBs
eS0+eGlkOw0KKyAgY2FsbC0+eGlkID0gcmVwbHktPnhpZCA9IGh0b25sKHJh
bmQoKSk7DQogICBpZiAoYnJvYWRjYXN0KQ0KICAgICBjYWxsLT5mbGFncyA9
IGh0b25zIChESENQX0JST0FEQ0FTVCk7DQpAQCAtOTE4LDUgKzkxNiw0IEBA
DQogICBzdHJ1Y3QgZGhjcF9wYWNrZXQgICBjYWxsOw0KICAgc3RydWN0IGRo
Y3BfcGFja2V0ICAgcmVwbHk7DQotICBzdGF0aWMgdW5zaWduZWQgbG9uZyB4
aWQgPSB+MHhGRjsNCiAgIHN0cnVjdCBpZnJlcSAgICAgICAgIGlyZXE7DQog
ICBzdHJ1Y3QgaWZuZXQgICAgICAgICAqaWZwOw0KQEAgLTk4Myw1ICs5ODAs
NSBAQA0KICAgICogQnVpbGQgdGhlIERIQ1AgRGlzY292ZXINCiAgICAqLw0K
LSAgbGVuID0gZGhjcF9kaXNjb3Zlcl9yZXEgKCZjYWxsLCBzZGwsICZ4aWQp
Ow0KKyAgbGVuID0gZGhjcF9kaXNjb3Zlcl9yZXEgKCZjYWxsLCBzZGwpOw0K
IA0KICAgLyoNCg==
--_----------=_12403072954782--