kern/117234: [ipfw] [patch] ipfw send_pkt() and ipfw_tick() don't seem to support IPV6

Joost Bekkers joost at jodocus.org
Sun Jun 21 22:00:15 UTC 2009


The following reply was made to PR kern/117234; it has been noted by GNATS.

From: "Joost Bekkers" <joost at jodocus.org>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: kern/117234: [ipfw] [patch] ipfw send_pkt() and ipfw_tick() 
     don't seem to support IPV6
Date: Sun, 21 Jun 2009 23:35:11 +0200 (CEST)

 ------=_20090621233511_54797
 Content-Type: text/plain; charset="iso-8859-1"
 Content-Transfer-Encoding: 8bit
 
 Updated the patch for use with 8.0-current
 
 This patch is against version 1.1 of src/sys/netinet/ipfw/ip_fw2.c
 It applies cleanly to HEAD (version 1.5) as well.
 ------=_20090621233511_54797
 Content-Type: application/octet-stream;
       name="ip_fw2.c-80-current-200906.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="ip_fw2.c-80-current-200906.diff"
 
 LS0tIGlwX2Z3Mi5jLm9yZwkyMDA5LTA2LTIxIDE5OjUyOjM2LjAwMDAwMDAwMCArMDAwMAorKysg
 aXBfZncyLmMJMjAwOS0wNi0yMSAyMDo1NDowMy4wMDAwMDAwMDAgKzAwMDAKQEAgLTk3LDYgKzk3
 LDcgQEAKICNpbmNsdWRlIDxuZXRpbmV0L2ljbXA2Lmg+CiAjaWZkZWYgSU5FVDYKICNpbmNsdWRl
 IDxuZXRpbmV0Ni9zY29wZTZfdmFyLmg+CisjaW5jbHVkZSA8bmV0aW5ldDYvaXA2X3Zhci5oPgog
 I2VuZGlmCiAKICNpbmNsdWRlIDxtYWNoaW5lL2luX2Nrc3VtLmg+CS8qIFhYWCBmb3IgaW5fY2tz
 dW0gKi8KQEAgLTI0OSw2ICsyNTAsMTAgQEAKICNkZWZpbmUJSVBGV19EWU5fVU5MT0NLKCkJbXR4
 X3VubG9jaygmaXBmd19keW5fbXR4KQogI2RlZmluZQlJUEZXX0RZTl9MT0NLX0FTU0VSVCgpCW10
 eF9hc3NlcnQoJmlwZndfZHluX210eCwgTUFfT1dORUQpCiAKK3N0YXRpYyBzdHJ1Y3QgbWJ1ZiAq
 c2VuZF9wa3Qoc3RydWN0IG1idWYgKiwgc3RydWN0IGlwZndfZmxvd19pZCAqLAorICAgIHVfaW50
 MzJfdCwgdV9pbnQzMl90LCBpbnQpOworCisKIC8qCiAgKiBUaW1lb3V0cyBmb3IgdmFyaW91cyBl
 dmVudHMgaW4gaGFuZGluZyBkeW5hbWljIHJ1bGVzLgogICovCkBAIC03MDAsNjAgKzcwNSwxNyBA
 QAogCW0gPSBhcmdzLT5tOwogCWlmIChjb2RlID09IElDTVA2X1VOUkVBQ0hfUlNUICYmIGFyZ3Mt
 PmZfaWQucHJvdG8gPT0gSVBQUk9UT19UQ1ApIHsKIAkJc3RydWN0IHRjcGhkciAqdGNwOwotCQl0
 Y3Bfc2VxIGFjaywgc2VxOwotCQlpbnQgZmxhZ3M7Ci0JCXN0cnVjdCB7Ci0JCQlzdHJ1Y3QgaXA2
 X2hkciBpcDY7Ci0JCQlzdHJ1Y3QgdGNwaGRyIHRoOwotCQl9IHRpOwogCQl0Y3AgPSAoc3RydWN0
 IHRjcGhkciAqKSgoY2hhciAqKWlwNiArIGhsZW4pOwogCi0JCWlmICgodGNwLT50aF9mbGFncyAm
 IFRIX1JTVCkgIT0gMCkgewotCQkJbV9mcmVlbShtKTsKLQkJCWFyZ3MtPm0gPSBOVUxMOwotCQkJ
 cmV0dXJuOworICAgICAgICAgICAgICAgIGlmICgodGNwLT50aF9mbGFncyAmIFRIX1JTVCkgPT0g
 MCkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1idWYgKm0wOworICAgICAgICAg
 ICAgICAgICAgICAgICAgbTAgPSBzZW5kX3BrdChhcmdzLT5tLCAmKGFyZ3MtPmZfaWQpLAorICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudG9obCh0Y3AtPnRoX3NlcSksIG50b2hsKHRj
 cC0+dGhfYWNrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGNwLT50aF9mbGFn
 cyB8IFRIX1JTVCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobTAgIT0gTlVMTCkKKyAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXA2X291dHB1dChtMCwgTlVMTCwgTlVMTCwg
 MCwgTlVMTCwgTlVMTCwgTlVMTCk7CiAJCX0KLQotCQl0aS5pcDYgPSAqaXA2OwotCQl0aS50aCA9
 ICp0Y3A7Ci0JCXRpLnRoLnRoX3NlcSA9IG50b2hsKHRpLnRoLnRoX3NlcSk7Ci0JCXRpLnRoLnRo
 X2FjayA9IG50b2hsKHRpLnRoLnRoX2Fjayk7Ci0JCXRpLmlwNi5pcDZfbnh0ID0gSVBQUk9UT19U
 Q1A7Ci0KLQkJaWYgKHRpLnRoLnRoX2ZsYWdzICYgVEhfQUNLKSB7Ci0JCQlhY2sgPSAwOwotCQkJ
 c2VxID0gdGkudGgudGhfYWNrOwotCQkJZmxhZ3MgPSBUSF9SU1Q7Ci0JCX0gZWxzZSB7Ci0JCQlh
 Y2sgPSB0aS50aC50aF9zZXE7Ci0JCQlpZiAoKG0tPm1fZmxhZ3MgJiBNX1BLVEhEUikgIT0gMCkg
 ewotCQkJCS8qCi0JCQkJICogdG90YWwgbmV3IGRhdGEgdG8gQUNLIGlzOgotCQkJCSAqIHRvdGFs
 IHBhY2tldCBsZW5ndGgsCi0JCQkJICogbWludXMgdGhlIGhlYWRlciBsZW5ndGgsCi0JCQkJICog
 bWludXMgdGhlIHRjcCBoZWFkZXIgbGVuZ3RoLgotCQkJCSAqLwotCQkJCWFjayArPSBtLT5tX3Br
 dGhkci5sZW4gLSBobGVuCi0JCQkJCS0gKHRpLnRoLnRoX29mZiA8PCAyKTsKLQkJCX0gZWxzZSBp
 ZiAoaXA2LT5pcDZfcGxlbikgewotCQkJCWFjayArPSBudG9ocyhpcDYtPmlwNl9wbGVuKSArIHNp
 emVvZigqaXA2KSAtCi0JCQkJICAgIGhsZW4gLSAodGkudGgudGhfb2ZmIDw8IDIpOwotCQkJfSBl
 bHNlIHsKLQkJCQltX2ZyZWVtKG0pOwotCQkJCXJldHVybjsKLQkJCX0KLQkJCWlmICh0Y3AtPnRo
 X2ZsYWdzICYgVEhfU1lOKQotCQkJCWFjaysrOwotCQkJc2VxID0gMDsKLQkJCWZsYWdzID0gVEhf
 UlNUfFRIX0FDSzsKLQkJfQotCQliY29weSgmdGksIGlwNiwgc2l6ZW9mKHRpKSk7Ci0JCS8qCi0J
 CSAqIG0gaXMgb25seSB1c2VkIHRvIHJlY3ljbGUgdGhlIG1idWYKLQkJICogVGhlIGRhdGEgaW4g
 aXQgaXMgbmV2ZXIgcmVhZCBzbyB3ZSBkb24ndCBuZWVkCi0JCSAqIHRvIGNvcnJlY3QgdGhlIG9m
 ZnNldHMgb3IgYW55dGhpbmcKLQkJICovCi0JCXRjcF9yZXNwb25kKE5VTEwsIGlwNiwgdGNwLCBt
 LCBhY2ssIHNlcSwgZmxhZ3MpOworCQltX2ZyZWVtKG0pOwogCX0gZWxzZSBpZiAoY29kZSAhPSBJ
 Q01QNl9VTlJFQUNIX1JTVCkgeyAvKiBTZW5kIGFuIElDTVB2NiB1bnJlYWNoLiAqLwogI2lmIDAK
 IAkJLyoKQEAgLTE2NTAsMTMgKzE2MTIsMTYgQEAKIHsKIAlJTklUX1ZORVRfSU5FVChjdXJ2bmV0
 KTsKIAlzdHJ1Y3QgbWJ1ZiAqbTsKLQlzdHJ1Y3QgaXAgKmlwOwotCXN0cnVjdCB0Y3BoZHIgKnRj
 cDsKKyAgICAgICAgaW50IGxlbiwgZGlyOworICAgICAgICBzdHJ1Y3QgaXAgKmggPSBOVUxMOyAg
 ICAgICAgICAgIC8qIHN0dXBpZCBjb21waWxlciAqLworI2lmZGVmIElORVQ2CisgICAgICAgIHN0
 cnVjdCBpcDZfaGRyICpoNiA9IE5VTEw7CisjZW5kaWYKKyAgICAgICAgc3RydWN0IHRjcGhkciAq
 dGggPSBOVUxMOwogCiAJTUdFVEhEUihtLCBNX0RPTlRXQUlULCBNVF9EQVRBKTsKLQlpZiAobSA9
 PSAwKQorCWlmIChtID09IE5VTEwpCiAJCXJldHVybiAoTlVMTCk7Ci0JbS0+bV9wa3RoZHIucmN2
 aWYgPSAoc3RydWN0IGlmbmV0ICopMDsKIAogCU1fU0VURklCKG0sIGlkLT5maWIpOwogI2lmZGVm
 IE1BQwpAQCAtMTY2OCw2NyArMTYzMywxMTggQEAKIAkodm9pZClyZXBseXRvOwkJLyogZG9uJ3Qg
 d2FybiBhYm91dCB1bnVzZWQgYXJnICovCiAjZW5kaWYKIAotCW0tPm1fcGt0aGRyLmxlbiA9IG0t
 Pm1fbGVuID0gc2l6ZW9mKHN0cnVjdCBpcCkgKyBzaXplb2Yoc3RydWN0IHRjcGhkcik7CisgICAg
 ICAgIHN3aXRjaCAoaWQtPmFkZHJfdHlwZSkgeworICAgICAgICBjYXNlIDQ6CisgICAgICAgICAg
 ICAgICAgbGVuID0gc2l6ZW9mKHN0cnVjdCBpcCkgKyBzaXplb2Yoc3RydWN0IHRjcGhkcik7Cisg
 ICAgICAgICAgICAgICAgYnJlYWs7CisjaWZkZWYgSU5FVDYKKyAgICAgICAgY2FzZSA2OgorICAg
 ICAgICAgICAgICAgIGxlbiA9IHNpemVvZihzdHJ1Y3QgaXA2X2hkcikgKyBzaXplb2Yoc3RydWN0
 IHRjcGhkcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgZGVmYXVs
 dDoKKyAgICAgICAgICAgICAgICAvKiBYWFg6IGxvZyBtZT8hPyAqLworICAgICAgICAgICAgICAg
 IG1fZnJlZW0obSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQor
 ICAgICAgICBkaXIgPSAoKGZsYWdzICYgKFRIX1NZTiB8IFRIX1JTVCkpID09IFRIX1NZTik7CisK
 IAltLT5tX2RhdGEgKz0gbWF4X2xpbmtoZHI7CisgICAgICAgIG0tPm1fZmxhZ3MgfD0gTV9TS0lQ
 X0ZJUkVXQUxMOworICAgICAgICBtLT5tX3BrdGhkci5sZW4gPSBtLT5tX2xlbiA9IGxlbjsKKyAg
 ICAgICAgbS0+bV9wa3RoZHIucmN2aWYgPSBOVUxMOworICAgICAgICBiemVybyhtLT5tX2RhdGEs
 IGxlbik7CisKKyAgICAgICAgc3dpdGNoIChpZC0+YWRkcl90eXBlKSB7CisgICAgICAgIGNhc2Ug
 NDoKKyAgICAgICAgICAgICAgICBoID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7CisKKyAgICAgICAg
 ICAgICAgICAvKiBwcmVwYXJlIGZvciBjaGVja3N1bSAqLworICAgICAgICAgICAgICAgIGgtPmlw
 X3AgPSBJUFBST1RPX1RDUDsKKyAgICAgICAgICAgICAgICBoLT5pcF9sZW4gPSBodG9ucyhzaXpl
 b2Yoc3RydWN0IHRjcGhkcikpOworICAgICAgICAgICAgICAgIGlmIChkaXIpIHsKKyAgICAgICAg
 ICAgICAgICAgICAgICAgIGgtPmlwX3NyYy5zX2FkZHIgPSBodG9ubChpZC0+c3JjX2lwKTsKKyAg
 ICAgICAgICAgICAgICAgICAgICAgIGgtPmlwX2RzdC5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lw
 KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaC0+
 aXBfc3JjLnNfYWRkciA9IGh0b25sKGlkLT5kc3RfaXApOworICAgICAgICAgICAgICAgICAgICAg
 ICAgaC0+aXBfZHN0LnNfYWRkciA9IGh0b25sKGlkLT5zcmNfaXApOworICAgICAgICAgICAgICAg
 IH0KIAotCWlwID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7Ci0JYnplcm8oaXAsIG0tPm1fbGVuKTsK
 LQl0Y3AgPSAoc3RydWN0IHRjcGhkciAqKShpcCArIDEpOyAvKiBubyBJUCBvcHRpb25zICovCi0J
 aXAtPmlwX3AgPSBJUFBST1RPX1RDUDsKLQl0Y3AtPnRoX29mZiA9IDU7Ci0JLyoKLQkgKiBBc3N1
 bWUgd2UgYXJlIHNlbmRpbmcgYSBSU1QgKG9yIGEga2VlcGFsaXZlIGluIHRoZSByZXZlcnNlCi0J
 ICogZGlyZWN0aW9uKSwgc3dhcCBzcmMgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3NlcyBhbmQgcG9y
 dHMuCi0JICovCi0JaXAtPmlwX3NyYy5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lwKTsKLQlpcC0+
 aXBfZHN0LnNfYWRkciA9IGh0b25sKGlkLT5zcmNfaXApOwotCXRjcC0+dGhfc3BvcnQgPSBodG9u
 cyhpZC0+ZHN0X3BvcnQpOwotCXRjcC0+dGhfZHBvcnQgPSBodG9ucyhpZC0+c3JjX3BvcnQpOwot
 CWlmIChmbGFncyAmIFRIX1JTVCkgewkvKiB3ZSBhcmUgc2VuZGluZyBhIFJTVCAqLworICAgICAg
 ICAgICAgICAgIHRoID0gKHN0cnVjdCB0Y3BoZHIgKikoaCArIDEpOworICAgICAgICAgICAgICAg
 IGJyZWFrOworI2lmZGVmIElORVQ2CisgICAgICAgIGNhc2UgNjoKKyAgICAgICAgICAgICAgICBo
 NiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7CisKKyAgICAgICAgICAgICAgICAvKiBwcmVw
 YXJlIGZvciBjaGVja3N1bSAqLworICAgICAgICAgICAgICAgIGg2LT5pcDZfbnh0ID0gSVBQUk9U
 T19UQ1A7CisgICAgICAgICAgICAgICAgaDYtPmlwNl9wbGVuID0gaHRvbnMoc2l6ZW9mKHN0cnVj
 dCB0Y3BoZHIpKTsKKyAgICAgICAgICAgICAgICBpZiAoZGlyKSB7CisgICAgICAgICAgICAgICAg
 ICAgICAgICBoNi0+aXA2X3NyYyA9IGlkLT5zcmNfaXA2OworICAgICAgICAgICAgICAgICAgICAg
 ICAgaDYtPmlwNl9kc3QgPSBpZC0+ZHN0X2lwNjsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor
 ICAgICAgICAgICAgICAgICAgICAgICAgaDYtPmlwNl9zcmMgPSBpZC0+ZHN0X2lwNjsKKyAgICAg
 ICAgICAgICAgICAgICAgICAgIGg2LT5pcDZfZHN0ID0gaWQtPnNyY19pcDY7CisgICAgICAgICAg
 ICAgICAgfQorCisgICAgICAgICAgICAgICAgdGggPSAoc3RydWN0IHRjcGhkciAqKShoNiArIDEp
 OworICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIH0KKworICAgICAgICBp
 ZiAoZGlyKSB7CisgICAgICAgICAgICAgICAgdGgtPnRoX3Nwb3J0ID0gaHRvbnMoaWQtPnNyY19w
 b3J0KTsKKyAgICAgICAgICAgICAgICB0aC0+dGhfZHBvcnQgPSBodG9ucyhpZC0+ZHN0X3BvcnQp
 OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRoLT50aF9zcG9ydCA9IGh0b25z
 KGlkLT5kc3RfcG9ydCk7CisgICAgICAgICAgICAgICAgdGgtPnRoX2Rwb3J0ID0gaHRvbnMoaWQt
 PnNyY19wb3J0KTsKKyAgICAgICAgfQorICAgICAgICB0aC0+dGhfb2ZmID0gc2l6ZW9mKHN0cnVj
 dCB0Y3BoZHIpID4+IDI7CisKKyAgICAgICAgaWYgKGZsYWdzICYgVEhfUlNUKSB7CiAJCWlmIChm
 bGFncyAmIFRIX0FDSykgewotCQkJdGNwLT50aF9zZXEgPSBodG9ubChhY2spOwotCQkJdGNwLT50
 aF9hY2sgPSBodG9ubCgwKTsKLQkJCXRjcC0+dGhfZmxhZ3MgPSBUSF9SU1Q7CisgICAgICAgICAg
 ICAgICAgICAgICAgICB0aC0+dGhfc2VxID0gaHRvbmwoYWNrKTsKKyAgICAgICAgICAgICAgICAg
 ICAgICAgIHRoLT50aF9mbGFncyA9IFRIX1JTVDsKIAkJfSBlbHNlIHsKIAkJCWlmIChmbGFncyAm
 IFRIX1NZTikKIAkJCQlzZXErKzsKLQkJCXRjcC0+dGhfc2VxID0gaHRvbmwoMCk7Ci0JCQl0Y3At
 PnRoX2FjayA9IGh0b25sKHNlcSk7Ci0JCQl0Y3AtPnRoX2ZsYWdzID0gVEhfUlNUIHwgVEhfQUNL
 OworICAgICAgICAgICAgICAgICAgICAgICAgdGgtPnRoX2FjayA9IGh0b25sKHNlcSk7CisgICAg
 ICAgICAgICAgICAgICAgICAgICB0aC0+dGhfZmxhZ3MgPSBUSF9SU1QgfCBUSF9BQ0s7CiAJCX0K
 IAl9IGVsc2UgewogCQkvKgotCQkgKiBXZSBhcmUgc2VuZGluZyBhIGtlZXBhbGl2ZS4gZmxhZ3Mg
 JiBUSF9TWU4gZGV0ZXJtaW5lcwotCQkgKiB0aGUgZGlyZWN0aW9uLCBmb3J3YXJkIGlmIHNldCwg
 cmV2ZXJzZSBpZiBjbGVhci4KLQkJICogTk9URTogc2VxIGFuZCBhY2sgYXJlIGFsd2F5cyBhc3N1
 bWVkIHRvIGJlIGNvcnJlY3QKLQkJICogYXMgc2V0IGJ5IHRoZSBjYWxsZXIuIFRoaXMgbWF5IGJl
 IGNvbmZ1c2luZy4uLgorICAgICAgICAgICAgICAgICAqIEtlZXBhbGl2ZSAtIHVzZSBjYWxsZXIg
 cHJvdmlkZWQgc2VxdWVuY2UgbnVtYmVycwogCQkgKi8KLQkJaWYgKGZsYWdzICYgVEhfU1lOKSB7
 Ci0JCQkvKgotCQkJICogd2UgaGF2ZSB0byByZXdyaXRlIHRoZSBjb3JyZWN0IGFkZHJlc3NlcyEK
 LQkJCSAqLwotCQkJaXAtPmlwX2RzdC5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lwKTsKLQkJCWlw
 LT5pcF9zcmMuc19hZGRyID0gaHRvbmwoaWQtPnNyY19pcCk7Ci0JCQl0Y3AtPnRoX2Rwb3J0ID0g
 aHRvbnMoaWQtPmRzdF9wb3J0KTsKLQkJCXRjcC0+dGhfc3BvcnQgPSBodG9ucyhpZC0+c3JjX3Bv
 cnQpOwotCQl9Ci0JCXRjcC0+dGhfc2VxID0gaHRvbmwoc2VxKTsKLQkJdGNwLT50aF9hY2sgPSBo
 dG9ubChhY2spOwotCQl0Y3AtPnRoX2ZsYWdzID0gVEhfQUNLOworICAgICAgICAgICAgICAgIHRo
 LT50aF9zZXEgPSBodG9ubChzZXEpOworICAgICAgICAgICAgICAgIHRoLT50aF9hY2sgPSBodG9u
 bChhY2spOworICAgICAgICAgICAgICAgIHRoLT50aF9mbGFncyA9IFRIX0FDSzsKKyAgICAgICAg
 fQorCisgICAgICAgIHN3aXRjaCAoaWQtPmFkZHJfdHlwZSkgeworICAgICAgICBjYXNlIDQ6Cisg
 ICAgICAgICAgICAgICAgdGgtPnRoX3N1bSA9IGluX2Nrc3VtKG0sIGxlbik7CisKKyAgICAgICAg
 ICAgICAgICAvKiBmaW5pc2ggdGhlIGlwIGhlYWRlciAqLworICAgICAgICAgICAgICAgIGgtPmlw
 X3YgPSA0OworICAgICAgICAgICAgICAgIGgtPmlwX2hsID0gc2l6ZW9mKCpoKSA+PiAyOworICAg
 ICAgICAgICAgICAgIGgtPmlwX3RvcyA9IElQVE9TX0xPV0RFTEFZOworICAgICAgICAgICAgICAg
 IGgtPmlwX29mZiA9IDA7CisgICAgICAgICAgICAgICAgaC0+aXBfbGVuID0gbGVuOworICAgICAg
 ICAgICAgICAgIGgtPmlwX3R0bCA9IFZfaXBfZGVmdHRsOworICAgICAgICAgICAgICAgIGgtPmlw
 X3N1bSA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjaWZkZWYgSU5FVDYKKyAgICAgICAg
 Y2FzZSA2OgorICAgICAgICAgICAgICAgIHRoLT50aF9zdW0gPSBpbjZfY2tzdW0obSwgSVBQUk9U
 T19UQ1AsIHNpemVvZigqaDYpLAorICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHRj
 cGhkcikpOworCisgICAgICAgICAgICAgICAgLyogZmluaXNoIHRoZSBpcDYgaGVhZGVyICovCisg
 ICAgICAgICAgICAgICAgaDYtPmlwNl92ZmMgfD0gSVBWNl9WRVJTSU9OOworICAgICAgICAgICAg
 ICAgIGg2LT5pcDZfaGxpbSA9IElQVjZfREVGSExJTTsKKyAgICAgICAgICAgICAgICBicmVhazsK
 KyNlbmRpZgogCX0KLQkvKgotCSAqIHNldCBpcF9sZW4gdG8gdGhlIHBheWxvYWQgc2l6ZSBzbyB3
 ZSBjYW4gY29tcHV0ZQotCSAqIHRoZSB0Y3AgY2hlY2tzdW0gb24gdGhlIHBzZXVkb2hlYWRlcgot
 CSAqIFhYWCBjaGVjayB0aGlzLCBjb3VsZCBzYXZlIGEgY291cGxlIG9mIHdvcmRzID8KLQkgKi8K
 LQlpcC0+aXBfbGVuID0gaHRvbnMoc2l6ZW9mKHN0cnVjdCB0Y3BoZHIpKTsKLQl0Y3AtPnRoX3N1
 bSA9IGluX2Nrc3VtKG0sIG0tPm1fcGt0aGRyLmxlbik7Ci0JLyoKLQkgKiBub3cgZmlsbCBmaWVs
 ZHMgbGVmdCBvdXQgZWFybGllcgotCSAqLwotCWlwLT5pcF90dGwgPSBWX2lwX2RlZnR0bDsKLQlp
 cC0+aXBfbGVuID0gbS0+bV9wa3RoZHIubGVuOwotCW0tPm1fZmxhZ3MgfD0gTV9TS0lQX0ZJUkVX
 QUxMOworCiAJcmV0dXJuIChtKTsKIH0KIApAQCAtNDU0MCw2ICs0NTU2LDkgQEAKIHsKIAlJTklU
 X1ZORVRfSVBGVyhjdXJ2bmV0KTsKIAlzdHJ1Y3QgbWJ1ZiAqbTAsICptLCAqbW5leHQsICoqbXRh
 aWxwOworI2lmZGVmIElORVQ2CisgICAgICAgIHN0cnVjdCBtYnVmICptNiwgKiptNl90YWlscDsK
 KyNlbmRpZgogCWludCBpOwogCWlwZndfZHluX3J1bGUgKnE7CiAKQEAgLTQ1NTQsNiArNDU3Mywx
 MCBAQAogCSAqLwogCW0wID0gTlVMTDsKIAltdGFpbHAgPSAmbTA7CisjaWZkZWYgSU5FVDYKKyAg
 ICAgICAgbTYgPSBOVUxMOworICAgICAgICBtNl90YWlscCA9ICZtNjsKKyNlbmRpZgogCUlQRldf
 RFlOX0xPQ0soKTsKIAlmb3IgKGkgPSAwIDsgaSA8IFZfY3Vycl9keW5fYnVja2V0cyA7IGkrKykg
 ewogCQlmb3IgKHEgPSBWX2lwZndfZHluX3ZbaV0gOyBxIDsgcSA9IHEtPm5leHQgKSB7CkBAIC00
 NTY5LDE0ICs0NTkyLDM3IEBACiAJCQlpZiAoVElNRV9MRVEocS0+ZXhwaXJlLCB0aW1lX3VwdGlt
 ZSkpCiAJCQkJY29udGludWU7CS8qIHRvbyBsYXRlLCBydWxlIGV4cGlyZWQgKi8KIAotCQkJKm10
 YWlscCA9IHNlbmRfcGt0KE5VTEwsICYocS0+aWQpLCBxLT5hY2tfcmV2IC0gMSwKKwkJCW0gPSBz
 ZW5kX3BrdChOVUxMLCAmKHEtPmlkKSwgcS0+YWNrX3JldiAtIDEsCiAJCQkJcS0+YWNrX2Z3ZCwg
 VEhfU1lOKTsKLQkJCWlmICgqbXRhaWxwICE9IE5VTEwpCi0JCQkJbXRhaWxwID0gJigqbXRhaWxw
 KS0+bV9uZXh0cGt0OwotCQkJKm10YWlscCA9IHNlbmRfcGt0KE5VTEwsICYocS0+aWQpLCBxLT5h
 Y2tfZndkIC0gMSwKKwkJCW1uZXh0ID0gc2VuZF9wa3QoTlVMTCwgJihxLT5pZCksIHEtPmFja19m
 d2QgLSAxLAogCQkJCXEtPmFja19yZXYsIDApOwotCQkJaWYgKCptdGFpbHAgIT0gTlVMTCkKLQkJ
 CQltdGFpbHAgPSAmKCptdGFpbHApLT5tX25leHRwa3Q7CisKKyAgICAgICAgICAgICAgICAgICAg
 ICAgIHN3aXRjaCAocS0+aWQuYWRkcl90eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
 YXNlIDQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtICE9IE5VTEwpIHsK
 KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbXRhaWxwID0gbTsKKyAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdGFpbHAgPSAmKCptdGFpbHAp
 LT5tX25leHRwa3Q7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbXRhaWxwID0gbW5leHQ7CisgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRhaWxwID0gJigqbXRhaWxwKS0+bV9uZXh0
 cGt0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgIGJyZWFrOworI2lmZGVmIElORVQ2CisgICAgICAgICAgICAgICAgICAg
 ICAgICBjYXNlIDY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtICE9IE5V
 TEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbTZfdGFpbHAg
 PSBtOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG02X3RhaWxwID0g
 JigqbTZfdGFpbHApLT5tX25leHRwa3Q7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1uZXh0ICE9IE5VTEwpIHsK
 KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbTZfdGFpbHAgPSBtbmV4
 dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtNl90YWlscCA9ICYo
 Km02X3RhaWxwKS0+bV9uZXh0cGt0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAg
 ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBtbmV4dCA9
 IE5VTEw7CiAJCX0KIAl9CiAJSVBGV19EWU5fVU5MT0NLKCk7CkBAIC00NTg1LDYgKzQ2MzEsMTMg
 QEAKIAkJbS0+bV9uZXh0cGt0ID0gTlVMTDsKIAkJaXBfb3V0cHV0KG0sIE5VTEwsIE5VTEwsIDAs
 IE5VTEwsIE5VTEwpOwogCX0KKyNpZmRlZiBJTkVUNgorICAgICAgICBmb3IgKG0gPSBtbmV4dCA9
 IG02OyBtICE9IE5VTEw7IG0gPSBtbmV4dCkgeworICAgICAgICAgICAgICAgIG1uZXh0ID0gbS0+
 bV9uZXh0cGt0OworICAgICAgICAgICAgICAgIG0tPm1fbmV4dHBrdCA9IE5VTEw7CisgICAgICAg
 ICAgICAgICAgaXA2X291dHB1dChtLCBOVUxMLCBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMKTsK
 KyAgICAgICAgfQorI2VuZGlmCiBkb25lOgogCWNhbGxvdXRfcmVzZXQoJlZfaXBmd190aW1lb3V0
 LCBWX2R5bl9rZWVwYWxpdmVfcGVyaW9kICogaHosCiAJCSAgICAgIGlwZndfdGljaywgTlVMTCk7
 Cg==
 ------=_20090621233511_54797--
 
 


More information about the freebsd-ipfw mailing list