Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jun 2006 10:49:34 +0800
From:      Xin LI <delphij@delphij.net>
To:        freebsd-arch@FreeBSD.org
Subject:   Why do we do if_init for AF_INET even if the interface is running?
Message-ID:  <1150166974.936.6.camel@spirit>

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

--=-Dpq9o/HbflHL57rEfR8e
Content-Type: multipart/mixed; boundary="=-efWsI2BtVBYfcy+E8XlV"


--=-efWsI2BtVBYfcy+E8XlV
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

Is there any reason why we do if_init() for AF_INET regardless whether
the interface is already in IF_DRV_RUNNING?  This seems to cause the
interface to reinitialize its link level state, which causes the network
to stop for a short while.

The proposed patch is inspired from NetBSD net/if_ethersubr.c,v 1.86
which says:

"When setting an address on an interface, for address families which
do not require changing the link-level address, only (*if_init)()
if the interface is not already RUNNING."

I think we may want this as well.

Comments?

Cheers,
--=20
Xin LI <delphij delphij net>    http://www.delphij.net/

--=-efWsI2BtVBYfcy+E8XlV
Content-Disposition: attachment; filename=patch-if_ethersubr.c
Content-Type: text/x-patch; name=patch-if_ethersubr.c; charset=ISO-8859-1
Content-Transfer-Encoding: base64

SW5kZXg6IGlmX2V0aGVyc3Vici5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9z
cmMvc3lzL25ldC9pZl9ldGhlcnN1YnIuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjE1DQpk
aWZmIC11IC1yMS4yMTUgaWZfZXRoZXJzdWJyLmMNCi0tLSBpZl9ldGhlcnN1YnIuYwkzIE1hciAy
MDA2IDE3OjIxOjA4IC0wMDAwCTEuMjE1DQorKysgaWZfZXRoZXJzdWJyLmMJMTMgSnVuIDIwMDYg
MDE6NTU6MzEgLTAwMDANCkBAIC05OTcsNyArOTk3LDggQEANCiAJCXN3aXRjaCAoaWZhLT5pZmFf
YWRkci0+c2FfZmFtaWx5KSB7DQogI2lmZGVmIElORVQNCiAJCWNhc2UgQUZfSU5FVDoNCi0JCQlp
ZnAtPmlmX2luaXQoaWZwLT5pZl9zb2Z0Yyk7CS8qIGJlZm9yZSBhcnB3aG9oYXMgKi8NCisJCQlp
ZiAoIShpZnAtPmlmX2Rydl9mbGFncyAmIElGRl9EUlZfUlVOTklORykpDQorCQkJCWlmcC0+aWZf
aW5pdChpZnAtPmlmX3NvZnRjKTsJLyogYmVmb3JlIGFycHdob2hhcyAqLw0KIAkJCWFycF9pZmlu
aXQoaWZwLCBpZmEpOw0KIAkJCWJyZWFrOw0KICNlbmRpZg0KQEAgLTEwMjcsNyArMTAyOCw4IEBA
DQogCQkJfQ0KICNlbmRpZg0KIAkJZGVmYXVsdDoNCi0JCQlpZnAtPmlmX2luaXQoaWZwLT5pZl9z
b2Z0Yyk7DQorCQkJaWYgKCEoaWZwLT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JVTk5JTkcpKQ0K
KwkJCQlpZnAtPmlmX2luaXQoaWZwLT5pZl9zb2Z0Yyk7DQogCQkJYnJlYWs7DQogCQl9DQogCQli
cmVhazsNCg==


--=-efWsI2BtVBYfcy+E8XlV--

--=-Dpq9o/HbflHL57rEfR8e
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: =?UTF-8?Q?=E8=BF=99=E6=98=AF=E4=BF=A1=E4=BB=B6=E7=9A=84=E6=95=B0?=
	=?UTF-8?Q?=E5=AD=97=E7=AD=BE=E5=90=8D=E9=83=A8=E5=88=86?=

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQBEjie+hcUczkLqiksRAlloAJsFPysHYjKQ6cf4Jh4RLZuZs8JlUQCfetc0
30gvCZreFVQjDAi7CXjR5vM=
=gR+e
-----END PGP SIGNATURE-----

--=-Dpq9o/HbflHL57rEfR8e--




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