svn commit: r276751 - head/sys/netinet

Luiz Otavio O Souza loos.br at gmail.com
Fri Jan 9 13:14:56 UTC 2015


On Wed, Jan 7, 2015 at 6:52 PM, Gleb Smirnoff wrote:
> On Tue, Jan 06, 2015 at 01:07:14PM +0000, Luiz Otavio O Souza wrote:
> L> Author: loos
> L> Date: Tue Jan  6 13:07:13 2015
> L> New Revision: 276751
> L> URL: https://svnweb.freebsd.org/changeset/base/276751
> L>
> L> Log:
> L>   Remove the check that prevent carp(4) advskew to be set to '0'.
> L>
> L>   CARP devices are created with advskew set to '0' and once you set it to
> L>   any other value in the valid range (0..254) you can't set it back to zero.
> L>
> L>   The code in question is also used to prevent that zeroed values overwrite
> L>   the CARP defaults when a new CARP device is created.  Since advskew already
> L>   defaults to '0' for newly created devices and the new value is guaranteed
> L>   to be within the valid range, it is safe to overwrite it here.
> L>
> L>   PR:                194672
> L>   Reported by:       cmb at pfsense.org
> L>   In collaboration with:     garga
> L>   Tested by: garga
> L>   MFC after: 2 weeks
>
> Please correct me if I am wrong, but after this change any SIOCSVH will reset
> the advskew to 0.
>
> For example, please try to:
>
> ifconfig igb0 vhid 1 advskew 100
> ifconfig igb0 vhid 1 pass foobar
>
> Now let's check the advskew:
>
> ifconfig igb0

Only if the SIOCSVH request is not initialized with data from SIOCGVH.

ifconfig (at setcarp_callback()) will always read the existing values
before issuing the SIOCSVH with the new values and this is what makes
my change safe:

# ifconfig em0 vhid 1 advskew 100 192.168.100.1/24 alias
# ifconfig em0 | grep carp
        carp: MASTER vhid 1 advbase 1 advskew 100
# ifconfig em0 vhid 1 pass foobar
# ifconfig em0 | grep carp
        carp: MASTER vhid 1 advbase 1 advskew 100
# ifconfig em0 vhid 1 advbase 5
# ifconfig em0 | grep carp
        carp: MASTER vhid 1 advbase 5 advskew 100
# ifconfig em0 vhid 1 advskew 0
# ifconfig em0 | grep carp
        carp: MASTER vhid 1 advbase 5 advskew 0

Luiz


More information about the svn-src-head mailing list