Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 May 2001 09:49:47 +0400 (MSD)
From:      "Vladimir B. Grebenschikov" <vova@express.ru>
To:        Julian Elischer <julian@elischer.org>
Cc:        "Vladimir B. Grebenschikov" <vova@express.ru>, freebsd-net@FreeBSD.ORG
Subject:   Re: netgraph interface names
Message-ID:  <15095.35067.813462.898426@vbook.express.ru>
In-Reply-To: <3AF6E39A.A7447268@elischer.org>
References:  <15092.6166.422647.927779@vbook.express.ru> <3AF6E39A.A7447268@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--PhLw+oqIYC
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit

Julian Elischer writes:
 > I was thinking of doing this..
 > 
 > but slightly differnt....
 > renaming the node would change the interface name too.
 > but what you have would work as well.

Only problem it is no hook between node renaming code in ng_base.c and
interface allocation code in ng_iface.c

below more extended patch, that supports allocation first free
interface with name "ifname#".

 > "Vladimir B. Grebenschikov" wrote:
 > > 
 > > Tring to use netgraph system for some pruposes
 > > (frame-relay/tunneling/sync) I found that it is too complicated to
 > > follow naming schemes for different clients, and build firewall
 > > tables And not very clean witch ngX for what.
 > > 
 > > There two patches:
 > > 
 > > first allow name netgraph network interface.
 > > 
 > > # ngctl msg ng0: setifname \"sync0\"
 > > 
 > > will name interace ng0 as sync0
 > > 
 > > second patch allows rename already named netgraph node (I don't understand why
 > > netgraph designers don't allow this)
 > > 
 > > # ngctl name ng0: sync0
 > > 
 > > so small script will easy create interface:
 > > 
 > > mkif() {
 > >   name="$1"
 > >   ngname=`( echo "mkpeer iface dummy inet";  echo "msg .:dummy getifname" ) \
 > >          | ngctl -f - | perl -n -e '/Args:\s+\"(ng\d+)\"/ && print "$1\n";'`
 > >   if [ "$name" != "" ]; then
 > >      ngctl msg $ngname: setifname \"$name\"
 > >      ngctl name $ngname: $name
 > >      ngname=$name
 > >   fi
 > > }
 > > 
 > > # SYNC interfaces
 > > mkif sync0
 > > # some other netgraph stuff
 > > 
 > > mkif sync1
 > > ...
 > > mkif sync2
 > > ...
 > > 
 > > # framerelay
 > > mkif frm0
 > > ...
 > > mkif frm1
 > > ...
 > > 


--PhLw+oqIYC
Content-Type: application/octet-stream
Content-Disposition: attachment;
	filename="iface-setname.patch"
Content-Transfer-Encoding: base64

LS0tIHN5cy9uZXRncmFwaC9uZ19pZmFjZS5oLm9yaWcJU2F0IE1heSAgNSAxMjozODozMyAy
MDAxCisrKyBzeXMvbmV0Z3JhcGgvbmdfaWZhY2UuaAlTYXQgTWF5ICA1IDE0OjIxOjA5IDIw
MDEKQEAgLTcwLDYgKzcwLDcgQEAKIAlOR01fSUZBQ0VfR0VUX0lGTkFNRSA9IDEsCS8qIHJl
dHVybnMgc3RydWN0IG5nX2lmYWNlX2lmbmFtZSAqLwogCU5HTV9JRkFDRV9QT0lOVDJQT0lO
VCwKIAlOR01fSUZBQ0VfQlJPQURDQVNULAorCU5HTV9JRkFDRV9TRVRfSUZOQU1FLCAgICAg
ICAgICAgLyogc2V0IGludGVyZmFjZSBuYW1lICovCiB9OwogCiBzdHJ1Y3QgbmdfaWZhY2Vf
aWZuYW1lIHsKLS0tIHN5cy9uZXRncmFwaC9uZ19pZmFjZS5jLm9yaWcJU2F0IE1heSAgNSAx
MjozODoyNiAyMDAxCisrKyBzeXMvbmV0Z3JhcGgvbmdfaWZhY2UuYwlNb24gTWF5ICA3IDIw
OjU4OjM2IDIwMDEKQEAgLTYyLDkgKzYyLDExIEBACiAjaW5jbHVkZSA8c3lzL3NvY2tldC5o
PgogI2luY2x1ZGUgPHN5cy9zeXNsb2cuaD4KICNpbmNsdWRlIDxzeXMvbGlia2Vybi5oPgor
I2luY2x1ZGUgPHN5cy9jdHlwZS5oPgogCiAjaW5jbHVkZSA8bmV0L2lmLmg+CiAjaW5jbHVk
ZSA8bmV0L2lmX3R5cGVzLmg+CisjaW5jbHVkZSA8bmV0L2lmX2RsLmg+CiAjaW5jbHVkZSA8
bmV0L2ludHJxLmg+CiAjaW5jbHVkZSA8bmV0L2JwZi5oPgogCkBAIC0xNTcsNiArMTU5LDEz
IEBACiAJfSwKIAl7CiAJICBOR01fSUZBQ0VfQ09PS0lFLAorCSAgTkdNX0lGQUNFX1NFVF9J
Rk5BTUUsCisJICAic2V0aWZuYW1lIiwKKwkgICZuZ19pZmFjZV9pZm5hbWVfdHlwZSwKKwkg
IE5VTEwKKwl9LAorCXsKKwkgIE5HTV9JRkFDRV9DT09LSUUsCiAJICBOR01fSUZBQ0VfUE9J
TlQyUE9JTlQsCiAJICAicG9pbnQycG9pbnQiLAogCSAgTlVMTCwKQEAgLTY0NCw2ICs2NTMs
NjggQEAKIAkJCWJyZWFrOwogCQkgICAgfQogCisJCWNhc2UgTkdNX0lGQUNFX1NFVF9JRk5B
TUU6CisJCSAgICB7CisJCQlzdHJ1Y3QgbmdfaWZhY2VfaWZuYW1lICphcmcgPSAKKwkJCSAg
ICAgICAoc3RydWN0IG5nX2lmYWNlX2lmbmFtZSAqKW1zZy0+ZGF0YTsKKwkJCWNoYXIgKnN0
cjsKKwkJCWludCB1bml0LCBtYXh1bml0ID0gLTE7CisJCQlpbnQgczsKKwkJCXN0cnVjdCBp
Zm5ldCAqIGlmcHIgPSBOVUxMOworCisJCQkvKiBEZW55IHJlcXVlc3QgaWYgaW50ZXJmYWNl
IGlzIFVQICovCisJCQlpZiAoKGlmcC0+aWZfZmxhZ3MgJiBJRkZfVVApICE9IDApIHsKKwkJ
CSAgZXJyb3IgPSBFQlVTWTsKKwkJCSAgYnJlYWs7CisJCQl9CisJCQkKKwkJCXN0ciA9IGFy
Zy0+bmdpZl9uYW1lICsgc3RybGVuKGFyZy0+bmdpZl9uYW1lKSAtIDE7CisJCQlpZiAoKnN0
ciA9PSAnIycpIAorCQkJICB1bml0ID0gLTE7IC8qIHVuaXQgPSAtMSBtZWFucyBmaXJzdCBh
dmFpbGFibGUgdW5pdCAqLworCQkJZWxzZQorCQkJICBmb3IgKDsoc3RyID4gYXJnLT5uZ2lm
X25hbWUpICYmIGlzZGlnaXQoKnN0cik7IHN0ci0tKTsKKwkJCQorCQkJaWYgKHN0ciA9PSBh
cmctPm5naWZfbmFtZSkgeworCQkJICBlcnJvciA9IEVJTlZBTDsKKwkJCSAgYnJlYWs7CisJ
CQl9CisKKwkJCWlmICh1bml0ICE9IC0xKQorCQkJICB1bml0ID0gc3RydG91bCgrK3N0ciwg
TlVMTCwgMTApOworCisJCQkqc3RyID0gJ1wwJzsKKworCQkJLyogY2hlY2sgZm9yIGV4aXN0
aW5nIGludGVyZmFjZSB3aXRoIHNhbWUgbmFtZSAqLworCQkJcyA9IHNwbGltcCgpOworCQkJ
VEFJTFFfRk9SRUFDSChpZnByLCAmaWZuZXQsIGlmX2xpbmspIAorCQkJICBpZiAoc3RyY21w
KGlmcHItPmlmX25hbWUsIGFyZy0+bmdpZl9uYW1lKSA9PSAwKSB7CisJCQkgICAgaWYgKHVu
aXQgPT0gLTEpIAorCQkJICAgICAgbWF4dW5pdCA9IChpZnByLT5pZl91bml0ID4gbWF4dW5p
dCk/aWZwci0+aWZfdW5pdDptYXh1bml0OworCQkJICAgIGVsc2UgCisJCQkgICAgICBpZiAo
aWZwci0+aWZfdW5pdCA9PSB1bml0KSB7CisJCQkJZXJyb3IgPSBFRVhJU1Q7CisJCQkJYnJl
YWs7CisJCQkgICAgICB9CisJCQkgIH0KKworCQkJc3BseChzKTsKKwkJCWlmIChlcnJvcikg
YnJlYWs7CisKKwkJCWlmICh1bml0ID09IC0xKSAKKwkJCSAgdW5pdCA9IG1heHVuaXQgKyAx
OworCQkJCisJCQlNQUxMT0MoaWZwLT5pZl9uYW1lLCBjaGFyICosIHN0cmxlbihhcmctPm5n
aWZfbmFtZSkgKyAxLCBNX05FVEdSQVBILCBNX05PV0FJVCk7CisJCQlzID0gc3BsaW1wKCk7
CisJCQlzdHJjcHkoaWZwLT5pZl9uYW1lLCBhcmctPm5naWZfbmFtZSk7CisJCQlpZnAtPmlm
X3VuaXQgPSB1bml0OworCQkJc3BseChzKTsKKwkJCQorCQkJaWZfZGV0YWNoKGlmcCk7CisJ
CQlpZl9hdHRhY2goaWZwKTsKKwkJCQorCQkJYnJlYWs7CisJCSAgICB9CisJCSAgICAKIAkJ
Y2FzZSBOR01fSUZBQ0VfUE9JTlQyUE9JTlQ6CiAJCWNhc2UgTkdNX0lGQUNFX0JST0FEQ0FT
VDoKIAkJICAgIHsK

--PhLw+oqIYC
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit



 > -- 
 >       __--_|\  Julian Elischer
 >      /       \ julian@elischer.org
 >     (   OZ    ) World tour 2000-2001
 > ---> X_.---._/  

--
TSB Russian Express, Moscow
Vladimir B. Grebenschikov, vova@express.ru

--PhLw+oqIYC--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




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