From owner-freebsd-net@freebsd.org Fri Dec 13 06:26:50 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F05751E4354 for ; Fri, 13 Dec 2019 06:26:50 +0000 (UTC) (envelope-from nikita@druba.su) Received: from forward106o.mail.yandex.net (forward106o.mail.yandex.net [37.140.190.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47Z10S6ptCz4bGK for ; Fri, 13 Dec 2019 06:26:48 +0000 (UTC) (envelope-from nikita@druba.su) Received: from forward102q.mail.yandex.net (forward102q.mail.yandex.net [IPv6:2a02:6b8:c0e:1ba:0:640:516:4e7d]) by forward106o.mail.yandex.net (Yandex) with ESMTP id E75DF5061658 for ; Fri, 13 Dec 2019 09:26:45 +0300 (MSK) Received: from mxback5q.mail.yandex.net (mxback5q.mail.yandex.net [IPv6:2a02:6b8:c0e:1ba:0:640:b716:ad89]) by forward102q.mail.yandex.net (Yandex) with ESMTP id E3BA27F20022 for ; Fri, 13 Dec 2019 09:26:45 +0300 (MSK) Received: from vla4-a16f3368381d.qloud-c.yandex.net (vla4-a16f3368381d.qloud-c.yandex.net [2a02:6b8:c17:d85:0:640:a16f:3368]) by mxback5q.mail.yandex.net (mxback/Yandex) with ESMTP id MvcBC8mxGV-Qj38lGGB; Fri, 13 Dec 2019 09:26:45 +0300 Received: by vla4-a16f3368381d.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id mHGVREAde5-Qj2Wqjed; Fri, 13 Dec 2019 09:26:45 +0300 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client certificate not present) To: freebsd-net@freebsd.org From: =?UTF-8?B?0J3QuNC60LjRgtCwINCU0YDRg9Cx0LA=?= Subject: carp synchronous switching Message-ID: <999d10e8-f294-4540-237a-8a4406c594ab@druba.su> Date: Fri, 13 Dec 2019 09:26:44 +0300 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 47Z10S6ptCz4bGK X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of nikita@druba.su designates 37.140.190.187 as permitted sender) smtp.mailfrom=nikita@druba.su X-Spamd-Result: default: False [-4.11 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:37.140.128.0/18]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[druba.su]; IP_SCORE(-1.71)[ipnet: 37.140.128.0/18(-4.81), asn: 13238(-3.78), country: RU(0.01)]; RCVD_IN_DNSWL_LOW(-0.10)[187.190.140.37.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13238, ipnet:37.140.128.0/18, country:RU]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[187.190.140.37.rep.mailspike.net : 127.0.0.17] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Dec 2019 06:26:51 -0000 Hi to all! I have a trouble with simultaneity of switching between carp interfaces. FreeBSD 12.0 My config for host A: ifconfig_vlan2_alias0="inet vhid 1 advskew 100 pass password alias 192.168.2.10/32" ifconfig_vlan3_alias0="inet vhid 2 advskew 100 pass password alias 192.168.3.10/32" ifconfig_vlan4_alias0="inet vhid 3 advskew 100 pass password alias 192.168.4.10/32" ifconfig_vlan5_alias0="inet vhid 4 advskew 100 pass password alias 192.168.5.10/32" ifconfig_vlan6_alias0="inet vhid 5 advskew 100 pass password alias 192.168.6.10/32" ifconfig_vlan7_alias0="inet vhid 6 advskew 100 pass password alias 192.168.7.10/24" ifconfig_vlan8_alias0="inet vhid 7 advskew 100 pass password alias 192.168.8.10/30" ifconfig_vlan9_alias0="inet vhid 8 advskew 100 pass password alias 192.168.9.10/30" For host B the same, but advskew = 1. Hosts are routers and work correctly, when all carp interface have master status at the same host. But if I try to get this state only by carp tools, this work good, when one of my hosts have net.inet.carp.demotion = 0 But this not always like this. For example, after turning on host A have demotion = 1920 and host B = 1440. And in this situation I usually have something like this: # ifconfig | grep carp carp: MASTER vhid 1 advbase 1 advskew 100 carp: BACKUP vhid 2 advbase 1 advskew 100 carp: BACKUP vhid 3 advbase 1 advskew 100 carp: BACKUP vhid 4 advbase 1 advskew 100 carp: BACKUP vhid 5 advbase 1 advskew 100 carp: BACKUP vhid 6 advbase 1 advskew 100 carp: BACKUP vhid 7 advbase 1 advskew 100 carp: BACKUP vhid 8 advbase 1 advskew 100 I tried to set vhid = 1 for all carp interfaces, but with the same result. Of cource, net.inet.carp.preempt = 1 for both hosts. Started from FreeBSD 10, I used script to set the carp value based on the value of one of the interfaces, but not sure, that it is right decision. May be someone can suggest me what's wrong?