kern/179473: Source code contribution of implementation about virtual ethernet interface
Henning Matyschok
henning.matyschok at stud.fh-flensburg.de
Wed Oct 16 02:40:02 UTC 2013
The following reply was made to PR kern/179473; it has been noted by GNATS.
From: "Henning Matyschok" <henning.matyschok at stud.fh-flensburg.de>
To: bug-followup at freebsd.org, henning.matyschok at stud.fh-flensburg.de
Cc:
Subject: Re: kern/179473: Source code contribution of implementation about
virtual ethernet interface
Date: Wed, 16 Oct 2013 04:16:57 -0000
------------AUg3WsvCZxErQAqbTzKG0C
Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
bpf(4)
------------AUg3WsvCZxErQAqbTzKG0C
Content-Disposition: attachment; filename=if_vether.c
Content-Type: application/octet-stream; name=if_vether.c
Content-Transfer-Encoding: Base64
LyotCiAqIENvcHlyaWdodCAoYykgMjAxMyBIZW5uaW5nIE1hdHlzY2hvawogKgog
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCiAqIGFy
ZSBtZXQ6CiAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQogKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKgogKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECiAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRQogKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQogKiBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAogKiBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUwogKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKICogSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QKICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQogKiBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GCiAqIFNVQ0ggREFNQUdFLgogKgogKi8KLyoKICog
Q29weXJpZ2h0IChjKSAyMDA5IFRoZW8gZGUgUmFhZHQKICoKICogUGVybWlzc2lv
biB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0
d2FyZSBmb3IgYW55CiAqIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBo
ZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKICogY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4g
YWxsIGNvcGllcy4KICoKICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ
UyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCiAqIFdJ
VEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YKICogTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IKICogQU5Z
IFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyBPUiBBTlkgREFNQUdFUwogKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9N
IExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KICog
QUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VT
IEFDVElPTiwgQVJJU0lORyBPVVQgT0YKICogT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KICovCiNp
bmNsdWRlIDxzeXMvcGFyYW0uaD4KI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4KI2lu
Y2x1ZGUgPHN5cy9tb2R1bGUuaD4KI2luY2x1ZGUgPHN5cy9saWJrZXJuLmg+CiNp
bmNsdWRlIDxzeXMvc29ja2V0Lmg+IAojaW5jbHVkZSA8c3lzL3NvY2tpby5oPgog
CiNpbmNsdWRlIDxuZXQvaWYuaD4KI2luY2x1ZGUgPG5ldC9pZl9jbG9uZS5oPgoj
aW5jbHVkZSA8bmV0L2lmX21lZGlhLmg+CiNpbmNsdWRlIDxuZXQvaWZfdHlwZXMu
aD4KI2luY2x1ZGUgPG5ldC9icGYuaD4KI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5o
PgojaW5jbHVkZSA8bmV0L2lmX2JyaWRnZXZhci5oPgoKI2RlZmluZSBWRVRIRVJO
QU1FCSJ2ZXRoZXIiCiNkZWZpbmUJTVRBR19WRVRIRVIJMTM3NzE0Njc2NAojZGVm
aW5lCU1UQUdfVkVUSEVSX0NBTExFRAkwIAogCnN0cnVjdCB2ZXRoZXJfc29mdGMg
ewoJc3RydWN0IGlmbmV0CSpzY19pZnA7CS8qIE5ldHdvcmsgaW50ZXJmYWNlLiAq
LwoJTElTVF9FTlRSWSh2ZXRoZXJfc29mdGMpIHZldGhlcl9saXN0OwoJc3RydWN0
IG10eAlzY19tdHg7CQojZGVmaW5lCVZFVEhFUl9MT0NLX0lOSVQoc2MpCW10eF9p
bml0KCYoc2MpLT5zY19tdHgsICJ2ZXRoZXIgc29mdGMiLAlcCgkJCQkgICAgIE5V
TEwsIE1UWF9ERUYpCiNkZWZpbmUJVkVUSEVSX0xPQ0tfREVTVFJPWShzYykJbXR4
X2Rlc3Ryb3koJihzYyktPnNjX210eCkKI2RlZmluZQlWRVRIRVJfTE9DSyhzYykJ
CW10eF9sb2NrKCYoc2MpLT5zY19tdHgpCiNkZWZpbmUJVkVUSEVSX1VOTE9DSyhz
YykJCW10eF91bmxvY2soJihzYyktPnNjX210eCkKI2RlZmluZQlWRVRIRVJfTE9D
S19BU1NFUlQoc2MpCW10eF9hc3NlcnQoJihzYyktPnNjX210eCwgTUFfT1dORUQp
CQoJLyogRmFrZSBpbmZvcm1hdGlvbiBhYm91dCB0cmFuc21pc3Npb24gbWVkaWEu
ICovCglzdHJ1Y3QgaWZtZWRpYQlzY19pZm07CQoJaW50CXNjX3N0YXR1czsKfTsK
CnN0YXRpYyBMSVNUX0hFQUQoLCB2ZXRoZXJfc29mdGMpIHZldGhlcl9saXN0Owog
CnN0YXRpYyBzdHJ1Y3QgbXR4IHZldGhlcl9tdHg7CnN0YXRpYyBNQUxMT0NfREVG
SU5FKE1fVkVUSEVSLCBWRVRIRVJOQU1FLCAiVmlydHVhbCBFdGhlcm5ldCBpbnRl
cmZhY2UiKTsKIApzdGF0aWMgaW50CXZldGhlcl9jbG9uZV9jcmVhdGUoc3RydWN0
IGlmX2Nsb25lICosIGludCwgY2FkZHJfdCk7CnN0YXRpYyB2b2lkCXZldGhlcl9j
bG9uZV9kZXN0cm95KHN0cnVjdCBpZm5ldCAqKTsKIApJRkNfU0lNUExFX0RFQ0xB
UkUodmV0aGVyLCAwKTsKCnN0YXRpYyB2b2lkCXZldGhlcl9pbml0KHZvaWQgKik7
CnN0YXRpYyB2b2lkCXZldGhlcl9zdG9wKHN0cnVjdCBpZm5ldCAqLCBpbnQpOwpz
dGF0aWMgdm9pZAl2ZXRoZXJfc3RhcnRfbG9ja2VkKHN0cnVjdCBpZm5ldCAqKTsK
c3RhdGljIHZvaWQJdmV0aGVyX3N0YXJ0KHN0cnVjdCBpZm5ldCAqKTsKCnN0YXRp
YyBpbnQJdmV0aGVyX21lZGlhX2NoYW5nZShzdHJ1Y3QgaWZuZXQgKik7CnN0YXRp
YyB2b2lkCXZldGhlcl9tZWRpYV9zdGF0dXMoc3RydWN0IGlmbmV0ICosIHN0cnVj
dCBpZm1lZGlhcmVxICopOwpzdGF0aWMgaW50CXZldGhlcl9pb2N0bChzdHJ1Y3Qg
aWZuZXQgKiwgdV9sb25nLCBjYWRkcl90KTsKCi8qCiAqIEluc3RhbnRpYXRlcyB2
ZXRoZXIgaW50ZXJmYWNlLgogKi8Kc3RhdGljIGludAp2ZXRoZXJfY2xvbmVfY3Jl
YXRlKHN0cnVjdCBpZl9jbG9uZSAqaWZjLCBpbnQgdW5pdCwgY2FkZHJfdCBkYXRh
KQp7CglzdHJ1Y3QgdmV0aGVyX3NvZnRjICpzYzsKCXN0cnVjdCBpZm5ldCAqaWZw
OwoJdWludDMyX3QgcmFuZHZhbDsKCXVpbnQ4X3QJbGxhW0VUSEVSX0FERFJfTEVO
XTsKIAoJc2MgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCB2ZXRoZXJfc29mdGMpLCBN
X1ZFVEhFUiwgTV9XQUlUT0t8TV9aRVJPKTsKCWlmcCA9IHNjLT5zY19pZnAgPSBp
Zl9hbGxvYyhJRlRfRVRIRVIpOwoJaWYgKGlmcCA9PSBOVUxMKSB7CgkJZnJlZShz
YywgTV9WRVRIRVIpOwoJCXJldHVybiAoRU5PU1BDKTsKCX0KIAoJVkVUSEVSX0xP
Q0tfSU5JVChzYyk7CglpZnAtPmlmX3NvZnRjID0gc2M7CiAKCWlmX2luaXRuYW1l
KGlmcCwgaWZjLT5pZmNfbmFtZSwgdW5pdCk7CiAKCS8qIEdlbmVyYXRlcyBsbGEg
d2l0aCByYW5kb21pemVkIHZhbHVlLiAqLwoJbGxhWzBdID0gMHgwOwoJcmFuZHZh
bCA9IGFyYzRyYW5kb20oKTsKCW1lbWNweSgmbGxhWzFdLCAmcmFuZHZhbCwgc2l6
ZW9mKHVpbnQzMl90KSk7CglsbGFbNV0gPSAodWludDhfdCl1bml0OyAvKiBJbnRl
cmZhY2UgbWFqb3IgbnVtYmVyICovCiAKCWV0aGVyX2lmYXR0YWNoKGlmcCwgbGxh
KTsKIAoJaWZwLT5pZl9pbml0ID0gdmV0aGVyX2luaXQ7CglpZnAtPmlmX2lvY3Rs
ID0gdmV0aGVyX2lvY3RsOwoJaWZwLT5pZl9zdGFydCA9IHZldGhlcl9zdGFydDsK
IAoJaWZwLT5pZl9jYXBhYmlsaXRpZXMgPSBJRkNBUF9WTEFOX01UVSB8IElGQ0FQ
X0pVTUJPX01UVTsKCWlmcC0+aWZfY2FwZW5hYmxlID0gSUZDQVBfVkxBTl9NVFUg
fCBJRkNBUF9KVU1CT19NVFU7CglpZnAtPmlmX2ZsYWdzID0gKElGRl9TSU1QTEVY
IHwgSUZGX0JST0FEQ0FTVCB8IElGRl9NVUxUSUNBU1QpOwoJaWZwLT5pZl9zbmQu
aWZxX21heGxlbiA9IGlmcW1heGxlbjsKIAoJaWZtZWRpYV9pbml0KCZzYy0+c2Nf
aWZtLCAwLCB2ZXRoZXJfbWVkaWFfY2hhbmdlLCB2ZXRoZXJfbWVkaWFfc3RhdHVz
KTsKCWlmbWVkaWFfYWRkKCZzYy0+c2NfaWZtLCBJRk1fRVRIRVIgfCBJRk1fQVVU
TywgMCwgTlVMTCk7CglpZm1lZGlhX3NldCgmc2MtPnNjX2lmbSwgSUZNX0VUSEVS
IHwgSUZNX0FVVE8pOwogCglzYy0+c2Nfc3RhdHVzID0gSUZNX0FWQUxJRDsKCWlm
cC0+aWZfYmF1ZHJhdGUgPSAwOwogCgltdHhfbG9jaygmdmV0aGVyX210eCk7CglM
SVNUX0lOU0VSVF9IRUFEKCZ2ZXRoZXJfbGlzdCwgc2MsIHZldGhlcl9saXN0KTsK
CW10eF91bmxvY2soJnZldGhlcl9tdHgpOwoJaWZwLT5pZl9kcnZfZmxhZ3MgfD0g
SUZGX0RSVl9SVU5OSU5HOwogCglyZXR1cm4gKDApOwp9CiAKLyoKICogRGVzdHJv
eXMgdmV0aGVyIGludGVyZmFjZS4KICovCnN0YXRpYyB2b2lkCnZldGhlcl9jbG9u
ZV9kZXN0cm95KHN0cnVjdCBpZm5ldCAqaWZwKQp7CglzdHJ1Y3QgdmV0aGVyX3Nv
ZnRjICpzYzsJCglzYyA9IGlmcC0+aWZfc29mdGM7CQogCgltdHhfbG9jaygmdmV0
aGVyX210eCk7Cgl2ZXRoZXJfc3RvcChpZnAsIDEpOwoJaWZwLT5pZl9mbGFncyAm
PSB+SUZGX1VQOwkJCQoJTElTVF9SRU1PVkUoc2MsIHZldGhlcl9saXN0KTsKCWV0
aGVyX2lmZGV0YWNoKGlmcCk7CglWRVRIRVJfTE9DS19ERVNUUk9ZKHNjKTsKIAoJ
bXR4X3VubG9jaygmdmV0aGVyX210eCk7CglmcmVlKHNjLCBNX1ZFVEhFUik7Cn0K
IAovKgogKiBJbml0aWFsaXplcyB2ZXRoZXIgaW50ZXJmYWNlLgogKi8Kc3RhdGlj
IHZvaWQKdmV0aGVyX2luaXQodm9pZCAqeHNjKQp7CglzdHJ1Y3QgdmV0aGVyX3Nv
ZnRjICpzYzsKCXN0cnVjdCBpZm5ldCAqaWZwOwogCiAJc2MgPSAoc3RydWN0IHZl
dGhlcl9zb2Z0YyAqKXhzYzsKCVZFVEhFUl9MT0NLKHNjKTsKCWlmcCA9IHNjLT5z
Y19pZnA7CglpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJWX1JVTk5JTkc7Cglp
ZnAtPmlmX2Rydl9mbGFncyAmPSB+SUZGX0RSVl9PQUNUSVZFOwoJVkVUSEVSX1VO
TE9DSyhzYyk7Cn0KIAovKgogKiBTdG9wcyB2ZXRoZXIgaW50ZXJmYWNlLgogKi8K
c3RhdGljIHZvaWQKdmV0aGVyX3N0b3Aoc3RydWN0IGlmbmV0ICppZnAsIGludCBk
aXNhYmxlKQp7CglzdHJ1Y3QgdmV0aGVyX3NvZnRjICpzYzsKCQoJc2MgPSBpZnAt
PmlmX3NvZnRjOwoJVkVUSEVSX0xPQ0tfQVNTRVJUKHNjKTsKCWlmcC0+aWZfZHJ2
X2ZsYWdzICY9IH5JRkZfRFJWX1JVTk5JTkc7Cn0JCiAKLyoKICogU3RhcnRzIHRy
YW5zbWlzc2lvbi4KICovCnN0YXRpYyB2b2lkCnZldGhlcl9zdGFydChzdHJ1Y3Qg
aWZuZXQgKmlmcCkKewoJc3RydWN0IHZldGhlcl9zb2Z0Ywkqc2M7CgoJc2MgPSBp
ZnAtPmlmX3NvZnRjOwoJVkVUSEVSX0xPQ0soc2MpOwoJdmV0aGVyX3N0YXJ0X2xv
Y2tlZChpZnApOwoJVkVUSEVSX1VOTE9DSyhzYyk7Cn0KCnN0YXRpYyB2b2lkCnZl
dGhlcl9zdGFydF9sb2NrZWQoc3RydWN0IGlmbmV0ICppZnApCnsKCXN0cnVjdCB2
ZXRoZXJfc29mdGMJKnNjOwoJc3RydWN0IG1idWYgKm07CglzdHJ1Y3QgbV90YWcg
KnQ7CgoJc2MgPSBpZnAtPmlmX3NvZnRjOwoJVkVUSEVSX0xPQ0tfQVNTRVJUKHNj
KTsKCglpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJWX09BQ1RJVkU7CgkKCWZv
ciAoOzspIHsKCQlJRlFfREVRVUVVRSgmaWZwLT5pZl9zbmQsIG0pOwoJCWlmICht
ID09IE5VTEwpIAoJCQlicmVhazsKCQkKCQlFVEhFUl9CUEZfTVRBUChpZnAsIG0p
OwkKCQkKIAkJaWYgKGlmcC0+aWZfYnJpZGdlID09IE5VTEwpIHsKCQkJbV9mcmVl
bShtKTsKCQkJY29udGludWU7CgkJfQoJCgkJdCA9IG1fdGFnX2xvY2F0ZShtLCBN
VEFHX1ZFVEhFUiwgTVRBR19WRVRIRVJfQ0FMTEVELCBOVUxMKTsKCQlpZiAodCAh
PSBOVUxMKSB7CgkJCW1fZnJlZW0obSk7CgkJCWNvbnRpbnVlOwkJIAkJCgkJfQoJ
CQkJCgkJaWYgKG0tPm1fcGt0aGRyLnJjdmlmID09IE5VTEwpIHsKCQkJdCA9IG1f
dGFnX2FsbG9jKE1UQUdfVkVUSEVSLCBNVEFHX1ZFVEhFUl9DQUxMRUQsCgkJCQlz
aXplb2Yoc3RydWN0IG1fdGFnKSwgTV9OT1dBSVQpOwoJCQlpZiAodCA9PSBOVUxM
KSB7IAoJCQkJbV9mcmVlbShtKTsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCQoJCQlt
X3RhZ19wcmVwZW5kKG0sIHQpOwoJCQkodm9pZCkoYnJpZGdlX291dHB1dF9wKShp
ZnAsIG0sIE5VTEwsIE5VTEwpOwkJCiAJCX0gZWxzZSAKIAkJCW1fZnJlZW0obSk7
Cgl9CgkJCQkJCglpZnAtPmlmX2Rydl9mbGFncyAmPSB+SUZGX0RSVl9PQUNUSVZF
Owp9CgovKgogKiBNZWRpYSB0eXBlcyBjYW4ndCBjaGFuZ2VkLgogKi8Kc3RhdGlj
IGludAp2ZXRoZXJfaW9jdGwoc3RydWN0IGlmbmV0ICppZnAsIHVfbG9uZyBjbWQs
IGNhZGRyX3QgZGF0YSkKewoJc3RydWN0IHZldGhlcl9zb2Z0YyAqc2MgPSBpZnAt
PmlmX3NvZnRjOwkKCXN0cnVjdCBpZnJlcSAqaWZyID0gKHN0cnVjdCBpZnJlcSAq
KWRhdGE7CglpbnQgZXJyb3IgPSAwOwogCglWRVRIRVJfTE9DSyhzYyk7Cglzd2l0
Y2ggKGNtZCkgewoJY2FzZSBTSU9DU0lGTVRVOgoJCWlmIChpZnItPmlmcl9tdHUg
PiBFVEhFUl9NQVhfTEVOX0pVTUJPKSAKCQkJZXJyb3IgPSBFSU5WQUw7CgkJZWxz
ZSAKCQkJaWZwLT5pZl9tdHUgPSBpZnItPmlmcl9tdHU7CQoJCWJyZWFrOwoJY2Fz
ZSBTSU9DU0lGTUVESUE6CgljYXNlIFNJT0NHSUZNRURJQToKCQllcnJvciA9IGlm
bWVkaWFfaW9jdGwoaWZwLCBpZnIsICZzYy0+c2NfaWZtLCBjbWQpOwoJCWJyZWFr
OwoJY2FzZSBTSU9DU0lGRkxBR1M6CgljYXNlIFNJT0NBRERNVUxUSToKCWNhc2Ug
U0lPQ0RFTE1VTFRJOgoJCWJyZWFrOwoJY2FzZSBTSU9DU0lGUEhZUzoKCQllcnJv
ciA9IEVPUE5PVFNVUFA7CgkJYnJlYWs7CglkZWZhdWx0OgoJCWVycm9yID0gZXRo
ZXJfaW9jdGwoaWZwLCBjbWQsIGRhdGEpOwoJCWJyZWFrOwoJfQoJVkVUSEVSX1VO
TE9DSyhzYyk7CglyZXR1cm4gKGVycm9yKTsKfSAKCnN0YXRpYyBpbnQKdmV0aGVy
X21lZGlhX2NoYW5nZShzdHJ1Y3QgaWZuZXQgKmlmcCkKewoJcmV0dXJuICgwKTsK
fQogCnN0YXRpYyB2b2lkCnZldGhlcl9tZWRpYV9zdGF0dXMoc3RydWN0IGlmbmV0
ICppZnAsIHN0cnVjdCBpZm1lZGlhcmVxICppZm1yKQp7CglpZm1yLT5pZm1fYWN0
aXZlID0gSUZNX0VUSEVSIHwgSUZNX0FVVE87CglpZm1yLT5pZm1fc3RhdHVzID0g
SUZNX0FWQUxJRCB8IElGTV9BQ1RJVkU7Cn0KCnN0YXRpYyBpbnQKdmV0aGVyX21v
ZF9ldmVudChtb2R1bGVfdCBtb2QsIGludCBldmVudCwgdm9pZCAqZGF0YSkKewoJ
aW50IGVycm9yID0gMDsKIAoJc3dpdGNoIChldmVudCkgewoJY2FzZSBNT0RfTE9B
RDoKCQltdHhfaW5pdCgmdmV0aGVyX210eCwgImlmX3ZldGhlciIsIE5VTEwsIE1U
WF9ERUYpOwoJCWlmX2Nsb25lX2F0dGFjaCgmdmV0aGVyX2Nsb25lcik7CQoJCWJy
ZWFrOwoJY2FzZSBNT0RfVU5MT0FEOgkKCQlpZl9jbG9uZV9kZXRhY2goJnZldGhl
cl9jbG9uZXIpOwoJCW10eF9kZXN0cm95KCZ2ZXRoZXJfbXR4KTsKCQlicmVhazsK
CWRlZmF1bHQ6CgkJZXJyb3IgPSBFT1BOT1RTVVBQOwoJfQogCglyZXR1cm4gKGVy
cm9yKTsKfSAKIApzdGF0aWMgbW9kdWxlZGF0YV90IHZldGhlcl9tb2QgPSB7Cgki
aWZfdmV0aGVyIiwKCXZldGhlcl9tb2RfZXZlbnQsCgkwCn07CkRFQ0xBUkVfTU9E
VUxFKGlmX3ZldGhlciwgdmV0aGVyX21vZCwgU0lfU1VCX1BTRVVETywgU0lfT1JE
RVJfQU5ZKTsK
------------AUg3WsvCZxErQAqbTzKG0C--
More information about the freebsd-bugs
mailing list