From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 26 Nov 2006 16:51:54 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20061126135154.GA14873@nomad.office.altlinux.org> Mail-Followup-To: ALT Devel discussion list References: <20060919104535.GL18615@immo.ru> <20060919162320.GH10353@basalt.office.altlinux.org> <20060920130850.GG18615@immo.ru> <20060920163645.GB12624@basalt.office.altlinux.org> <20060921060737.GJ18615@immo.ru> <20060921103334.GA6823@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="45Z9DzgjV8m4Oswq" Content-Disposition: inline In-Reply-To: <20060921103334.GA6823@basalt.office.altlinux.org> X-fingerprint: FE4C 93AB E19A 2E4C CB5D 3E4E 7CAB E6AC 9E35 361E Subject: Re: [devel] openvz arp X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Nov 2006 13:52:10 -0000 Archived-At: List-Archive: List-Post: --45Z9DzgjV8m4Oswq Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 21, 2006 at 02:33:34PM +0400, Dmitry V. Levin wrote: > On Thu, Sep 21, 2006 at 10:07:37AM +0400, Alexey I. Froloff wrote: > > * Dmitry V. Levin [060920 20:37]: > > > =ED=CF=D6=CE=CF, =CB=CF=CE=C5=DE=CE=CF, =CE=CF =CE=C1 =CD=C5=D3=D4=C5= upstream'=C1 =D1 =C2=D9 =DA=C1=D7=A3=CC =D3=D0=C9=D3=CF=CB ip-=C1=C4=D2=C5= =D3=CF=D7, > > > =CB=CF=D4=CF=D2=D9=C5 =CE=C5 =CE=D5=D6=CE=CF =D0=D2=CF=D7=C5=D2=D1=D4= =D8 vzarpipdetect'=CF=CD, =C9 =D3=D0=C9=D3=CF=CB ip-=C1=C4=D2=C5=D3=CF=D7, = =CB=CF=D4=CF=D2=D9=C5 > > > =CE=C5 =CE=D5=D6=CE=CF =C1=CE=CF=CE=D3=C9=D2=CF=D7=C1=D4=D8 vzarpipse= t'=CF=CD =C9 vzarp'=CF=CD. > > =E1 =C7=C4=C5 =C4=C5=D2=D6=C1=D4=D8 =DC=D4=CF=D4 =D3=D0=C9=D3=CF=CB =C9= =D7 =CB=C1=CB=CF=CD =D7=C9=C4=C5? =FE=D4=CF-=D4=CF =D4=C9=D0=C1 > > ARP_SKIP_DETECT/ARP_SKIP_ANNOUNCE =D3=CF =D3=D0=C9=D3=CB=CF=CD =D0=CF= =C4=D3=C5=D4=C5=CA =D7 > > /etc/sysconfig/vz ? >=20 > =E4=C1, =D1 =C4=D5=CD=C1=C0 =D0=D2=C5=C4=CC=CF=D6=C9=D4=D8 =C9=CD =D4=C1= =CB=CF=C5. =F1 =D0=C5=D2=C5=C4=D5=CD=C1=CC =C9 =D4=C5=D0=C5=D2=D8 =D0=D2=C5=C4=D0=CF= =CC=C1=C7=C1=C0 =D3=C4=C5=CC=C1=D4=D8 =D4=C1=CB: vzarp: When adding ip, do not announce it on those ifaces where it is not l= ocal. vzarpipdetect: Do not request arp on those ifaces where given ip is not loc= al. vzarpipset: Do not send arp on those ifaces where given ip is not local. --- a/etc/vps-functions +++ b/etc/vps-functions @@ -119,6 +119,9 @@ vzarp() =20 [ -n "${NETDEVICES}" ] || vzwarning "Device list is empty" for DEV in ${NETDEVICES}; do + [ "$1" =3D del ] || + ! ${IP_CMD} route get ${2} oif ${DEV} |grep -qs ' via .* src ' || + continue ${IP_CMD} neigh ${1} proxy ${2} dev ${DEV} > /dev/null 2>&1 done } @@ -130,14 +133,16 @@ vzarpipdetect() local ip local cmd =20 - [ -z "${1}" ] && return + [ -n "$1" ] || return [ "${SKIP_ARPDETECT}" =3D "yes" ] && return =20 - for ip in ${1}; do - cmd=3D"$cmd -e $ip" - done - for DEV in ${NETDEVICES}; do + for ip in ${1}; do + ! ${IP_CMD} route get ${ip} oif ${DEV} |grep -qs ' via .* src ' || + continue + cmd=3D"$cmd -e $ip" + done + [ -n "$cmd" ] || continue ${ARPSEND_CMD} -D ${cmd} ${DEV} || vzwarning "${ARPSEND_CMD} -D ${cmd} ${DEV} FAILED" done @@ -148,15 +153,17 @@ vzarpipset() { local DEV local ip - local dev + local cmd =20 - [ -z "$1" ] && return + [ -n "$1" ] || return =20 - for dev in ${NETDEVICES}; do + for DEV in ${NETDEVICES}; do for ip in ${1}; do - opt=3D"-i ${ip} -e ${ip}" - ${ARPSEND_CMD} -U ${opt} ${dev} || - vzwarning "${ARPSEND_CMD} -U ${opt} ${dev} FAILED" + ! ${IP_CMD} route get ${ip} oif ${DEV} |grep -qs ' via .* src ' || + continue + cmd=3D"-i ${ip} -e ${ip}" + ${ARPSEND_CMD} -U ${cmd} ${DEV} || + vzwarning "${ARPSEND_CMD} -U ${cmd} ${DEV} FAILED" done done } =E9=C4=C5=D1 =D7=CF=DA=CE=C9=CB=CC=C1 =D7 =D2=C5=DA=D5=CC=D8=D4=C1=D4=C5 = =D0=D2=CF=DE=D4=C5=CE=C9=D1 https://bugzilla.altlinux.org/show_bug.cgi?id=3D10324 --=20 ldv --45Z9DzgjV8m4Oswq Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFFaZv6fKvmrJ41Nh4RAhsbAKCTptweDwCv/csaeOhgM/2uor+CugCfRMNS RqkoG6yowFsE6rjO401DK7I= =HhiZ -----END PGP SIGNATURE----- --45Z9DzgjV8m4Oswq--