Re: [PATCH] IPv6 dnat/snat support
"Tseng, Kuo-Lang" <[email protected]> Fri, 8 Feb 2008 16:01:47 -0800
| Newsgroups | gmane.linux.network.bridge.ebtables.devel |
|---|---|
| Message-ID | <3F25FE8C477E9E4FB3D42C2FF937C08A85D069@orsmsx423.amr.corp.intel.com> |
This is a multi-part message in MIME format. ------_=_NextPart_001_01C86AAE.F8098900 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Bart De Schuymer wrote on Friday, February 08, 2008 10:21 AM: > Hi Kuo, >=20 > Thanks for your patch. The patch looks ok. Tiny comment: the header > diffs belong in the kernel patch and the userspace patch lacks a man > page update. > Seems like we'll need a merge of the two kernel patches and extra > userspace code. >=20 > I was gonna give my say about posting to netfilter-devel only, without > userspace code, but I guess I'm better off restraining myself from > doing that. >=20 > cheers, > Bart Thanks. I have attached an updated userspace patch that includes the missing man page update and removed the header diffs.=20 I will post to the netfilter-devel for the kernel code. ------_=_NextPart_001_01C86AAE.F8098900 Content-Type: application/octet-stream; name="ebtables-ipv6.patch" Content-Transfer-Encoding: base64 Content-Description: ebtables-ipv6.patch Content-Disposition: attachment; filename="ebtables-ipv6.patch" ZGlmZiAtcnVOcCBlYnRhYmxlcy12Mi4wLjgtMi5vcmlnL2VidGFibGVzLjggZWJ0YWJsZXMtdjIu MC44LTIuaXB2Ni9lYnRhYmxlcy44Ci0tLSBlYnRhYmxlcy12Mi4wLjgtMi5vcmlnL2VidGFibGVz LjgJMjAwNy0wOS0yMSAxMDoyNzoyMC4wMDAwMDAwMDAgLTA3MDAKKysrIGVidGFibGVzLXYyLjAu OC0yLmlwdjYvZWJ0YWJsZXMuOAkyMDA4LTAyLTA4IDE1OjE3OjU3LjAwMDAwMDAwMCAtMDgwMApA QCAtNjUyLDYgKzY1MiwzOSBAQCBJZgogVGhlIGZsYWcKIC5CIC0taXAtZHBvcnQKIGlzIGFuIGFs aWFzIGZvciB0aGlzIG9wdGlvbi4KKy5TUyBpcDYKK1NwZWNpZnkgSVB2NiBmaWVsZHMuIFRoZSBw cm90b2NvbCBtdXN0IGJlIHNwZWNpZmllZCBhcworLklSIElQdjYgLgorLlRQCisuQlIgIi0taXA2 LXByb3RvY29sICIgIlshXSBcZklwcm90b2NvbFxmUCIKK1RoZSBJUCBwcm90b2NvbC4KK1RoZSBm bGFnCisuQiAtLWlwNi1wcm90bworaXMgYW4gYWxpYXMgZm9yIHRoaXMgb3B0aW9uLgorLlRQCisu QlIgIi0taXA2LXNvdXJjZS1wb3J0ICIgIlshXSBcZklwb3J0MVxmUFs6XGZJcG9ydDJcZlBdIgor VGhlIHNvdXJjZSBwb3J0IG9yIHBvcnQgcmFuZ2UgZm9yIHRoZSBJUCBwcm90b2NvbHMgNiAoVENQ KSwgMTcKKyhVRFApLCAzMyAoRENDUCkgb3IgMTMyIChTQ1RQKS4gVGhlCisuQiAtLWlwNi1wcm90 b2NvbAorb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIGFzCisuSVIgVENQICIsICIgVURQICIsICIg RENDUCAiIG9yICIgU0NUUCAuCitJZgorLklSIHBvcnQxICIgaXMgb21pdHRlZCwgIiAwOnBvcnQy ICIgaXMgdXNlZDsgaWYgIiBwb3J0MiAiIGlzIG9taXR0ZWQgYnV0IGEgY29sb24gaXMgc3BlY2lm aWVkLCAiIHBvcnQxOjY1NTM1ICIgaXMgdXNlZC4iCitUaGUgZmxhZworLkIgLS1pcDYtc3BvcnQK K2lzIGFuIGFsaWFzIGZvciB0aGlzIG9wdGlvbi4KKy5UUAorLkJSICItLWlwNi1kZXN0aW5hdGlv bi1wb3J0ICIgIlshXSBcZklwb3J0MVxmUFs6XGZJcG9ydDJcZlBdIgorVGhlIGRlc3RpbmF0aW9u IHBvcnQgb3IgcG9ydCByYW5nZSBmb3IgaXAgcHJvdG9jb2xzIDYgKFRDUCksIDE3CisoVURQKSwg MzMgKERDQ1ApIG9yIDEzMiAoU0NUUCkuIFRoZQorLkIgLS1pcDYtcHJvdG9jb2wKK29wdGlvbiBt dXN0IGJlIHNwZWNpZmllZCBhcworLklSIFRDUCAiLCAiIFVEUCAiLCAiIERDQ1AgIiBvciAiIFND VFAgLgorSWYKKy5JUiBwb3J0MSAiIGlzIG9taXR0ZWQsICIgMDpwb3J0MiAiIGlzIHVzZWQ7IGlm ICIgcG9ydDIgIiBpcyBvbWl0dGVkIGJ1dCBhIGNvbG9uIGlzIHNwZWNpZmllZCwgIiBwb3J0MTo2 NTUzNSAiIGlzIHVzZWQuIgorVGhlIGZsYWcKKy5CIC0taXA2LWRwb3J0CitpcyBhbiBhbGlhcyBm b3IgdGhpcyBvcHRpb24uCiAuU1MgbGltaXQKIFRoaXMgbW9kdWxlIG1hdGNoZXMgYXQgYSBsaW1p dGVkIHJhdGUgdXNpbmcgYSB0b2tlbiBidWNrZXQgZmlsdGVyLgogQSBydWxlIHVzaW5nIHRoaXMg ZXh0ZW5zaW9uIHdpbGwgbWF0Y2ggdW50aWwgdGhpcyBsaW1pdCBpcyByZWFjaGVkLgpAQCAtODAw LDYgKzgzMywxMSBAQCB0byBiZSBwcmludGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpCiBX aWxsIGxvZyB0aGUgaXAgaW5mb3JtYXRpb24gd2hlbiBhIGZyYW1lIG1hZGUgYnkgdGhlIGlwIHBy b3RvY29sIG1hdGNoZXMgCiB0aGUgcnVsZS4gVGhlIGRlZmF1bHQgaXMgbm8gaXAgaW5mb3JtYXRp b24gbG9nZ2luZy4KIC5UUAorLkIgLS1sb2ctaXA2IAorLmJyCitXaWxsIGxvZyB0aGUgaXB2NiBp bmZvcm1hdGlvbiB3aGVuIGEgZnJhbWUgbWFkZSBieSB0aGUgaXB2NiBwcm90b2NvbCBtYXRjaGVz IAordGhlIHJ1bGUuIFRoZSBkZWZhdWx0IGlzIG5vIGlwdjYgaW5mb3JtYXRpb24gbG9nZ2luZy4K Ky5UUAogLkIgLS1sb2ctYXJwCiAuYnIKIFdpbGwgbG9nIHRoZSAocilhcnAgaW5mb3JtYXRpb24g d2hlbiBhIGZyYW1lIG1hZGUgYnkgdGhlIChyKWFycCBwcm90b2NvbHMKZGlmZiAtcnVOcCBlYnRh Ymxlcy12Mi4wLjgtMi5vcmlnL2V4dGVuc2lvbnMvZWJ0X2lwNi5jIGVidGFibGVzLXYyLjAuOC0y LmlwdjYvZXh0ZW5zaW9ucy9lYnRfaXA2LmMKLS0tIGVidGFibGVzLXYyLjAuOC0yLm9yaWcvZXh0 ZW5zaW9ucy9lYnRfaXA2LmMJMTk2OS0xMi0zMSAxNjowMDowMC4wMDAwMDAwMDAgLTA4MDAKKysr IGVidGFibGVzLXYyLjAuOC0yLmlwdjYvZXh0ZW5zaW9ucy9lYnRfaXA2LmMJMjAwOC0wMi0wNiAx NTowMzoyMi4wMDAwMDAwMDAgLTA4MDAKQEAgLTAsMCArMSwyNjMgQEAKKy8qIGVidF9pcDYKKyAq IAorICogQXV0aG9yczoKKyAqIEt1by1MYW5nIFRzZW5nIDxrdW8tbGFuZy50c2VuZ0BpbnRlbC5j b20+CisgKiBNYW5vaGFyIENhc3RlbGlubyA8bWFub2hhci5jYXN0ZWxpbm9AaW50ZWwuY29tPgor ICoKKyAqIFN1bW1hcnk6CisgKiBUaGlzIGlzIGp1c3QgYSBtb2RpZmljYXRpb24gb2YgdGhlIElQ djQgY29kZSB3cml0dGVuIGJ5IAorICogQmFydCBEZSBTY2h1eW1lciA8YmRzY2h1eW1AcGFuZG9y YS5iZT4KKyAqIHdpdGggdGhlIGNoYW5nZXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBJUHY2CisgKgor ICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUg PHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPG5ldGRiLmg+CisjaW5j bHVkZSAiLi4vaW5jbHVkZS9lYnRhYmxlc191LmgiCisjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVy X2JyaWRnZS9lYnRfaXA2Lmg+CisKKyNkZWZpbmUgSVBfU09VUkNFICcxJworI2RlZmluZSBJUF9E RVNUICAgJzInCisjZGVmaW5lIElQX1RDTEFTUyAnMycKKyNkZWZpbmUgSVBfUFJPVE8gICc0Jwor I2RlZmluZSBJUF9TUE9SVCAgJzUnCisjZGVmaW5lIElQX0RQT1JUICAnNicKKworc3RhdGljIHN0 cnVjdCBvcHRpb24gb3B0c1tdID0KK3sKKwl7ICJpcDYtcHJvdG9jb2wiICAgICAgICAgLCByZXF1 aXJlZF9hcmd1bWVudCwgMCwgSVBfUFJPVE8gIH0sCisJeyAiaXA2LXByb3RvIiAgICAgICAgICAg ICwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIElQX1BST1RPICB9LAorCXsgImlwNi1zb3VyY2UtcG9y dCIgICAgICAsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBJUF9TUE9SVCAgfSwKKwl7ICJpcDYtc3Bv cnQiICAgICAgICAgICAgLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgSVBfU1BPUlQgIH0sCisJeyAi aXA2LWRlc3RpbmF0aW9uLXBvcnQiICwgcmVxdWlyZWRfYXJndW1lbnQsIDAsIElQX0RQT1JUICB9 LAorCXsgImlwNi1kcG9ydCIgICAgICAgICAgICAsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBJUF9E UE9SVCAgfSwKKwl7IDAgfQorfTsKKworLyogdHJhbnNmb3JtIGEgcHJvdG9jb2wgYW5kIHNlcnZp Y2UgbmFtZSBpbnRvIGEgcG9ydCBudW1iZXIgKi8KK3N0YXRpYyB1aW50MTZfdCBwYXJzZV9wb3J0 KGNvbnN0IGNoYXIgKnByb3RvY29sLCBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBzZXJ2 ZW50ICpzZXJ2aWNlOworCWNoYXIgKmVuZDsKKwlpbnQgcG9ydDsKKworCXBvcnQgPSBzdHJ0b2wo bmFtZSwgJmVuZCwgMTApOworCWlmICgqZW5kICE9ICdcMCcpIHsKKwkJaWYgKHByb3RvY29sICYm IAorCQkgICAgKHNlcnZpY2UgPSBnZXRzZXJ2YnluYW1lKG5hbWUsIHByb3RvY29sKSkgIT0gTlVM TCkKKwkJCXJldHVybiBudG9ocyhzZXJ2aWNlLT5zX3BvcnQpOworCX0KKwllbHNlIGlmIChwb3J0 ID49IDAgfHwgcG9ydCA8PSAweEZGRkYpIHsKKwkJcmV0dXJuIHBvcnQ7CisJfQorCWVidF9wcmlu dF9lcnJvcigiUHJvYmxlbSB3aXRoIHNwZWNpZmllZCAlcyBwb3J0ICclcyciLCAKKwkJCXByb3Rv Y29sP3Byb3RvY29sOiIiLCBuYW1lKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3Bh cnNlX3BvcnRfcmFuZ2UoY29uc3QgY2hhciAqcHJvdG9jb2wsIGNvbnN0IGNoYXIgKnBvcnRzdHJp bmcsIHVpbnQxNl90ICpwb3J0cykKK3sKKwljaGFyICpidWZmZXI7CisJY2hhciAqY3A7CisJCisJ YnVmZmVyID0gc3RyZHVwKHBvcnRzdHJpbmcpOworCWlmICgoY3AgPSBzdHJjaHIoYnVmZmVyLCAn OicpKSA9PSBOVUxMKQorCQlwb3J0c1swXSA9IHBvcnRzWzFdID0gcGFyc2VfcG9ydChwcm90b2Nv bCwgYnVmZmVyKTsKKwllbHNlIHsKKwkJKmNwID0gJ1wwJzsKKwkJY3ArKzsKKwkJcG9ydHNbMF0g PSBidWZmZXJbMF0gPyBwYXJzZV9wb3J0KHByb3RvY29sLCBidWZmZXIpIDogMDsKKwkJaWYgKGVi dF9lcnJvcm1zZ1swXSAhPSAnXDAnKQorCQkJcmV0dXJuOworCQlwb3J0c1sxXSA9IGNwWzBdID8g cGFyc2VfcG9ydChwcm90b2NvbCwgY3ApIDogMHhGRkZGOworCQlpZiAoZWJ0X2Vycm9ybXNnWzBd ICE9ICdcMCcpCisJCQlyZXR1cm47CisJCQorCQlpZiAocG9ydHNbMF0gPiBwb3J0c1sxXSkKKwkJ CWVidF9wcmludF9lcnJvcigiSW52YWxpZCBwb3J0cmFuZ2UgKG1pbiA+IG1heCkiKTsKKwl9CisJ ZnJlZShidWZmZXIpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9wb3J0X3JhbmdlKHVpbnQxNl90 ICpwb3J0cykKK3sKKwlpZiAocG9ydHNbMF0gPT0gcG9ydHNbMV0pCisJCXByaW50ZigiJWQgIiwg cG9ydHNbMF0pOworCWVsc2UKKwkJcHJpbnRmKCIlZDolZCAiLCBwb3J0c1swXSwgcG9ydHNbMV0p OworfQorCitzdGF0aWMgdm9pZCBwcmludF9oZWxwKCkKK3sKKwlwcmludGYoCisiaXA2IG9wdGlv bnM6XG4iCisiLS1pcDYtcHJvdG8gIFshXSBwcm90b2NvbCAgICAgIDogaXB2NiBwcm90b2NvbCBz cGVjaWZpY2F0aW9uXG4iCisiLS1pcDYtc3BvcnQgIFshXSBwb3J0Wzpwb3J0XSAgIDogdGNwL3Vk cCBzb3VyY2UgcG9ydCBvciBwb3J0IHJhbmdlXG4iCisiLS1pcDYtZHBvcnQgIFshXSBwb3J0Wzpw b3J0XSAgIDogdGNwL3VkcCBkZXN0aW5hdGlvbiBwb3J0IG9yIHBvcnQgcmFuZ2VcbiIpOworfQor CitzdGF0aWMgdm9pZCBpbml0KHN0cnVjdCBlYnRfZW50cnlfbWF0Y2ggKm1hdGNoKQoreworCXN0 cnVjdCBlYnRfaXA2X2luZm8gKmlwaW5mbyA9IChzdHJ1Y3QgZWJ0X2lwNl9pbmZvICopbWF0Y2gt PmRhdGE7CisKKwlpcGluZm8tPmludmZsYWdzID0gMDsKKwlpcGluZm8tPmJpdG1hc2sgPSAwOwor fQorCisjZGVmaW5lIE9QVF9TT1VSQ0UgMHgwMQorI2RlZmluZSBPUFRfREVTVCAgIDB4MDIKKyNk ZWZpbmUgT1BUX1RDTEFTUyAweDA0CisjZGVmaW5lIE9QVF9QUk9UTyAgMHgwOAorI2RlZmluZSBP UFRfU1BPUlQgIDB4MTAKKyNkZWZpbmUgT1BUX0RQT1JUICAweDIwCitzdGF0aWMgaW50IHBhcnNl KGludCBjLCBjaGFyICoqYXJndiwgaW50IGFyZ2MsIGNvbnN0IHN0cnVjdCBlYnRfdV9lbnRyeSAq ZW50cnksCisgICB1bnNpZ25lZCBpbnQgKmZsYWdzLCBzdHJ1Y3QgZWJ0X2VudHJ5X21hdGNoICoq bWF0Y2gpCit7CisJc3RydWN0IGVidF9pcDZfaW5mbyAqaXBpbmZvID0gKHN0cnVjdCBlYnRfaXA2 X2luZm8gKikoKm1hdGNoKS0+ZGF0YTsKKwljaGFyICplbmQ7CisJbG9uZyBpbnQgaTsKKworCXN3 aXRjaCAoYykgeworCWNhc2UgSVBfU1BPUlQ6CisJY2FzZSBJUF9EUE9SVDoKKwkJaWYgKGMgPT0g SVBfU1BPUlQpIHsKKwkJCWVidF9jaGVja19vcHRpb24yKGZsYWdzLCBPUFRfU1BPUlQpOworCQkJ aXBpbmZvLT5iaXRtYXNrIHw9IEVCVF9JUDZfU1BPUlQ7CisJCQlpZiAoZWJ0X2NoZWNrX2ludmVy c2UyKG9wdGFyZykpCisJCQkJaXBpbmZvLT5pbnZmbGFncyB8PSBFQlRfSVA2X1NQT1JUOworCQl9 IGVsc2UgeworCQkJZWJ0X2NoZWNrX29wdGlvbjIoZmxhZ3MsIE9QVF9EUE9SVCk7CisJCQlpcGlu Zm8tPmJpdG1hc2sgfD0gRUJUX0lQNl9EUE9SVDsKKwkJCWlmIChlYnRfY2hlY2tfaW52ZXJzZTIo b3B0YXJnKSkKKwkJCQlpcGluZm8tPmludmZsYWdzIHw9IEVCVF9JUDZfRFBPUlQ7CisJCX0KKwkJ aWYgKGMgPT0gSVBfU1BPUlQpCisJCQlwYXJzZV9wb3J0X3JhbmdlKE5VTEwsIG9wdGFyZywgaXBp bmZvLT5zcG9ydCk7CisJCWVsc2UKKwkJCXBhcnNlX3BvcnRfcmFuZ2UoTlVMTCwgb3B0YXJnLCBp cGluZm8tPmRwb3J0KTsKKwkJYnJlYWs7CisKKwljYXNlIElQX1BST1RPOgorCQllYnRfY2hlY2tf b3B0aW9uMihmbGFncywgT1BUX1BST1RPKTsKKwkJaWYgKGVidF9jaGVja19pbnZlcnNlMihvcHRh cmcpKQorCQkJaXBpbmZvLT5pbnZmbGFncyB8PSBFQlRfSVA2X1BST1RPOworCQlpID0gc3RydG91 bChvcHRhcmcsICZlbmQsIDEwKTsKKwkJaWYgKCplbmQgIT0gJ1wwJykgeworCQkJc3RydWN0IHBy b3RvZW50ICpwZTsKKworCQkJcGUgPSBnZXRwcm90b2J5bmFtZShvcHRhcmcpOworCQkJaWYgKHBl ID09IE5VTEwpCisJCQkJZWJ0X3ByaW50X2Vycm9yKCJVbmtub3duIHNwZWNpZmllZCBJUCBwcm90 b2NvbCAtICVzIiwgYXJndltvcHRpbmQgLSAxXSk7CisJCQlpcGluZm8tPnByb3RvY29sID0gcGUt PnBfcHJvdG87CisJCX0gZWxzZSB7CisJCQlpcGluZm8tPnByb3RvY29sID0gKHVuc2lnbmVkIGNo YXIpIGk7CisJCX0KKwkJaXBpbmZvLT5iaXRtYXNrIHw9IEVCVF9JUDZfUFJPVE87CisJCWJyZWFr OworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZv aWQgZmluYWxfY2hlY2soY29uc3Qgc3RydWN0IGVidF91X2VudHJ5ICplbnRyeSwKKyAgIGNvbnN0 IHN0cnVjdCBlYnRfZW50cnlfbWF0Y2ggKm1hdGNoLCBjb25zdCBjaGFyICpuYW1lLAorICAgdW5z aWduZWQgaW50IGhvb2ttYXNrLCB1bnNpZ25lZCBpbnQgdGltZSkKK3sKKwlzdHJ1Y3QgZWJ0X2lw Nl9pbmZvICppcGluZm8gPSAoc3RydWN0IGVidF9pcDZfaW5mbyAqKW1hdGNoLT5kYXRhOworCisJ aWYgKGVudHJ5LT5ldGhwcm90byAhPSBFVEhfUF9JUFY2IHx8IGVudHJ5LT5pbnZmbGFncyAmIEVC VF9JUFJPVE8pIHsKKwkJZWJ0X3ByaW50X2Vycm9yKCJGb3IgSVB2NiBmaWx0ZXJpbmcgdGhlIHBy b3RvY29sIG11c3QgYmUgIgorCQkgICAgICAgICAgICAic3BlY2lmaWVkIGFzIElQdjYiKTsKKwl9 IGVsc2UgaWYgKGlwaW5mby0+Yml0bWFzayAmIChFQlRfSVA2X1NQT1JUfEVCVF9JUDZfRFBPUlQp ICYmCisJCSghKGlwaW5mby0+Yml0bWFzayAmIEVCVF9JUDZfUFJPVE8pIHx8CisJCWlwaW5mby0+ aW52ZmxhZ3MgJiBFQlRfSVA2X1BST1RPIHx8CisJCShpcGluZm8tPnByb3RvY29sIT1JUFBST1RP X1RDUCAmJgorCQkgaXBpbmZvLT5wcm90b2NvbCE9SVBQUk9UT19VRFAgJiYKKwkJIGlwaW5mby0+ cHJvdG9jb2whPUlQUFJPVE9fU0NUUCAmJgorCQkgaXBpbmZvLT5wcm90b2NvbCE9SVBQUk9UT19E Q0NQKSkpCisJCWVidF9wcmludF9lcnJvcigiRm9yIHBvcnQgZmlsdGVyaW5nIHRoZSBJUCBwcm90 b2NvbCBtdXN0IGJlICIKKwkJCQkiZWl0aGVyIDYgKHRjcCksIDE3ICh1ZHApLCAzMyAoZGNjcCkg b3IgIgorCQkJCSIxMzIgKHNjdHApIik7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50KGNvbnN0IHN0 cnVjdCBlYnRfdV9lbnRyeSAqZW50cnksCisgICBjb25zdCBzdHJ1Y3QgZWJ0X2VudHJ5X21hdGNo ICptYXRjaCkKK3sKKwlzdHJ1Y3QgZWJ0X2lwNl9pbmZvICppcGluZm8gPSAoc3RydWN0IGVidF9p cDZfaW5mbyAqKW1hdGNoLT5kYXRhOworCisJaWYgKGlwaW5mby0+Yml0bWFzayAmIEVCVF9JUDZf UFJPVE8pIHsKKwkJc3RydWN0IHByb3RvZW50ICpwZTsKKworCQlwcmludGYoIi0taXA2LXByb3Rv ICIpOworCQlpZiAoaXBpbmZvLT5pbnZmbGFncyAmIEVCVF9JUDZfUFJPVE8pCisJCQlwcmludGYo IiEgIik7CisJCXBlID0gZ2V0cHJvdG9ieW51bWJlcihpcGluZm8tPnByb3RvY29sKTsKKwkJaWYg KHBlID09IE5VTEwpIHsKKwkJCXByaW50ZigiJWQgIiwgaXBpbmZvLT5wcm90b2NvbCk7CisJCX0g ZWxzZSB7CisJCQlwcmludGYoIiVzICIsIHBlLT5wX25hbWUpOworCQl9CisJfQorCWlmIChpcGlu Zm8tPmJpdG1hc2sgJiBFQlRfSVA2X1NQT1JUKSB7CisJCXByaW50ZigiLS1pcDYtc3BvcnQgIik7 CisJCWlmIChpcGluZm8tPmludmZsYWdzICYgRUJUX0lQNl9TUE9SVCkKKwkJCXByaW50ZigiISAi KTsKKwkJcHJpbnRfcG9ydF9yYW5nZShpcGluZm8tPnNwb3J0KTsKKwl9CisJaWYgKGlwaW5mby0+ Yml0bWFzayAmIEVCVF9JUDZfRFBPUlQpIHsKKwkJcHJpbnRmKCItLWlwNi1kcG9ydCAiKTsKKwkJ aWYgKGlwaW5mby0+aW52ZmxhZ3MgJiBFQlRfSVA2X0RQT1JUKQorCQkJcHJpbnRmKCIhICIpOwor CQlwcmludF9wb3J0X3JhbmdlKGlwaW5mby0+ZHBvcnQpOworCX0KK30KKworc3RhdGljIGludCBj b21wYXJlKGNvbnN0IHN0cnVjdCBlYnRfZW50cnlfbWF0Y2ggKm0xLAorICAgY29uc3Qgc3RydWN0 IGVidF9lbnRyeV9tYXRjaCAqbTIpCit7CisJc3RydWN0IGVidF9pcDZfaW5mbyAqaXBpbmZvMSA9 IChzdHJ1Y3QgZWJ0X2lwNl9pbmZvICopbTEtPmRhdGE7CisJc3RydWN0IGVidF9pcDZfaW5mbyAq aXBpbmZvMiA9IChzdHJ1Y3QgZWJ0X2lwNl9pbmZvICopbTItPmRhdGE7CisKKwlpZiAoaXBpbmZv MS0+Yml0bWFzayAhPSBpcGluZm8yLT5iaXRtYXNrKQorCQlyZXR1cm4gMDsKKwlpZiAoaXBpbmZv MS0+aW52ZmxhZ3MgIT0gaXBpbmZvMi0+aW52ZmxhZ3MpCisJCXJldHVybiAwOworCWlmIChpcGlu Zm8xLT5iaXRtYXNrICYgRUJUX0lQNl9QUk9UTykgeworCQlpZiAoaXBpbmZvMS0+cHJvdG9jb2wg IT0gaXBpbmZvMi0+cHJvdG9jb2wpCisJCQlyZXR1cm4gMDsKKwl9CisJaWYgKGlwaW5mbzEtPmJp dG1hc2sgJiBFQlRfSVA2X1NQT1JUKSB7CisJCWlmIChpcGluZm8xLT5zcG9ydFswXSAhPSBpcGlu Zm8yLT5zcG9ydFswXSB8fAorCQkgICBpcGluZm8xLT5zcG9ydFsxXSAhPSBpcGluZm8yLT5zcG9y dFsxXSkKKwkJCXJldHVybiAwOworCX0KKwlpZiAoaXBpbmZvMS0+Yml0bWFzayAmIEVCVF9JUDZf RFBPUlQpIHsKKwkJaWYgKGlwaW5mbzEtPmRwb3J0WzBdICE9IGlwaW5mbzItPmRwb3J0WzBdIHx8 CisJCSAgIGlwaW5mbzEtPmRwb3J0WzFdICE9IGlwaW5mbzItPmRwb3J0WzFdKQorCQkJcmV0dXJu IDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgc3RydWN0IGVidF91X21hdGNoIGlwNl9t YXRjaCA9Cit7CisJLm5hbWUJCT0gRUJUX0lQNl9NQVRDSCwKKwkuc2l6ZQkJPSBzaXplb2Yoc3Ry dWN0IGVidF9pcDZfaW5mbyksCisJLmhlbHAJCT0gcHJpbnRfaGVscCwKKwkuaW5pdAkJPSBpbml0 LAorCS5wYXJzZQkJPSBwYXJzZSwKKwkuZmluYWxfY2hlY2sJPSBmaW5hbF9jaGVjaywKKwkucHJp bnQJCT0gcHJpbnQsCisJLmNvbXBhcmUJPSBjb21wYXJlLAorCS5leHRyYV9vcHMJPSBvcHRzLAor fTsKKwordm9pZCBfaW5pdCh2b2lkKQoreworCWVidF9yZWdpc3Rlcl9tYXRjaCgmaXA2X21hdGNo KTsKK30KZGlmZiAtcnVOcCBlYnRhYmxlcy12Mi4wLjgtMi5vcmlnL2V4dGVuc2lvbnMvZWJ0X2xv Zy5jIGVidGFibGVzLXYyLjAuOC0yLmlwdjYvZXh0ZW5zaW9ucy9lYnRfbG9nLmMKLS0tIGVidGFi bGVzLXYyLjAuOC0yLm9yaWcvZXh0ZW5zaW9ucy9lYnRfbG9nLmMJMjAwNy0wOS0yMSAxMDoyNzoy MC4wMDAwMDAwMDAgLTA3MDAKKysrIGVidGFibGVzLXYyLjAuOC0yLmlwdjYvZXh0ZW5zaW9ucy9l YnRfbG9nLmMJMjAwOC0wMS0zMCAxNzoyMjo1Ni4wMDAwMDAwMDAgLTA4MDAKQEAgLTYwLDYgKzYw LDcgQEAgc3RhdGljIGludCBuYW1lX3RvX2xvZ2xldmVsKGNoYXIqIGFyZykKICNkZWZpbmUgTE9H X0FSUCAgICAnMycKICNkZWZpbmUgTE9HX0lQICAgICAnNCcKICNkZWZpbmUgTE9HX0xPRyAgICAn NScKKyNkZWZpbmUgTE9HX0lQNiAgICAnNicKIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9 CiB7CiAJeyAibG9nLXByZWZpeCIsIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBMT0dfUFJFRklYIH0s CkBAIC02Nyw2ICs2OCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9CiAJeyAibG9n LWFycCIgICAsIG5vX2FyZ3VtZW50ICAgICAgLCAwLCBMT0dfQVJQICAgIH0sCiAJeyAibG9nLWlw IiAgICAsIG5vX2FyZ3VtZW50ICAgICAgLCAwLCBMT0dfSVAgICAgIH0sCiAJeyAibG9nIiAgICAg ICAsIG5vX2FyZ3VtZW50ICAgICAgLCAwLCBMT0dfTE9HICAgIH0sCisJeyAibG9nLWlwNiIgICAs IG5vX2FyZ3VtZW50ICAgICAgLCAwLCBMT0dfSVA2ICAgIH0sCiAJeyAwIH0KIH07CiAKQEAgLTgx LDYgKzgzLDcgQEAgc3RhdGljIHZvaWQgcHJpbnRfaGVscCgpCiAiLS1sb2ctcHJlZml4IHByZWZp eCA6IG1heC4gJWQgY2hhcnMuXG4iCiAiLS1sb2ctaXAgICAgICAgICAgICA6IHB1dCBpcCBpbmZv LiBpbiB0aGUgbG9nIGZvciBpcCBwYWNrZXRzXG4iCiAiLS1sb2ctYXJwICAgICAgICAgICA6IHB1 dCAocilhcnAgaW5mby4gaW4gdGhlIGxvZyBmb3IgKHIpYXJwIHBhY2tldHNcbiIKKyItLWxvZy1p cDYgICAgICAgICAgIDogcHV0IGlwNiBpbmZvLiBpbiB0aGUgbG9nIGZvciBpcDYgcGFja2V0c1xu IgogCSwgRUJUX0xPR19QUkVGSVhfU0laRSAtIDEpOwogCXByaW50ZigibGV2ZWxzOlxuIik7CiAJ Zm9yIChpID0gMDsgaSA8IDg7IGkrKykKQEAgLTEwMiw2ICsxMDUsNyBAQCBzdGF0aWMgdm9pZCBp bml0KHN0cnVjdCBlYnRfZW50cnlfd2F0Y2hlCiAjZGVmaW5lIE9QVF9BUlAgICAgMHgwNAogI2Rl ZmluZSBPUFRfSVAgICAgIDB4MDgKICNkZWZpbmUgT1BUX0xPRyAgICAweDEwCisjZGVmaW5lIE9Q VF9JUDYgICAgMHgyMAogc3RhdGljIGludCBwYXJzZShpbnQgYywgY2hhciAqKmFyZ3YsIGludCBh cmdjLCBjb25zdCBzdHJ1Y3QgZWJ0X3VfZW50cnkgKmVudHJ5LAogICAgdW5zaWduZWQgaW50ICpm bGFncywgc3RydWN0IGVidF9lbnRyeV93YXRjaGVyICoqd2F0Y2hlcikKIHsKQEAgLTE1MSw2ICsx NTUsMTMgQEAgc3RhdGljIGludCBwYXJzZShpbnQgYywgY2hhciAqKmFyZ3YsIGludAogCQlpZiAo ZWJ0X2NoZWNrX2ludmVyc2Uob3B0YXJnKSkKIAkJCWVidF9wcmludF9lcnJvcjIoIlVuZXhwZWN0 ZWQgYCEnIGFmdGVyIC0tbG9nIik7CiAJCWJyZWFrOworCisJY2FzZSBMT0dfSVA2OgorCQllYnRf Y2hlY2tfb3B0aW9uMihmbGFncywgT1BUX0lQNik7CisJCWlmIChlYnRfY2hlY2tfaW52ZXJzZShv cHRhcmcpKQorCQkJZWJ0X3ByaW50X2Vycm9yMigiVW5leHBlY3RlZCBgIScgYWZ0ZXIgLS1sb2ct aXA2Iik7CisJCWxvZ2luZm8tPmJpdG1hc2sgfD0gRUJUX0xPR19JUDY7CisJCWJyZWFrOwogCWRl ZmF1bHQ6CiAJCXJldHVybiAwOwogCX0KQEAgLTE3NSw2ICsxODYsOCBAQCBzdGF0aWMgdm9pZCBw cmludChjb25zdCBzdHJ1Y3QgZWJ0X3VfZW50CiAJCXByaW50ZigiIC0tbG9nLWlwIik7CiAJaWYg KGxvZ2luZm8tPmJpdG1hc2sgJiBFQlRfTE9HX0FSUCkKIAkJcHJpbnRmKCIgLS1sb2ctYXJwIik7 CisJaWYgKGxvZ2luZm8tPmJpdG1hc2sgJiBFQlRfTE9HX0lQNikKKwkJcHJpbnRmKCIgLS1sb2ct aXA2Iik7CiAJcHJpbnRmKCIgIik7CiB9CiAKZGlmZiAtcnVOcCBlYnRhYmxlcy12Mi4wLjgtMi5v cmlnL2V4dGVuc2lvbnMvTWFrZWZpbGUgZWJ0YWJsZXMtdjIuMC44LTIuaXB2Ni9leHRlbnNpb25z L01ha2VmaWxlCi0tLSBlYnRhYmxlcy12Mi4wLjgtMi5vcmlnL2V4dGVuc2lvbnMvTWFrZWZpbGUJ MjAwNy0wOS0yMSAxMDoyNzoyMC4wMDAwMDAwMDAgLTA3MDAKKysrIGVidGFibGVzLXYyLjAuOC0y LmlwdjYvZXh0ZW5zaW9ucy9NYWtlZmlsZQkyMDA4LTAxLTExIDE5OjQxOjQ3LjAwMDAwMDAwMCAt MDgwMApAQCAtMSw2ICsxLDYgQEAKICMhIC91c3IvYmluL21ha2UKIAotRVhUX0ZVTkMrPTgwMl8z IG5hdCBhcnAgYXJwcmVwbHkgaXAgc3RhbmRhcmQgbG9nIHJlZGlyZWN0IHZsYW4gbWFya19tIG1h cmsgXAorRVhUX0ZVTkMrPTgwMl8zIG5hdCBhcnAgYXJwcmVwbHkgaXAgaXA2IHN0YW5kYXJkIGxv ZyByZWRpcmVjdCB2bGFuIG1hcmtfbSBtYXJrIFwKICAgICAgICAgICBwa3R0eXBlIHN0cCBhbW9u ZyBsaW1pdCB1bG9nCiBFWFRfVEFCTEVTKz1maWx0ZXIgbmF0IGJyb3V0ZQogRVhUX09CSlMrPSQo Zm9yZWFjaCBULCQoRVhUX0ZVTkMpLCBleHRlbnNpb25zL2VidF8kKFQpLm8pCg== ------_=_NextPart_001_01C86AAE.F8098900 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ ------_=_NextPart_001_01C86AAE.F8098900 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Ebtables-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ebtables-devel ------_=_NextPart_001_01C86AAE.F8098900--