Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 02 Apr 2014 20:48:18 +0900
From:      Midori Kato <katoon@sfc.wide.ad.jp>
To:        net@freebsd.org, "Eggert, Lars" <lars@netapp.com>
Subject:   ECN marking implenetation for dummynet
Message-ID:  <533BF902.7010506@sfc.wide.ad.jp>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------050400010400020600020602
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

Hi FreeBSD developers,

I'm Midori Kato. I was working with Lars Eggert about DCTCP.
I would like to share our patch for an ECN marking mechanism on
dummynet, which I used for DCTCP testing.

My implementation allows to set ECN with RED as an AQM scheme. The
following command is an example:
$ ipfw pipe 9999 config red 1/10/10/0.0 ecn

Our implementation includes both DCTCP and RFC 3168 ECN marking methodology.

If you are interested in our ECN implemention, I'm very happy to receive
your review! (I have already submitted my patch to Luigi and hope he
will merge ours in near future.)

Regards,
-- Midori

--------------050400010400020600020602
Content-Type: text/plain; charset=UTF-8;
 name="dctcpecn-dummy.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="dctcpecn-dummy.patch"

ZGlmZiAtLWdpdCBhL3NiaW4vaXBmdy9kdW1teW5ldC5jIGIvc2Jpbi9pcGZ3L2R1bW15bmV0
LmMKaW5kZXggMjhkYzJjNy4uY2I2Mjg1MyAxMDA2NDQKLS0tIGEvc2Jpbi9pcGZ3L2R1bW15
bmV0LmMKKysrIGIvc2Jpbi9pcGZ3L2R1bW15bmV0LmMKQEAgLTU2LDYgKzU2LDcgQEAgc3Rh
dGljIHN0cnVjdCBfc194IGR1bW15bmV0X3BhcmFtc1tdID0gewogCXsgInNjaGVkX21hc2si
LAkJVE9LX1NDSEVEX01BU0sgfSwKIAl7ICJmbG93X21hc2siLAkJVE9LX0ZMT1dfTUFTSyB9
LAogCXsgImRyb3B0YWlsIiwJCVRPS19EUk9QVEFJTCB9LAorCXsgImVjbiIsCQlUT0tfRUNO
IH0sCiAJeyAicmVkIiwJCVRPS19SRUQgfSwKIAl7ICJncmVkIiwJCVRPS19HUkVEIH0sCiAJ
eyAiYnciLAkJCVRPS19CVyB9LApAQCAtMjM5LDcgKzI0MCw3IEBAIHByaW50X2Zsb3dzZXRf
cGFybXMoc3RydWN0IGRuX2ZzICpmcywgY2hhciAqcHJlZml4KQogCWVsc2UKIAkJcGxyWzBd
ID0gJ1wwJzsKIAotCWlmIChmcy0+ZmxhZ3MgJiBETl9JU19SRUQpCS8qIFJFRCBwYXJhbWV0
ZXJzICovCisJaWYgKGZzLT5mbGFncyAmIEROX0lTX1JFRCkgewkvKiBSRUQgcGFyYW1ldGVy
cyAqLwogCQlzcHJpbnRmKHJlZCwKIAkJICAgICJcblx0ICVjUkVEIHdfcSAlZiBtaW5fdGgg
JWQgbWF4X3RoICVkIG1heF9wICVmIiwKIAkJICAgIChmcy0+ZmxhZ3MgJiBETl9JU19HRU5U
TEVfUkVEKSA/ICdHJyA6ICcgJywKQEAgLTI0Nyw3ICsyNDgsOSBAQCBwcmludF9mbG93c2V0
X3Bhcm1zKHN0cnVjdCBkbl9mcyAqZnMsIGNoYXIgKnByZWZpeCkKIAkJICAgIGZzLT5taW5f
dGgsCiAJCSAgICBmcy0+bWF4X3RoLAogCQkgICAgMS4wICogZnMtPm1heF9wIC8gKGRvdWJs
ZSkoMSA8PCBTQ0FMRV9SRUQpKTsKLQllbHNlCisJCWlmIChmcy0+ZmxhZ3MgJiBETl9JU19F
Q04pCisJCQlzdHJuY2F0KHJlZCwgIiAoZWNuKSIsIDYpOworCX0gZWxzZQogCQlzcHJpbnRm
KHJlZCwgImRyb3B0YWlsIik7CiAKIAlpZiAocHJlZml4WzBdKSB7CkBAIC0xMDQ2LDEzICsx
MDQ5LDE3IEBAIGVuZF9tYXNrOgogCQkJfQogCQkJaWYgKChlbmQgPSBzdHJzZXAoJmF2WzBd
LCAiLyIpKSkgewogCQkJICAgIGRvdWJsZSBtYXhfcCA9IHN0cnRvZChlbmQsIE5VTEwpOwot
CQkJICAgIGlmIChtYXhfcCA+IDEgfHwgbWF4X3AgPD0gMCkKLQkJCQllcnJ4KEVYX0RBVEFF
UlIsICIwIDwgbWF4X3AgPD0gMSIpOworCQkJICAgIGlmIChtYXhfcCA+IDEgfHwgbWF4X3Ag
PCAwKQorCQkJCWVycngoRVhfREFUQUVSUiwgIjAgPD0gbWF4X3AgPD0gMSIpOwogCQkJICAg
IGZzLT5tYXhfcCA9IChpbnQpKG1heF9wICogKDEgPDwgU0NBTEVfUkVEKSk7CiAJCQl9CiAJ
CQlhYy0tOyBhdisrOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBUT0tfRUNOOgorCQkJZnMtPmZs
YWdzIHw9IEROX0lTX0VDTjsKKwkJCWJyZWFrOworCiAJCWNhc2UgVE9LX0RST1BUQUlMOgog
CQkJTkVFRChmcywgImRyb3B0YWlsIGlzIG9ubHkgZm9yIGZsb3dzZXRzIik7CiAJCQlmcy0+
ZmxhZ3MgJj0gfihETl9JU19SRUR8RE5fSVNfR0VOVExFX1JFRCk7CkBAIC0xMTc1LDEzICsx
MTgyLDIwIEBAIGVuZF9tYXNrOgogCQkJZXJyeChFWF9EQVRBRVJSLCAiMiA8PSBxdWV1ZSBz
aXplIDw9ICVsZCIsIGxpbWl0KTsKIAkgICAgfQogCisJICAgIGlmICgoZnMtPmZsYWdzICYg
RE5fSVNfRUNOKSAmJiAhKGZzLT5mbGFncyAmIEROX0lTX1JFRCkpCisJCWVycngoRVhfVVNB
R0UsICJlbmFibGUgcmVkL2dyZWQgZm9yIEVDTiIpOworCiAJICAgIGlmIChmcy0+ZmxhZ3Mg
JiBETl9JU19SRUQpIHsKIAkJc2l6ZV90IGxlbjsKIAkJaW50IGxvb2t1cF9kZXB0aCwgYXZn
X3BrdF9zaXplOwogCi0JCWlmIChmcy0+bWluX3RoID49IGZzLT5tYXhfdGgpCisJCWlmICgh
KGZzLT5mbGFncyAmIEROX0lTX0VDTikgJiYgKGZzLT5taW5fdGggPj0gZnMtPm1heF90aCkp
CiAJCSAgICBlcnJ4KEVYX0RBVEFFUlIsICJtaW5fdGggJWQgbXVzdCBiZSA8IHRoYW4gbWF4
X3RoICVkIiwKIAkJCWZzLT5taW5fdGgsIGZzLT5tYXhfdGgpOworCQllbHNlIGlmICgoZnMt
PmZsYWdzICYgRE5fSVNfRUNOKSAmJiAoZnMtPm1pbl90aCA+IGZzLT5tYXhfdGgpKQorCQkg
ICAgZXJyeChFWF9EQVRBRVJSLCAibWluX3RoICVkIG11c3QgYmUgPTwgdGhhbiBtYXhfdGgg
JWQiLAorCQkJZnMtPm1pbl90aCwgZnMtPm1heF90aCk7CisKIAkJaWYgKGZzLT5tYXhfdGgg
PT0gMCkKIAkJICAgIGVycngoRVhfREFUQUVSUiwgIm1heF90aCBtdXN0IGJlID4gMCIpOwog
CmRpZmYgLS1naXQgYS9zYmluL2lwZncvaXBmdzIuaCBiL3NiaW4vaXBmdy9pcGZ3Mi5oCmlu
ZGV4IGQ1OTI5MzAuLmI1MDM2MWYgMTAwNjQ0Ci0tLSBhL3NiaW4vaXBmdy9pcGZ3Mi5oCisr
KyBiL3NiaW4vaXBmdy9pcGZ3Mi5oCkBAIC0xNjUsNiArMTY1LDcgQEAgZW51bSB0b2tlbnMg
ewogCVRPS19CVVJTVCwKIAlUT0tfUkVELAogCVRPS19HUkVELAorCVRPS19FQ04sCiAJVE9L
X0RST1BUQUlMLAogCVRPS19QUk9UTywKIAkvKiBkdW1teW5ldCB0b2tlbnMgKi8KZGlmZiAt
LWdpdCBhL3N5cy9uZXRpbmV0L2lwX2R1bW15bmV0LmggYi9zeXMvbmV0aW5ldC9pcF9kdW1t
eW5ldC5oCmluZGV4IDFjMDkxOTcuLjBiMzdlNzEgMTAwNjQ0Ci0tLSBhL3N5cy9uZXRpbmV0
L2lwX2R1bW15bmV0LmgKKysrIGIvc3lzL25ldGluZXQvaXBfZHVtbXluZXQuaApAQCAtMTAy
LDYgKzEwMiw3IEBAIGVudW0gewkvKiB1c2VyIGZsYWdzICovCiAJRE5fUUhUX0hBU0gJPSAw
eDAwMDQsCS8qIHFodCBpcyBhIGhhc2ggdGFibGUgKi8KIAlETl9RU0laRV9CWVRFUwk9IDB4
MDAwOCwJLyogcXVldWUgc2l6ZSBpcyBpbiBieXRlcyAqLwogCUROX0hBU19QUk9GSUxFCT0g
MHgwMDEwLAkvKiBhIGxpbmsgaGFzIGEgcHJvZmlsZSAqLworCUROX0lTX0VDTgk9IDB4MDA4
MCwKIAlETl9JU19SRUQJPSAweDAwMjAsCiAJRE5fSVNfR0VOVExFX1JFRD0gMHgwMDQwLAog
CUROX1BJUEVfQ01ECT0gMHgxMDAwLAkvKiBwaXBlIGNvbmZpZy4uLiAqLwpkaWZmIC0tZ2l0
IGEvc3lzL25ldHBmaWwvaXBmdy9pcF9kbl9nbHVlLmMgYi9zeXMvbmV0cGZpbC9pcGZ3L2lw
X2RuX2dsdWUuYwppbmRleCA3ZDdlNjk1Li4wOTU3NThmIDEwMDY0NAotLS0gYS9zeXMvbmV0
cGZpbC9pcGZ3L2lwX2RuX2dsdWUuYworKysgYi9zeXMvbmV0cGZpbC9pcGZ3L2lwX2RuX2ds
dWUuYwpAQCAtODMsNiArODMsNyBAQCBzdHJ1Y3QgZG5fZmxvd19zZXQgewogI2RlZmluZSBE
Tk9MRF9RU0laRV9JU19CWVRFUyAgIDB4MDAwOCAgLyogcXVldWUgc2l6ZSBpcyBtZWFzdXJl
ZCBpbiBieXRlcyAqLwogI2RlZmluZSBETk9MRF9OT0VSUk9SICAgICAgMHgwMDEwICAvKiBk
byBub3QgcmVwb3J0IEVOT0JVRlMgb24gZHJvcHMgICovCiAjZGVmaW5lIEROT0xEX0hBU19Q
Uk9GSUxFICAgICAgMHgwMDIwICAvKiB0aGUgcGlwZSBoYXMgYSBkZWxheSBwcm9maWxlLiAq
LworI2RlZmluZSBETk9MRF9JU19FQ04gICAgICAgMHgwMDQwCiAjZGVmaW5lIEROT0xEX0lT
X1BJUEUgICAgICAweDQwMDAKICNkZWZpbmUgRE5PTERfSVNfUVVFVUUgICAgIDB4ODAwMAog
CkBAIC0zMzgsNiArMzM5LDggQEAgY29udmVydGZsYWdzMm5ldyhpbnQgc3JjKQogCQlkc3Qg
fD0gRE5fSVNfUkVEOwogCWlmIChzcmMgJiBETk9MRF9JU19HRU5UTEVfUkVEKQogCQlkc3Qg
fD0gRE5fSVNfR0VOVExFX1JFRDsKKwlpZiAoc3JjICYgRE5PTERfSVNfRUNOKQorCQlkc3Qg
fD0gRE5fSVNfRUNOOwogCWlmIChzcmMgJiBETk9MRF9IQVNfUFJPRklMRSkKIAkJZHN0IHw9
IEROX0hBU19QUk9GSUxFOwogCmRpZmYgLS1naXQgYS9zeXMvbmV0cGZpbC9pcGZ3L2lwX2Ru
X2lvLmMgYi9zeXMvbmV0cGZpbC9pcGZ3L2lwX2RuX2lvLmMKaW5kZXggOWE0YjQ4Ni4uNDQ2
MjUzYiAxMDA2NDQKLS0tIGEvc3lzL25ldHBmaWwvaXBmdy9pcF9kbl9pby5jCisrKyBiL3N5
cy9uZXRwZmlsL2lwZncvaXBfZG5faW8uYwpAQCAtMzAyLDYgKzMwMiw3IEBAIHJlZF9kcm9w
cyAoc3RydWN0IGRuX3F1ZXVlICpxLCBpbnQgbGVuKQogCSAqLwogCiAJc3RydWN0IGRuX2Zz
ayAqZnMgPSBxLT5mczsKKwlzdHJ1Y3QgZG5fZnMgKmYgPSAmKHEtPmZzLT5mcyk7CiAJaW50
NjRfdCBwX2IgPSAwOwogCiAJLyogUXVldWUgaW4gYnl0ZXMgb3IgcGFja2V0cz8gKi8KQEAg
LTMzNyw2ICszMzgsOCBAQCByZWRfZHJvcHMgKHN0cnVjdCBkbl9xdWV1ZSAqcSwgaW50IGxl
bikKIAkJcmV0dXJuICgwKTsJLyogYWNjZXB0IHBhY2tldCAqLwogCX0KIAlpZiAocS0+YXZn
ID49IGZzLT5tYXhfdGgpIHsJLyogYXZlcmFnZSBxdWV1ZSA+PSAgbWF4IHRocmVzaG9sZCAq
LworCQlpZiAoZnMtPmZzLmZsYWdzICYgRE5fSVNfRUNOKQorCQkJcmV0dXJuICgxKTsKIAkJ
aWYgKGZzLT5mcy5mbGFncyAmIEROX0lTX0dFTlRMRV9SRUQpIHsKIAkJCS8qCiAJCQkgKiBB
Y2NvcmRpbmcgdG8gR2VudGxlLVJFRCwgaWYgYXZnIGlzIGdyZWF0ZXIgdGhhbgpAQCAtMzUy
LDYgKzM1NSw4IEBAIHJlZF9kcm9wcyAoc3RydWN0IGRuX3F1ZXVlICpxLCBpbnQgbGVuKQog
CQkJcmV0dXJuICgxKTsKIAkJfQogCX0gZWxzZSBpZiAocS0+YXZnID4gZnMtPm1pbl90aCkg
eworCQlpZiAoZnMtPmZzLmZsYWdzICYgRE5fSVNfRUNOKQorCQkJcmV0dXJuICgxKTsKIAkJ
LyoKIAkJICogV2UgY29tcHV0ZSBwX2IgdXNpbmcgdGhlIGxpbmVhciBkcm9wcGluZyBmdW5j
dGlvbgogCQkgKgkgcF9iID0gY18xICogYXZnIC0gY18yCkBAIC0zODQsNiArMzg5LDcxIEBA
IHJlZF9kcm9wcyAoc3RydWN0IGRuX3F1ZXVlICpxLCBpbnQgbGVuKQogfQogCiAvKgorICog
RUNOIFByb2Nlc3NpbmcKKyAqIFRoZSBwYXJ0IG9mIHRoaXMgZnVuY3Rpb24gaXMgYWRvcHRl
ZCBmcm9tIGFsdHEKKyAqLworc3RhdGljIGludAorZWNuX21hcmsoc3RydWN0IG1idWYqIG0p
Cit7CisJc3RydWN0IGlwICppcDsKKwlpcCA9IG10b2QobSwgc3RydWN0IGlwICopOworCisJ
c3dpdGNoIChpcC0+aXBfdikgeworCWNhc2UgSVBWRVJTSU9OOgorCXsKKwkJdV9pbnQ4X3Qg
b3RvczsKKwkJaW50IHN1bTsKKworCQlpZiAoKGlwLT5pcF90b3MgJiBJUFRPU19FQ05fTUFT
SykgPT0gSVBUT1NfRUNOX05PVEVDVCkKKwkJCXJldHVybiAoMCk7CS8qIG5vdC1FQ1QgKi8K
KwkJaWYgKChpcC0+aXBfdG9zICYgSVBUT1NfRUNOX01BU0spID09IElQVE9TX0VDTl9DRSkK
KwkJCXJldHVybiAoMSk7CS8qIGFscmVhZHkgbWFya2VkICovCisKKwkJLyoKKwkJICogZWNu
LWNhcGFibGUgYnV0IG5vdCBtYXJrZWQsCisJCSAqIG1hcmsgQ0UgYW5kIHVwZGF0ZSBjaGVj
a3N1bQorCQkgKi8KKwkJb3RvcyA9IGlwLT5pcF90b3M7CisJCWlwLT5pcF90b3MgfD0gSVBU
T1NfRUNOX0NFOworCQkvKgorCQkgKiB1cGRhdGUgY2hlY2tzdW0gKGZyb20gUkZDMTYyNCkK
KwkJICoJICAgSEMnID0gfih+SEMgKyB+bSArIG0nKQorCQkgKi8KKwkJc3VtID0gfm50b2hz
KGlwLT5pcF9zdW0pICYgMHhmZmZmOworCQlzdW0gKz0gKH5vdG9zICYgMHhmZmZmKSArIGlw
LT5pcF90b3M7CisJCXN1bSA9IChzdW0gPj4gMTYpICsgKHN1bSAmIDB4ZmZmZik7CisJCXN1
bSArPSAoc3VtID4+IDE2KTsgIC8qIGFkZCBjYXJyeSAqLworCQlpcC0+aXBfc3VtID0gaHRv
bnMofnN1bSAmIDB4ZmZmZik7CisJCXJldHVybiAoMSk7CisJfQorI2lmZGVmIElORVQ2CisJ
Y2FzZSAoSVBWNl9WRVJTSU9OID4+IDQpOgorCXsKKwkJc3RydWN0IGlwNl9oZHIgKmlwNiA9
IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7CisJCXVfaW50MzJfdCBmbG93bGFiZWw7CisK
KwkJZmxvd2xhYmVsID0gbnRvaGwoaXA2LT5pcDZfZmxvdyk7CisJCWlmICgoZmxvd2xhYmVs
ID4+IDI4KSAhPSA2KQorCQkJcmV0dXJuICgwKTsJLyogdmVyc2lvbiBtaXNtYXRjaCEgKi8K
KwkJaWYgKChmbG93bGFiZWwgJiAoSVBUT1NfRUNOX01BU0sgPDwgMjApKSA9PQorCQkgICAg
KElQVE9TX0VDTl9OT1RFQ1QgPDwgMjApKQorCQkJcmV0dXJuICgwKTsJLyogbm90LUVDVCAq
LworCQlpZiAoKGZsb3dsYWJlbCAmIChJUFRPU19FQ05fTUFTSyA8PCAyMCkpID09CisJCSAg
ICAoSVBUT1NfRUNOX0NFIDw8IDIwKSkKKwkJCXJldHVybiAoMSk7CS8qIGFscmVhZHkgbWFy
a2VkICovCisJCS8qCisJCSAqIGVjbi1jYXBhYmxlIGJ1dCBub3QgbWFya2VkLCBtYXJrIENF
CisJCSAqLworCQlmbG93bGFiZWwgfD0gKElQVE9TX0VDTl9DRSA8PCAyMCk7CisJCWlwNi0+
aXA2X2Zsb3cgPSBodG9ubChmbG93bGFiZWwpOworCQlyZXR1cm4gKDEpOworCX0KKyNlbmRp
ZgorCX0KKwlyZXR1cm4gKDApOworfQorCisvKgogICogRW5xdWV1ZSBhIHBhY2tldCBpbiBx
LCBzdWJqZWN0IHRvIHNwYWNlIGFuZCBxdWV1ZSBtYW5hZ2VtZW50IHBvbGljeQogICogKHdo
b3NlIHBhcmFtZXRlcnMgYXJlIGluIHEtPmZzKS4KICAqIFVwZGF0ZSBzdGF0cyBmb3IgdGhl
IHF1ZXVlIGFuZCB0aGUgc2NoZWR1bGVyLgpAQCAtNDE0LDggKzQ4NCwxMyBAQCBkbl9lbnF1
ZXVlKHN0cnVjdCBkbl9xdWV1ZSAqcSwgc3RydWN0IG1idWYqIG0sIGludCBkcm9wKQogCQln
b3RvIGRyb3A7CiAJaWYgKGYtPnBsciAmJiByYW5kb20oKSA8IGYtPnBscikKIAkJZ290byBk
cm9wOwotCWlmIChmLT5mbGFncyAmIEROX0lTX1JFRCAmJiByZWRfZHJvcHMocSwgbS0+bV9w
a3RoZHIubGVuKSkKLQkJZ290byBkcm9wOworCWlmIChmLT5mbGFncyAmIEROX0lTX1JFRCAm
JiByZWRfZHJvcHMocSwgbS0+bV9wa3RoZHIubGVuKSkgeworCQlpZiAoZi0+ZmxhZ3MgJiBE
Tl9JU19FQ04pIHsKKwkJCWlmICghZWNuX21hcmsobSkpCisJCQkJZ290byBkcm9wOworCQl9
IGVsc2UKKwkJCWdvdG8gZHJvcDsKKwl9CiAJaWYgKGYtPmZsYWdzICYgRE5fUVNJWkVfQllU
RVMpIHsKIAkJaWYgKHEtPm5pLmxlbl9ieXRlcyA+IGYtPnFzaXplKQogCQkJZ290byBkcm9w
OwpkaWZmIC0tZ2l0IGEvc3lzL25ldHBmaWwvaXBmdy9pcF9kdW1teW5ldC5jIGIvc3lzL25l
dHBmaWwvaXBmdy9pcF9kdW1teW5ldC5jCmluZGV4IDRkZTIxNTYuLmFjY2JiMDcgMTAwNjQ0
Ci0tLSBhL3N5cy9uZXRwZmlsL2lwZncvaXBfZHVtbXluZXQuYworKysgYi9zeXMvbmV0cGZp
bC9pcGZ3L2lwX2R1bW15bmV0LmMKQEAgLTEwNzAsNyArMTA3MCw3IEBAIGNvbmZpZ19yZWQo
c3RydWN0IGRuX2ZzayAqZnMpCiAJZnMtPm1pbl90aCA9IFNDQUxFKGZzLT5mcy5taW5fdGgp
OwogCWZzLT5tYXhfdGggPSBTQ0FMRShmcy0+ZnMubWF4X3RoKTsKIAotCWZzLT5jXzEgPSBm
cy0+bWF4X3AgLyAoZnMtPmZzLm1heF90aCAtIGZzLT5mcy5taW5fdGgpOworCWZzLT5jXzEg
PSBmcy0+bWF4X3AgLyBtYXgoZnMtPmZzLm1heF90aCAtIGZzLT5mcy5taW5fdGgsIDEpOwog
CWZzLT5jXzIgPSBTQ0FMRV9NVUwoZnMtPmNfMSwgU0NBTEUoZnMtPmZzLm1pbl90aCkpOwog
CiAJaWYgKGZzLT5mcy5mbGFncyAmIEROX0lTX0dFTlRMRV9SRUQpIHsK
--------------050400010400020600020602--



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