Date: Mon, 8 Feb 2010 21:09:49 +0530 From: Balaji G <balajig81@gmail.com> To: freebsd-net@freebsd.org Cc: Qing Li <qingli@freebsd.org>, "Li, Qing" <qing.li@bluecoat.com> Subject: [PATCH] net:: ECMP Phase 1 Fixes for FreeBSD 7.2 Message-ID: <6dd1343e1002080739m38f4deffr604c71e5036389a4@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--00504502ad118ad7e3047f189c33 Content-Type: text/plain; charset=UTF-8 Hi Everybody Please find attached the patch files which contains the backported code for ECMP for FreeBSD 7.2. I have back ported the code from 8.0. I have done some basic testing with these patches rolled in. These are the phase 1 fixes and i would continue to work on this and back port few other stuff too. It would be great if someone could roll in this to 7.2, test it and give me their valuable feedback. This is my first Patch for FreeBSD community and i am really excited about this and look forward to it. Thanks for your time. Cheers, - Balaji --00504502ad118ad7e3047f189c33 Content-Type: text/x-patch; charset=US-ASCII; name="ecmp_patch1.patch" Content-Disposition: attachment; filename="ecmp_patch1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5ffexhn0 ZGlmZiAtdSAtciAvaG9tZS9iYWxhamkvQ29kZXMvRnJlZUJTRC83LjIuMC83LjIuMF91bm1vZGlm aWVkLzcuMi4wL3N5cy9uZXQvcmFkaXguYyBuZXQvcmFkaXguYwotLS0gL2hvbWUvYmFsYWppL0Nv ZGVzL0ZyZWVCU0QvNy4yLjAvNy4yLjBfdW5tb2RpZmllZC83LjIuMC9zeXMvbmV0L3JhZGl4LmMJ MjAxMC0wMi0wNCAyMjo0MDoyOS4wMDAwMDAwMDAgKzA1MzAKKysrIG5ldC9yYWRpeC5jCTIwMTAt MDItMDcgMTY6MDY6NTYuMDUzNjg3MzExICswNTMwCkBAIC00OCw2ICs0OCwxMCBAQAogI2luY2x1 ZGUgPG5ldC9yYWRpeC5oPgogI2VuZGlmCiAKKy8qIEVDTVAgQ2hhbmdlcyBCZWdpbiAqLworI2lu Y2x1ZGUgPG5ldC9yYWRpeF9tcGF0aC5oPgorLyogRUNNUCBDaGFuZ2VzIEVuZCAqLworCiBzdGF0 aWMgaW50CXJuX3dhbGt0cmVlX2Zyb20oc3RydWN0IHJhZGl4X25vZGVfaGVhZCAqaCwgdm9pZCAq YSwgdm9pZCAqbSwKIAkJICAgIHdhbGt0cmVlX2ZfdCAqZiwgdm9pZCAqdyk7CiBzdGF0aWMgaW50 IHJuX3dhbGt0cmVlKHN0cnVjdCByYWRpeF9ub2RlX2hlYWQgKiwgd2Fsa3RyZWVfZl90ICosIHZv aWQgKik7CkBAIC02MzAsNiArNjM0LDIyIEBACiAJc2F2ZWRfdHQgPSB0dCA9IHJuX2luc2VydCh2 LCBoZWFkLCAma2V5ZHVwbGljYXRlZCwgdHJlZW5vZGVzKTsKIAlpZiAoa2V5ZHVwbGljYXRlZCkg ewogCQlmb3IgKHQgPSB0dDsgdHQ7IHQgPSB0dCwgdHQgPSB0dC0+cm5fZHVwZWRrZXkpIHsKKwor LyogRUNNUCBDaGFuZ2VzIEJlZ2luICovCisJCQkvKiBwZXJtaXQgbXVsdGlwYXRoLCBpZiBlbmFi bGVkIGZvciB0aGUgZmFtaWx5ICovCisJCQlpZiAocm5fbXBhdGhfY2FwYWJsZShoZWFkKSAmJiBu ZXRtYXNrID09IHR0LT5ybl9tYXNrKSB7CisJCQkJLyoKKwkJCQkgKiBnbyBkb3duIHRvIHRoZSBl bmQgb2YgbXVsdGlwYXRocywgc28gdGhhdAorCQkJCSAqIG5ldyBlbnRyeSBnb2VzIGludG8gdGhl IGVuZCBvZiBybl9kdXBlZGtleQorCQkJCSAqIGNoYWluLgorCQkJCSAqLworCQkJCWRvIHsKKwkJ CQkJdCA9IHR0OworCQkJCQl0dCA9IHR0LT5ybl9kdXBlZGtleTsKKwkJCQl9IHdoaWxlICh0dCAm JiB0LT5ybl9tYXNrID09IHR0LT5ybl9tYXNrKTsKKwkJCQlicmVhazsKKwkJCX0KKy8qIEVDTVAg Q2hhbmdlcyBFbmQgKi8KIAkJCWlmICh0dC0+cm5fbWFzayA9PSBuZXRtYXNrKQogCQkJCXJldHVy biAoMCk7CiAJCQlpZiAobmV0bWFzayA9PSAwIHx8CmRpZmYgLXUgLXIgL2hvbWUvYmFsYWppL0Nv ZGVzL0ZyZWVCU0QvNy4yLjAvNy4yLjBfdW5tb2RpZmllZC83LjIuMC9zeXMvbmV0L3JhZGl4X21w YXRoLmMgbmV0L3JhZGl4X21wYXRoLmMKLS0tIC9ob21lL2JhbGFqaS9Db2Rlcy9GcmVlQlNELzcu Mi4wLzcuMi4wX3VubW9kaWZpZWQvNy4yLjAvc3lzL25ldC9yYWRpeF9tcGF0aC5jCTIwMTAtMDIt MDUgMDg6MzA6NTIuMDAwMDAwMDAwICswNTMwCisrKyBuZXQvcmFkaXhfbXBhdGguYwkyMDEwLTAy LTA2IDE4OjAyOjMxLjUwNzk0MzY3OSArMDUzMApAQCAtNTQsNyArNTQsNyBAQAogLyoKICAqIGdp dmUgc29tZSBqaXR0ZXIgdG8gaGFzaCwgdG8gYXZvaWQgc3luY2hyb25pemF0aW9uIGJldHdlZW4g cm91dGVycwogICovCi1zdGF0aWMgdWludDMyX3QgaGFzaGppdHRlcjsKKy8qIHN0YXRpYyB1aW50 MzJfdCBoYXNoaml0dGVyOyAqLwogCiBpbnQKIHJuX21wYXRoX2NhcGFibGUoc3RydWN0IHJhZGl4 X25vZGVfaGVhZCAqcm5oKQpAQCAtMzIwLDggKzMyMCw5IEBACiAjZW5kaWYKIAogZXh0ZXJuIGlu dAlpbjZfaW5pdGhlYWQodm9pZCAqKmhlYWQsIGludCBvZmYpOwotZXh0ZXJuIGludAlpbl9pbml0 aGVhZCh2b2lkICoqaGVhZCwgaW50IG9mZik7CitleHRlcm4gaW50CWluX2ludGhlYWQodm9pZCAq KmhlYWQsIGludCBvZmYpOwogCisjaWYgMAogI2lmZGVmIElORVQKIGludAogcm40X21wYXRoX2lu aXRoZWFkKHZvaWQgKipoZWFkLCBpbnQgb2ZmKQpAQCAtMzUyLDUgKzM1Myw2IEBACiAJfSBlbHNl CiAJCXJldHVybiAwOwogfQorI2VuZGlmCiAKICNlbmRpZgpPbmx5IGluIG5ldDogcmFkaXhfbXBh dGguaApkaWZmIC11IC1yIC9ob21lL2JhbGFqaS9Db2Rlcy9GcmVlQlNELzcuMi4wLzcuMi4wX3Vu bW9kaWZpZWQvNy4yLjAvc3lzL25ldC9yb3V0ZS5jIG5ldC9yb3V0ZS5jCi0tLSAvaG9tZS9iYWxh amkvQ29kZXMvRnJlZUJTRC83LjIuMC83LjIuMF91bm1vZGlmaWVkLzcuMi4wL3N5cy9uZXQvcm91 dGUuYwkyMDEwLTAyLTA0IDIyOjQwOjI5LjAwMDAwMDAwMCArMDUzMAorKysgbmV0L3JvdXRlLmMJ MjAxMC0wMi0wNyAxNjowNTo0NC40NDI5MzU1OTcgKzA1MzAKQEAgLTg4Niw2ICs4ODYsMTEzIEBA CiAJcmV0dXJuIChydHJlcXVlc3QxX2ZpYihyZXEsIGluZm8sIHJldF9ucnQsIDApKTsKIH0KIAor LyogRUNNUCBDaGFuZ2VzIEJlZ2luICovCitzdGF0aWMgaW50Citybl9tcGF0aF91cGRhdGUoaW50 IHJlcSwgc3RydWN0IHJ0X2FkZHJpbmZvICppbmZvLAorICAgIHN0cnVjdCByYWRpeF9ub2RlX2hl YWQgKnJuaCwgc3RydWN0IHJ0ZW50cnkgKipyZXRfbnJ0KQoreworCS8qCisJICogaWYgd2UgZ290 IG11bHRpcGF0aCByb3V0ZXMsIHdlIHJlcXVpcmUgdXNlcnMgdG8gc3BlY2lmeQorCSAqIGEgbWF0 Y2hpbmcgUlRBWF9HQVRFV0FZLgorCSAqLworCXN0cnVjdCBydGVudHJ5ICpydCwgKnJ0byA9IE5V TEw7CisJcmVnaXN0ZXIgc3RydWN0IHJhZGl4X25vZGUgKnJuOworCWludCBlcnJvciA9IDA7CisK KwlybiA9IHJuaC0+cm5oX21hdGNoYWRkcihkc3QsIHJuaCk7CisJaWYgKHJuID09IE5VTEwpCisJ CXJldHVybiAoRVNSQ0gpOworCXJ0byA9IHJ0ID0gUk5UT1JUKHJuKTsKKwlydCA9IHJ0X21wYXRo X21hdGNoZ2F0ZShydCwgZ2F0ZXdheSk7CisJaWYgKHJ0ID09IE5VTEwpCisJCXJldHVybiAoRVNS Q0gpOworCS8qCisJICogdGhpcyBpcyB0aGUgZmlyc3QgZW50cnkgaW4gdGhlIGNoYWluCisJICov CisJaWYgKHJ0byA9PSBydCkgeworCQlybiA9IHJuX21wYXRoX25leHQoKHN0cnVjdCByYWRpeF9u b2RlICopcnQpOworCQkvKgorCQkgKiB0aGVyZSBpcyBhbm90aGVyIGVudHJ5LCBub3cgaXQncyBh Y3RpdmUKKwkJICovCisJCWlmIChybikgeworCQkJcnRvID0gUk5UT1JUKHJuKTsKKwkJCVJUX0xP Q0socnRvKTsKKwkJCXJ0by0+cnRfZmxhZ3MgfD0gUlRGX1VQOworCQkJUlRfVU5MT0NLKHJ0byk7 CisJCX0gZWxzZSBpZiAocnQtPnJ0X2ZsYWdzICYgUlRGX0dBVEVXQVkpIHsKKwkJCS8qCisJCQkg KiBGb3IgZ2F0ZXdheSByb3V0ZXMsIHdlIG5lZWQgdG8gCisJCQkgKiBtYWtlIHN1cmUgdGhhdCB3 ZSB3ZSBhcmUgZGVsZXRpbmcKKwkJCSAqIHRoZSBjb3JyZWN0IGdhdGV3YXkuIAorCQkJICogcnRf bXBhdGhfbWF0Y2hnYXRlKCkgZG9lcyBub3QgCisJCQkgKiBjaGVjayB0aGUgY2FzZSB3aGVuIHRo ZXJlIGlzIG9ubHkKKwkJCSAqIG9uZSByb3V0ZSBpbiB0aGUgY2hhaW4uICAKKwkJCSAqLworCQkJ aWYgKGdhdGV3YXkgJiYKKwkJCSAgICAocnQtPnJ0X2dhdGV3YXktPnNhX2xlbiAhPSBnYXRld2F5 LT5zYV9sZW4gfHwKKwkJCQltZW1jbXAocnQtPnJ0X2dhdGV3YXksIGdhdGV3YXksIGdhdGV3YXkt PnNhX2xlbikpKQorCQkJCWVycm9yID0gRVNSQ0g7CisJCQllbHNlIHsKKwkJCQkvKgorCQkJCSAq IHJlbW92ZSBmcm9tIHRyZWUgYmVmb3JlIHJldHVybmluZyBpdAorCQkJCSAqIHRvIHRoZSBjYWxs ZXIKKwkJCQkgKi8KKwkJCQlybiA9IHJuaC0+cm5oX2RlbGFkZHIoZHN0LCBuZXRtYXNrLCBybmgp OworCQkJCUtBU1NFUlQocnQgPT0gUk5UT1JUKHJuKSwgKCJyYWRpeCBub2RlIGRpc2FwcGVhcmVk IikpOworCQkJCWdvdG8gZ3dkZWxldGU7CisJCQl9CisJCQkKKwkJfQorCQkvKgorCQkgKiB1c2Ug dGhlIG5vcm1hbCBkZWxldGUgY29kZSB0byByZW1vdmUKKwkJICogdGhlIGZpcnN0IGVudHJ5CisJ CSAqLworCQlpZiAocmVxICE9IFJUTV9ERUxFVEUpIAorCQkJZ290byBub25kZWxldGU7CisKKwkJ ZXJyb3IgPSBFTk9FTlQ7CisJCWdvdG8gZG9uZTsKKwl9CisJCQorCS8qCisJICogaWYgdGhlIGVu dHJ5IGlzIDJuZCBhbmQgb24gdXAKKwkgKi8KKwlpZiAoKHJlcSA9PSBSVE1fREVMRVRFKSAmJiAh cnRfbXBhdGhfZGVsZHVwKHJ0bywgcnQpKQorCQlwYW5pYyAoInJ0cmVxdWVzdDE6IHJ0X21wYXRo X2RlbGR1cCIpOworZ3dkZWxldGU6CisJUlRfTE9DSyhydCk7CisJUlRfQUREUkVGKHJ0KTsKKwlp ZiAocmVxID09IFJUTV9ERUxFVEUpIHsKKwkJcnQtPnJ0X2ZsYWdzICY9IH5SVEZfVVA7CisJCS8q CisJCSAqIE9uZSBtb3JlIHJ0ZW50cnkgZmxvYXRpbmcgYXJvdW5kIHRoYXQgaXMgbm90CisJCSAq IGxpbmtlZCB0byB0aGUgcm91dGluZyB0YWJsZS4gcnR0cmFzaCB3aWxsIGJlIGRlY3JlbWVudGVk CisJCSAqIHdoZW4gUlRGUkVFKHJ0KSBpcyBldmVudHVhbGx5IGNhbGxlZC4KKwkJICovCisJCXJ0 dHJhc2grKzsKKwl9CisJCitub25kZWxldGU6CisJaWYgKHJlcSAhPSBSVE1fREVMRVRFKQorCQlw YW5pYygidW5yZWNvZ25pemVkIHJlcXVlc3QgJWQiLCByZXEpOworCQorCisJLyoKKwkgKiBJZiB0 aGUgY2FsbGVyIHdhbnRzIGl0LCB0aGVuIGl0IGNhbiBoYXZlIGl0LAorCSAqIGJ1dCBpdCdzIHVw IHRvIGl0IHRvIGZyZWUgdGhlIHJ0ZW50cnkgYXMgd2Ugd29uJ3QgYmUKKwkgKiBkb2luZyBpdC4K KwkgKi8KKwlpZiAocmV0X25ydCkgeworCQkqcmV0X25ydCA9IHJ0OworCQlSVF9VTkxPQ0socnQp OworCX0gZWxzZQorCQlSVEZSRUVfTE9DS0VEKHJ0KTsKK2RvbmU6CisJcmV0dXJuIChlcnJvcik7 Cit9CisvKiBFQ01QIENoYW5nZXMgRW5kICovCisKKwogaW50CiBydHJlcXVlc3QxX2ZpYihpbnQg cmVxLCBzdHJ1Y3QgcnRfYWRkcmluZm8gKmluZm8sIHN0cnVjdCBydGVudHJ5ICoqcmV0X25ydCwK IAkJCQl1X2ludCBmaWJudW0pCkBAIC05MjMsNiArMTAzMCwxOSBAQAogCX0KIAlzd2l0Y2ggKHJl cSkgewogCWNhc2UgUlRNX0RFTEVURToKKworLyogRUNNUCBDaGFuZ2VzIEJlZ2luICovCisJCWlm IChybl9tcGF0aF9jYXBhYmxlKHJuaCkpIHsKKwkJCWVycm9yID0gcm5fbXBhdGhfdXBkYXRlKHJl cSwgaW5mbywgcm5oLCByZXRfbnJ0KTsKKwkJCS8qCisJCQkgKiAiYmFkIiBob2xkcyB0cnVlIGZv ciB0aGUgc3VjY2VzcyBjYXNlCisJCQkgKiBhcyB3ZWxsCisJCQkgKi8KKwkJCWlmIChlcnJvciAh PSBFTk9FTlQpCisJCQkJZ290byBiYWQ7CisJCX0KKy8qIEVDTVAgQ2hhbmdlcyBFbmQgKi8KKwog CQkvKgogCQkgKiBSZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgdHJlZSBhbmQgcmV0dXJuIGl0Lgog CQkgKiBDb21wbGFpbiBpZiBpdCBpcyBub3QgdGhlcmUgYW5kIGRvIG5vIG1vcmUgcHJvY2Vzc2lu Zy4KQEAgLTEwNDYsNiArMTE2NiwyMCBAQAogCQlydC0+cnRfaWZhID0gaWZhOwogCQlydC0+cnRf aWZwID0gaWZhLT5pZmFfaWZwOwogCisJLyogRUNNUCBDaGFuZ2VzIEJlZ2luICovCisJCS8qIGRv IG5vdCBwZXJtaXQgZXhhY3RseSB0aGUgc2FtZSBkc3QvbWFzay9ndyBwYWlyICovCisJCWlmIChy bl9tcGF0aF9jYXBhYmxlKHJuaCkgJiYKKwkJCXJ0X21wYXRoX2NvbmZsaWN0KHJuaCwgcnQsIG5l dG1hc2spKSB7CisJCQlpZiAocnQtPnJ0X2lmYSkgeworCQkJCUlGQUZSRUUocnQtPnJ0X2lmYSk7 CisJCQl9CisJCQlGcmVlKHJ0X2tleShydCkpOworCQkJUlRfTE9DS19ERVNUUk9ZKHJ0KTsKKwkJ CXVtYV96ZnJlZShydHpvbmUsIHJ0KTsKKwkJCXNlbmRlcnIoRUVYSVNUKTsKKwkJfQorCS8qIEVD TVAgQ2hhbmdlcyAgRW5kICovCisKIAkJLyogWFhYIG10dSBtYW5pcHVsYXRpb24gd2lsbCBiZSBk b25lIGluIHJuaF9hZGRhZGRyIC0tIGl0b2p1biAqLwogCQlybiA9IHJuaC0+cm5oX2FkZGFkZHIo bmRzdCwgbmV0bWFzaywgcm5oLCBydC0+cnRfbm9kZXMpOwogCQlpZiAocm4gPT0gTlVMTCkgewpA QCAtMTQ1Niw2ICsxNTkwLDI5IEBACiAJCQkJLyogdGhpcyB0YWJsZSBkb2Vzbid0IGV4aXN0IGJ1 dCBvdGhlcnMgbWlnaHQgKi8KIAkJCQljb250aW51ZTsKIAkJCVJBRElYX05PREVfSEVBRF9MT0NL KHJuaCk7CisvKiBFQ01QIENoYW5nZXMgQmVnaW4gKi8KKwkJCWlmIChybl9tcGF0aF9jYXBhYmxl KHJuaCkpIHsKKworCQkJCXJuID0gcm5oLT5ybmhfbWF0Y2hhZGRyKGRzdCwgcm5oKTsKKwkJCQlp ZiAocm4gPT0gTlVMTCkgCisJCQkJCWVycm9yID0gRVNSQ0g7CisJCQkJZWxzZSB7CisJCQkJCXJ0 ID0gUk5UT1JUKHJuKTsKKwkJCQkJLyoKKwkJCQkJICogZm9yIGludGVyZmFjZSByb3V0ZSB0aGUK KwkJCQkJICogcnQtPnJ0X2dhdGV3YXkgaXMgc29ja2FkZHJfaW50ZgorCQkJCQkgKiBmb3IgY2xv bmluZyBBUlAgZW50cmllcywgc28KKwkJCQkJICogcnRfbXBhdGhfbWF0Y2hnYXRlIG11c3QgdXNl IHRoZQorCQkJCQkgKiBpbnRlcmZhY2UgYWRkcmVzcworCQkJCQkgKi8KKwkJCQkJcnQgPSBydF9t cGF0aF9tYXRjaGdhdGUocnQsCisJCQkJCSAgICBpZmEtPmlmYV9hZGRyKTsKKwkJCQkJaWYgKCFy dCkgCisJCQkJCQllcnJvciA9IEVTUkNIOworCQkJCX0KKwkJCX0KKwkJCWVsc2UKKy8qIEVDTVAg Q2hhbmdlcyBFbmQgKi8KIAkJCXJuID0gcm5oLT5ybmhfbG9va3VwKGRzdCwgbmV0bWFzaywgcm5o KTsKIAkJCWVycm9yID0gKHJuID09IE5VTEwgfHwKIAkJCSAgICAocm4tPnJuX2ZsYWdzICYgUk5G X1JPT1QpIHx8CkBAIC0xNDgyLDYgKzE2MzksMjIgQEAKIAkJCSAqIG5vdGlmeSBhbnkgbGlzdGVu aW5nIHJvdXRpbmcgYWdlbnRzIG9mIHRoZSBjaGFuZ2UKIAkJCSAqLwogCQkJUlRfTE9DSyhydCk7 CisvKiBFQ01QIENoYW5nZXMgQmVnaW4gKi8KKwkJCS8qCisJCQkgKiBpbiBjYXNlIGFkZHJlc3Mg YWxpYXMgZmluZHMgdGhlIGZpcnN0IGFkZHJlc3MKKwkJCSAqIGUuZy4gaWZjb25maWcgYmdlMCAx OTIuMTAzLjU0LjI0Ni8yNAorCQkJICogZS5nLiBpZmNvbmZpZyBiZ2UwIDE5Mi4xMDMuNTQuMjQ3 LzI0CisJCQkgKiB0aGUgYWRkcmVzcyBzZXQgaW4gdGhlIHJvdXRlIGlzIDE5Mi4xMDMuNTQuMjQ2 CisJCQkgKiBzbyB3ZSBuZWVkIHRvIHJlcGxhY2UgaXQgd2l0aCAxOTIuMTAzLjU0LjI0NworCQkJ ICovCisJCQlpZiAobWVtY21wKHJ0LT5ydF9pZmEtPmlmYV9hZGRyLAorCQkJICAgIGlmYS0+aWZh X2FkZHIsIGlmYS0+aWZhX2FkZHItPnNhX2xlbikpIHsKKwkJCQlJRkFGUkVFKHJ0LT5ydF9pZmEp OworCQkJCUlGQVJFRihpZmEpOworCQkJCXJ0LT5ydF9pZnAgPSBpZmEtPmlmYV9pZnA7CisJCQkJ cnQtPnJ0X2lmYSA9IGlmYTsKKwkJCX0KKy8qIEVDTVAgQ2hhbmdlcyBFbmQgKi8KIAkJCXJ0X25l d2FkZHJtc2coY21kLCBpZmEsIGVycm9yLCBydCk7CiAJCQlpZiAoY21kID09IFJUTV9ERUxFVEUp IHsKIAkJCQkvKgpkaWZmIC11IC1yIC9ob21lL2JhbGFqaS9Db2Rlcy9GcmVlQlNELzcuMi4wLzcu Mi4wX3VubW9kaWZpZWQvNy4yLjAvc3lzL25ldC9yb3V0ZS5oIG5ldC9yb3V0ZS5oCi0tLSAvaG9t ZS9iYWxhamkvQ29kZXMvRnJlZUJTRC83LjIuMC83LjIuMF91bm1vZGlmaWVkLzcuMi4wL3N5cy9u ZXQvcm91dGUuaAkyMDEwLTAyLTA0IDIyOjQwOjI5LjAwMDAwMDAwMCArMDUzMAorKysgbmV0L3Jv dXRlLmgJMjAxMC0wMi0wNiAxNzoxOToxMC42NzI5NDYwMDQgKzA1MzAKQEAgLTU4LDYgKzU4LDkg QEAKIAl1X2xvbmcJcm14X210dTsJLyogTVRVIGZvciB0aGlzIHBhdGggKi8KIAl1X2xvbmcJcm14 X2V4cGlyZTsJLyogbGlmZXRpbWUgZm9yIHJvdXRlLCBlLmcuIHJlZGlyZWN0ICovCiAJdV9sb25n CXJteF9wa3NlbnQ7CS8qIHBhY2tldHMgc2VudCB1c2luZyB0aGlzIHJvdXRlICovCisvKiBFQ01Q IENoYW5nZXMgQmVnaW4gKi8KKwl1X2xvbmcgIHJteF93ZWlnaHQ7IAorLyogRUNNUCBDaGFuZ2Vz IEVuZCAgKi8KIH07CiAKIHN0cnVjdCBydF9tZXRyaWNzIHsKQEAgLTEwMSw2ICsxMDQsMTEgQEAK ICNpZm5kZWYgUk5GX05PUk1BTAogI2luY2x1ZGUgPG5ldC9yYWRpeC5oPgogI2VuZGlmCisKKy8q IEVDTVAgQ2hhbmdlcyBCZWdpbiAqLworI2luY2x1ZGUgPG5ldC9yYWRpeF9tcGF0aC5oPgorLyog RUNNUCBDaGFuZ2VzIEVuZCAgKi8KKwogc3RydWN0IHJ0ZW50cnkgewogCXN0cnVjdAlyYWRpeF9u b2RlIHJ0X25vZGVzWzJdOwkvKiB0cmVlIGdsdWUsIGFuZCBvdGhlciB2YWx1ZXMgKi8KIAkvKgpk aWZmIC11IC1yIC9ob21lL2JhbGFqaS9Db2Rlcy9GcmVlQlNELzcuMi4wLzcuMi4wX3VubW9kaWZp ZWQvNy4yLjAvc3lzL25ldC9ydHNvY2suYyBuZXQvcnRzb2NrLmMKLS0tIC9ob21lL2JhbGFqaS9D b2Rlcy9GcmVlQlNELzcuMi4wLzcuMi4wX3VubW9kaWZpZWQvNy4yLjAvc3lzL25ldC9ydHNvY2su YwkyMDEwLTAyLTA0IDIyOjQwOjI5LjAwMDAwMDAwMCArMDUzMAorKysgbmV0L3J0c29jay5jCTIw MTAtMDItMDYgMTY6MzQ6NDMuNzAwNzEzMTUyICswNTMwCkBAIC01MzYsNiArNTM2LDI3IEBACiAJ CQlSQURJWF9OT0RFX0hFQURfVU5MT0NLKHJuaCk7CiAJCQlzZW5kZXJyKEVTUkNIKTsKIAkJfQor CisvKiBFQ01QIENoYW5nZXMgQmVnaW4gKi8KKwkJLyoKKwkJICogZm9yIFJUTV9DSEFOR0UvTE9D SywgaWYgd2UgZ290IG11bHRpcGF0aCByb3V0ZXMsCisJCSAqIHdlIHJlcXVpcmUgdXNlcnMgdG8g c3BlY2lmeSBhIG1hdGNoaW5nIFJUQVhfR0FURVdBWS4KKwkJICoKKwkJICogZm9yIFJUTV9HRVQs IGdhdGUgaXMgb3B0aW9uYWwgZXZlbiB3aXRoIG11bHRpcGF0aC4KKwkJICogaWYgZ2F0ZSA9PSBO VUxMIHRoZSBmaXJzdCBtYXRjaCBpcyByZXR1cm5lZC4KKwkJICogKG5vIG5lZWQgdG8gY2FsbCBy dF9tcGF0aF9tYXRjaGdhdGUgaWYgZ2F0ZSA9PSBOVUxMKQorCQkgKi8KKwkJaWYgKHJuX21wYXRo X2NhcGFibGUocm5oKSAmJgorCQkgICAgKHJ0bS0+cnRtX3R5cGUgIT0gUlRNX0dFVCB8fCBpbmZv LnJ0aV9pbmZvW1JUQVhfR0FURVdBWV0pKSB7CisJCQlydCA9IHJ0X21wYXRoX21hdGNoZ2F0ZShy dCwgaW5mby5ydGlfaW5mb1tSVEFYX0dBVEVXQVldKTsKKwkJCWlmICghcnQpIHsKKwkJCQlSQURJ WF9OT0RFX0hFQURfVU5MT0NLKHJuaCk7CisJCQkJc2VuZGVycihFU1JDSCk7CisJCQl9CisJCX0K KworLyogRUNNUCBDaGFuZ2VzIEVuZCAqLworCiAJCVJUX0xPQ0socnQpOwogCQlSVF9BRERSRUYo cnQpOwogCQlSQURJWF9OT0RFX0hFQURfVU5MT0NLKHJuaCk7Cg== --00504502ad118ad7e3047f189c33 Content-Type: text/x-patch; charset=US-ASCII; name="ecmp_patch2.patch" Content-Disposition: attachment; filename="ecmp_patch2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5fffgku1 ZGlmZiAtdSAtciAvaG9tZS9iYWxhamkvQ29kZXMvRnJlZUJTRC83LjIuMC83LjIuMF91bm1vZGlm aWVkLzcuMi4wL3N5cy9uZXRpbmV0L2luX3JteC5jIG5ldGluZXQvaW5fcm14LmMKLS0tIC9ob21l L2JhbGFqaS9Db2Rlcy9GcmVlQlNELzcuMi4wLzcuMi4wX3VubW9kaWZpZWQvNy4yLjAvc3lzL25l dGluZXQvaW5fcm14LmMJMjAxMC0wMi0wNCAyMjozNTowNy4wMDAwMDAwMDAgKzA1MzAKKysrIG5l dGluZXQvaW5fcm14LmMJMjAxMC0wMi0wNyAxMjo1Njo1Ni45MzQ5NjgyNDQgKzA1MzAKQEAgLTM2 OSw2ICszNjksOSBAQAogCXJuaC0+cm5oX2FkZGFkZHIgPSBpbl9hZGRyb3V0ZTsKIAlybmgtPnJu aF9tYXRjaGFkZHIgPSBpbl9tYXRyb3V0ZTsKIAlybmgtPnJuaF9jbG9zZSA9IGluX2Nsc3JvdXRl OworCS8qIEVDTVAgQ2hhbmdlcyBCZWdpbiAqLworCXJuaC0+cm5oX211bHRpcGF0aCA9IDE7CisJ LyogRUNNUCBDaGFuZ2VzIEVuZCAqLwogCWlmIChfaW5fcnRfd2FzX2hlcmUgPT0gMCApIHsKIAkJ Y2FsbG91dF9pbml0KCZydHFfdGltZXIsIENBTExPVVRfTVBTQUZFKTsKIAkJaW5fcnRxdGltbyhy bmgpOwkvKiBraWNrIG9mZiB0aW1lb3V0IGZpcnN0IHRpbWUgKi8K --00504502ad118ad7e3047f189c33--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6dd1343e1002080739m38f4deffr604c71e5036389a4>