Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2011 19:10:12 GMT
From:      Sergey Matveychuk <sem33@yandex-team.ru>
To:        freebsd-ipfw@FreeBSD.org
Subject:   Re: kern/128260: [ipfw] [patch] ipfw_divert damages IPv6 packets
Message-ID:  <201103151910.p2FJACpx003227@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/128260; it has been noted by GNATS.

From: Sergey Matveychuk <sem33@yandex-team.ru>
To: bug-followup@FreeBSD.org, dan@obluda.cz
Cc:  
Subject: Re: kern/128260: [ipfw] [patch] ipfw_divert damages IPv6 packets
Date: Tue, 15 Mar 2011 22:06:28 +0300

 This is a multi-part message in MIME format.
 --------------030906040307050306030601
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 7bit
 
 Complete remove nd6.c part. I'll send it separately with explanations.
 
 --------------030906040307050306030601
 Content-Type: text/plain;
  name="divert-ipv6.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
  filename="divert-ipv6.diff"
 
 LS0tIHN5cy9uZXRpbmV0L2lwZncvaXBfZndfcGZpbC5jLm9yaWcJMjAxMC0xMi0xMCAwODox
 ODozNy4wMDAwMDAwMDAgKzAzMDAKKysrIHN5cy9uZXRpbmV0L2lwZncvaXBfZndfcGZpbC5j
 CTIwMTEtMDMtMTUgMjA6MDg6MjMuMDAwMDAwMDAwICswMzAwCkBAIC0yODksNyArMjg5LDcg
 QEAKIAkgKiB3ZSBjYW4gZG8gaXQgYmVmb3JlIGEgJ3RlZScuCiAJICovCiAJaXAgPSBtdG9k
 KGNsb25lLCBzdHJ1Y3QgaXAgKik7Ci0JaWYgKCF0ZWUgJiYgbnRvaHMoaXAtPmlwX29mZikg
 JiAoSVBfTUYgfCBJUF9PRkZNQVNLKSkgeworCWlmIChpcC0+aXBfdiA9PSA0ICYmICF0ZWUg
 JiYgbnRvaHMoaXAtPmlwX29mZikgJiAoSVBfTUYgfCBJUF9PRkZNQVNLKSkgewogCQlpbnQg
 aGxlbjsKIAkJc3RydWN0IG1idWYgKnJlYXNzOwogCi0tLSBzeXMvbmV0aW5ldC9pcF9kaXZl
 cnQuYy5vcmlnCTIwMTAtMDgtMjcgMjI6NTA6MTIuMDAwMDAwMDAwICswNDAwCisrKyBzeXMv
 bmV0aW5ldC9pcF9kaXZlcnQuYwkyMDExLTAzLTE1IDIxOjI0OjA2LjAwMDAwMDAwMCArMDMw
 MApAQCAtMzcsNiArMzcsNyBAQAogI2Vycm9yICJJUERJVkVSVCByZXF1aXJlcyBJTkVULiIK
 ICNlbmRpZgogI2VuZGlmCisjaW5jbHVkZSAib3B0X2luZXQ2LmgiCiAKICNpbmNsdWRlIDxz
 eXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMva2VybmVsLmg+CkBAIC02OSw2ICs3MCw4IEBA
 CiAjaW5jbHVkZSA8bmV0aW5ldC9pbl92YXIuaD4KICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+
 CiAjaW5jbHVkZSA8bmV0aW5ldC9pcF92YXIuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2lwNi5o
 PgorI2luY2x1ZGUgPG5ldGluZXQ2L2lwNl92YXIuaD4KICNpZmRlZiBTQ1RQCiAjaW5jbHVk
 ZSA8bmV0aW5ldC9zY3RwX2NyYzMyLmg+CiAjZW5kaWYKQEAgLTM4OSw3MSArMzkyLDEwMyBA
 QAogCS8qIFJlaW5qZWN0IHBhY2tldCBpbnRvIHRoZSBzeXN0ZW0gYXMgaW5jb21pbmcgb3Ig
 b3V0Z29pbmcgKi8KIAlpZiAoIXNpbiB8fCBzaW4tPnNpbl9hZGRyLnNfYWRkciA9PSAwKSB7
 CiAJCXN0cnVjdCBpcCAqY29uc3QgaXAgPSBtdG9kKG0sIHN0cnVjdCBpcCAqKTsKKyNpZmRl
 ZiBJTkVUNgorCQlzdHJ1Y3QgaXA2X2hkciAqY29uc3QgaXA2ID0gbXRvZChtLCBzdHJ1Y3Qg
 aXA2X2hkciAqKTsKKyNlbmRpZgogCQlzdHJ1Y3QgaW5wY2IgKmlucDsKIAogCQlkdC0+aW5m
 byB8PSBJUEZXX0lTX0RJVkVSVCB8IElQRldfSU5GT19PVVQ7CiAJCWlucCA9IHNvdG9pbnBj
 Yihzbyk7CiAJCUlOUF9STE9DSyhpbnApOwotCQkvKgotCQkgKiBEb24ndCBhbGxvdyBib3Ro
 IHVzZXIgc3BlY2lmaWVkIGFuZCBzZXRzb2Nrb3B0IG9wdGlvbnMsCi0JCSAqIGFuZCBkb24n
 dCBhbGxvdyBwYWNrZXQgbGVuZ3RoIHNpemVzIHRoYXQgd2lsbCBjcmFzaAotCQkgKi8KLQkJ
 aWYgKCgoaXAtPmlwX2hsICE9IChzaXplb2YgKCppcCkgPj4gMikpICYmIGlucC0+aW5wX29w
 dGlvbnMpIHx8Ci0JCSAgICAgKCh1X3Nob3J0KW50b2hzKGlwLT5pcF9sZW4pID4gbS0+bV9w
 a3RoZHIubGVuKSkgewotCQkJZXJyb3IgPSBFSU5WQUw7Ci0JCQlJTlBfUlVOTE9DSyhpbnAp
 OwotCQkJbV9mcmVlbShtKTsKLQkJfSBlbHNlIHsKKwkJaWYgKGlwLT5pcF92ID09IDQpIHsK
 KwkJCS8qCisJCQkgKiBEb24ndCBhbGxvdyBib3RoIHVzZXIgc3BlY2lmaWVkIGFuZCBzZXRz
 b2Nrb3B0IG9wdGlvbnMsCisJCQkgKiBhbmQgZG9uJ3QgYWxsb3cgcGFja2V0IGxlbmd0aCBz
 aXplcyB0aGF0IHdpbGwgY3Jhc2gKKwkJCSAqLworCQkJaWYgKCgoaXAtPmlwX2hsICE9IChz
 aXplb2YgKCppcCkgPj4gMikpICYmIGlucC0+aW5wX29wdGlvbnMpIHx8CisJCQkgICAgICgo
 dV9zaG9ydCludG9ocyhpcC0+aXBfbGVuKSA+IG0tPm1fcGt0aGRyLmxlbikpIHsKKwkJCQll
 cnJvciA9IEVJTlZBTDsKKwkJCQlJTlBfUlVOTE9DSyhpbnApOworCQkJCWdvdG8gY2FudHNl
 bmQ7CisJCQl9CisKIAkJCS8qIENvbnZlcnQgZmllbGRzIHRvIGhvc3Qgb3JkZXIgZm9yIGlw
 X291dHB1dCgpICovCiAJCQlpcC0+aXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CiAJCQlp
 cC0+aXBfb2ZmID0gbnRvaHMoaXAtPmlwX29mZik7CisJCX0KKyNpZmRlZiBJTkVUNgkJCisJ
 CWVsc2UKKwkJCWlmIChpcC0+aXBfdiA9PSA2KSB7CisJCQkgICAgLyogRG9uJ3QgYWxsb3cg
 cGFja2V0IGxlbmd0aCBzaXplcyB0aGF0IHdpbGwgY3Jhc2ggKi8KKwkJCSAgICBpZiAoKCh1
 X3Nob3J0KW50b2hzKGlwNi0+aXA2X3BsZW4pID4gbS0+bV9wa3RoZHIubGVuKSkgeworCQkJ
 CSAgICBlcnJvciA9IEVJTlZBTDsKKwkJCQkgICAgSU5QX1JVTkxPQ0soaW5wKTsKKwkJCQkg
 ICAgZ290byBjYW50c2VuZDsKKwkJCSAgICB9CisKKwkJCSAgICBpcDYtPmlwNl9wbGVuID0g
 bnRvaHMoaXA2LT5pcDZfcGxlbik7CisJCQl9CisjZW5kaWYKKwkJLyogVW5rbm93biBwcm90
 b2NvbCAqLworCQllbHNlIHsKKwkJCWVycm9yID0gRUlOVkFMOworCQkJSU5QX1JVTkxPQ0so
 aW5wKTsKKwkJCWdvdG8gY2FudHNlbmQ7CisJCX0KIAotCQkJLyogU2VuZCBwYWNrZXQgdG8g
 b3V0cHV0IHByb2Nlc3NpbmcgKi8KLQkJCUtNT0RfSVBTVEFUX0lOQyhpcHNfcmF3b3V0KTsJ
 CS8qIFhYWCAqLworCQkvKiBTZW5kIHBhY2tldCB0byBvdXRwdXQgcHJvY2Vzc2luZyAqLwor
 CQlLTU9EX0lQU1RBVF9JTkMoaXBzX3Jhd291dCk7CQkvKiBYWFggKi8KIAogI2lmZGVmIE1B
 QwotCQkJbWFjX2lucGNiX2NyZWF0ZV9tYnVmKGlucCwgbSk7CisJCW1hY19pbnBjYl9jcmVh
 dGVfbWJ1ZihpbnAsIG0pOwogI2VuZGlmCi0JCQkvKgotCQkJICogR2V0IHJlYWR5IHRvIGlu
 amVjdCB0aGUgcGFja2V0IGludG8gaXBfb3V0cHV0KCkuCi0JCQkgKiBKdXN0IGluIGNhc2Ug
 c29ja2V0IG9wdGlvbnMgd2VyZSBzcGVjaWZpZWQgb24gdGhlCi0JCQkgKiBkaXZlcnQgc29j
 a2V0LCB3ZSBkdXBsaWNhdGUgdGhlbS4gIFRoaXMgaXMgZG9uZQotCQkJICogdG8gYXZvaWQg
 aGF2aW5nIHRvIGhvbGQgdGhlIFBDQiBsb2NrcyBvdmVyIHRoZSBjYWxsCi0JCQkgKiB0byBp
 cF9vdXRwdXQoKSwgYXMgZG9pbmcgdGhpcyByZXN1bHRzIGluIGEgbnVtYmVyIG9mCi0JCQkg
 KiBsb2NrIG9yZGVyaW5nIGNvbXBsZXhpdGllcy4KLQkJCSAqCi0JCQkgKiBOb3RlIHRoYXQg
 d2Ugc2V0IHRoZSBtdWx0aWNhc3Qgb3B0aW9ucyBhcmd1bWVudCBmb3IKLQkJCSAqIGlwX291
 dHB1dCgpIHRvIE5VTEwgc2luY2UgaXQgc2hvdWxkIGJlIGludmFyaWFudCB0aGF0Ci0JCQkg
 KiB0aGV5IGFyZSBub3QgcHJlc2VudC4KLQkJCSAqLwotCQkJS0FTU0VSVChpbnAtPmlucF9t
 b3B0aW9ucyA9PSBOVUxMLAotCQkJICAgICgibXVsdGljYXN0IG9wdGlvbnMgc2V0IG9uIGEg
 ZGl2ZXJ0IHNvY2tldCIpKTsKLQkJCW9wdGlvbnMgPSBOVUxMOwotCQkJLyoKLQkJCSAqIFhY
 WENTSlA6IEl0IGlzIHVuY2xlYXIgdG8gbWUgd2hldGhlciBvciBub3QgaXQgbWFrZXMKLQkJ
 CSAqIHNlbnNlIGZvciBkaXZlcnQgc29ja2V0cyB0byBoYXZlIG9wdGlvbnMuICBIb3dldmVy
 LAotCQkJICogZm9yIG5vdyB3ZSB3aWxsIGR1cGxpY2F0ZSB0aGVtIHdpdGggdGhlIElOUCBs
 b2NrcwotCQkJICogaGVsZCBzbyB3ZSBjYW4gdXNlIHRoZW0gaW4gaXBfb3V0cHV0KCkgd2l0
 aG91dAotCQkJICogcmVxdXJpbmcgYSByZWZlcmVuY2UgdG8gdGhlIHBjYi4KLQkJCSAqLwot
 CQkJaWYgKGlucC0+aW5wX29wdGlvbnMgIT0gTlVMTCkgewotCQkJCW9wdGlvbnMgPSBtX2R1
 cChpbnAtPmlucF9vcHRpb25zLCBNX0RPTlRXQUlUKTsKLQkJCQlpZiAob3B0aW9ucyA9PSBO
 VUxMKQotCQkJCQllcnJvciA9IEVOT0JVRlM7Ci0JCQl9Ci0JCQlJTlBfUlVOTE9DSyhpbnAp
 OwotCQkJaWYgKGVycm9yID09IEVOT0JVRlMpIHsKLQkJCQltX2ZyZWVtKG0pOwotCQkJCXJl
 dHVybiAoZXJyb3IpOwotCQkJfQotCQkJZXJyb3IgPSBpcF9vdXRwdXQobSwgb3B0aW9ucywg
 TlVMTCwKLQkJCSAgICAoKHNvLT5zb19vcHRpb25zICYgU09fRE9OVFJPVVRFKSA/Ci0JCQkg
 ICAgSVBfUk9VVEVUT0lGIDogMCkgfCBJUF9BTExPV0JST0FEQ0FTVCB8Ci0JCQkgICAgSVBf
 UkFXT1VUUFVULCBOVUxMLCBOVUxMKTsKLQkJCWlmIChvcHRpb25zICE9IE5VTEwpCi0JCQkJ
 bV9mcmVlbShvcHRpb25zKTsKKwkJLyoKKwkJICogR2V0IHJlYWR5IHRvIGluamVjdCB0aGUg
 cGFja2V0IGludG8gaXBfb3V0cHV0KCkuCisJCSAqIEp1c3QgaW4gY2FzZSBzb2NrZXQgb3B0
 aW9ucyB3ZXJlIHNwZWNpZmllZCBvbiB0aGUKKwkJICogZGl2ZXJ0IHNvY2tldCwgd2UgZHVw
 bGljYXRlIHRoZW0uICBUaGlzIGlzIGRvbmUKKwkJICogdG8gYXZvaWQgaGF2aW5nIHRvIGhv
 bGQgdGhlIFBDQiBsb2NrcyBvdmVyIHRoZSBjYWxsCisJCSAqIHRvIGlwX291dHB1dCgpLCBh
 cyBkb2luZyB0aGlzIHJlc3VsdHMgaW4gYSBudW1iZXIgb2YKKwkJICogbG9jayBvcmRlcmlu
 ZyBjb21wbGV4aXRpZXMuCisJCSAqCisJCSAqIE5vdGUgdGhhdCB3ZSBzZXQgdGhlIG11bHRp
 Y2FzdCBvcHRpb25zIGFyZ3VtZW50IGZvcgorCQkgKiBpcF9vdXRwdXQoKSB0byBOVUxMIHNp
 bmNlIGl0IHNob3VsZCBiZSBpbnZhcmlhbnQgdGhhdAorCQkgKiB0aGV5IGFyZSBub3QgcHJl
 c2VudC4KKwkJICovCisJCUtBU1NFUlQoaW5wLT5pbnBfbW9wdGlvbnMgPT0gTlVMTCwKKwkJ
 ICAgICgibXVsdGljYXN0IG9wdGlvbnMgc2V0IG9uIGEgZGl2ZXJ0IHNvY2tldCIpKTsKKwkJ
 b3B0aW9ucyA9IE5VTEw7CisJCS8qCisJCSAqIFhYWENTSlA6IEl0IGlzIHVuY2xlYXIgdG8g
 bWUgd2hldGhlciBvciBub3QgaXQgbWFrZXMKKwkJICogc2Vuc2UgZm9yIGRpdmVydCBzb2Nr
 ZXRzIHRvIGhhdmUgb3B0aW9ucy4gIEhvd2V2ZXIsCisJCSAqIGZvciBub3cgd2Ugd2lsbCBk
 dXBsaWNhdGUgdGhlbSB3aXRoIHRoZSBJTlAgbG9ja3MKKwkJICogaGVsZCBzbyB3ZSBjYW4g
 dXNlIHRoZW0gaW4gaXBfb3V0cHV0KCkgd2l0aG91dAorCQkgKiByZXF1cmluZyBhIHJlZmVy
 ZW5jZSB0byB0aGUgcGNiLgorCQkgKi8KKwkJaWYgKGlucC0+aW5wX29wdGlvbnMgIT0gTlVM
 TCkgeworCQkJb3B0aW9ucyA9IG1fZHVwKGlucC0+aW5wX29wdGlvbnMsIE1fRE9OVFdBSVQp
 OworCQkJaWYgKG9wdGlvbnMgPT0gTlVMTCkKKwkJCQllcnJvciA9IEVOT0JVRlM7CisJCX0K
 KwkJSU5QX1JVTkxPQ0soaW5wKTsKKwkJaWYgKGVycm9yID09IEVOT0JVRlMpIHsKKwkJCW1f
 ZnJlZW0obSk7CisJCQlyZXR1cm4gKGVycm9yKTsKIAkJfQorCQlpZiAoaXAtPmlwX3YgPT0g
 NCkKKwkJICAgIGVycm9yID0gaXBfb3V0cHV0KG0sIG9wdGlvbnMsIE5VTEwsCisJCQkoKHNv
 LT5zb19vcHRpb25zICYgU09fRE9OVFJPVVRFKSA/CisJCQlJUF9ST1VURVRPSUYgOiAwKSB8
 IElQX0FMTE9XQlJPQURDQVNUIHwKKwkJCUlQX1JBV09VVFBVVCwgTlVMTCwgTlVMTCk7Cisj
 aWZkZWYgSU5FVDYKKwkJZWxzZQorCQkgICAgZXJyb3IgPSBpcDZfb3V0cHV0KG0sIE5VTEws
 IE5VTEwsIDAsIAorCQkJTlVMTCwgTlVMTCwgTlVMTCk7CisjZW5kaWYKKwkJaWYgKG9wdGlv
 bnMgIT0gTlVMTCkKKwkJCW1fZnJlZW0ob3B0aW9ucyk7CiAJfSBlbHNlIHsKKwkJc3RydWN0
 IGlwICpjb25zdCBpcCA9IG10b2QobSwgc3RydWN0IGlwICopOworCiAJCWR0LT5pbmZvIHw9
 IElQRldfSVNfRElWRVJUIHwgSVBGV19JTkZPX0lOOwogCQlpZiAobS0+bV9wa3RoZHIucmN2
 aWYgPT0gTlVMTCkgewogCQkJLyoKQEAgLTQ3Nyw3ICs1MTIsMTIgQEAKIAkJbWFjX3NvY2tl
 dF9jcmVhdGVfbWJ1ZihzbywgbSk7CiAjZW5kaWYKIAkJLyogU2VuZCBwYWNrZXQgdG8gaW5w
 dXQgcHJvY2Vzc2luZyB2aWEgbmV0aXNyICovCi0JCW5ldGlzcl9xdWV1ZV9zcmMoTkVUSVNS
 X0lQLCAodWludHB0cl90KXNvLCBtKTsKKwkJaWYgKGlwLT5pcF92ID09IDQpCisJCSAgICBu
 ZXRpc3JfcXVldWVfc3JjKE5FVElTUl9JUCwgKHVpbnRwdHJfdClzbywgbSk7CisjaWZkZWYg
 SU5FVDYKKwkJZWxzZQorCQkgICAgbmV0aXNyX3F1ZXVlX3NyYyhORVRJU1JfSVBWNiwgKHVp
 bnRwdHJfdClzbywgbSk7CisjZW5kaWYKIAl9CiAKIAlyZXR1cm4gZXJyb3I7Ci0tLSBzeXMv
 bW9kdWxlcy9pcGRpdmVydC9NYWtlZmlsZS5vcmlnCTIwMDktMDgtMDMgMTI6MTM6MDYuMDAw
 MDAwMDAwICswNDAwCisrKyBzeXMvbW9kdWxlcy9pcGRpdmVydC9NYWtlZmlsZQkyMDExLTAz
 LTE1IDIxOjE5OjMzLjAwMDAwMDAwMCArMDMwMApAQCAtMyw2ICszLDExIEBACiAuUEFUSDog
 JHsuQ1VSRElSfS8uLi8uLi9uZXRpbmV0CiAKIEtNT0Q9ICAgaXBkaXZlcnQKLVNSQ1M9ICAg
 aXBfZGl2ZXJ0LmMKK1NSQ1M9ICAgaXBfZGl2ZXJ0LmMgb3B0X2luZXQ2LmgKKworLmlmICFk
 ZWZpbmVkKEtFUk5CVUlMRERJUikKK29wdF9pbmV0Ni5oOgorCWVjaG8gIiNkZWZpbmUgSU5F
 VDYgMSIgPiAkey5UQVJHRVR9CisuZW5kaWYKIAogLmluY2x1ZGUgPGJzZC5rbW9kLm1rPgo=
 --------------030906040307050306030601--



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