Home | History | Annotate | Download | only in ifconfig
History log of /src/sbin/ifconfig/carp.c
RevisionDateAuthorComments
 1.15  26-Mar-2023  mlelstv Fix parser for carp state.
The state values are uppercase words INIT, BACKUP and MASTER.
 1.14  07-Jun-2020  thorpej branches: 1.14.6;
Update for proplib(3) API changes.
 1.13  11-Sep-2009  dyoung This should fix 'carpdev <ifname>' or, at least, not break it more
badly than before.
 1.12  15-Jul-2008  dyoung branches: 1.12.2; 1.12.6; 1.12.10;
Cosmetic: s/xenv/oenv/
 1.11  15-Jul-2008  dyoung Only describe flags -L and -m in the usage if they are available.
That helps me get rid of some conditional compilation (INET6) in
ifconfig.

Let each protocol/feature-module print its own usage, so that the
ifconfig usage reflects the modules that are actually compiled-in.

Write usage information for carp(4) options.
 1.10  02-Jul-2008  dyoung Let us add/remove features from ifconfig, such as support for
various address families (inet, inet6, iso, atalk) and protocols
(802.11, 802.3ad, CARP), simply by trimming the list of sources in
the Makefile. This helps one customize ifconfig for an embedded
device or for install media, and it eliminates a lot of grotty
#ifdef'age. Now, the ifconfig syntax and semantics are finalized
at run-time using the constructor routines in each address-family/protocol
module.

(In principle, ifconfig could load virtually all of its syntax from
shared objects.)

Extract a lot of common code into subroutines, in order to shrink
the ifconfig binary a bit. Make all of the address families share
code for address addition/replacement/removal, and delete "legacy"
code for manipulating addresses. That may have broken atalk and
iso, despite my best efforts.

Extract an include file, Makefile.inc, containing the make-fu that
both ifconfig and x_ifconfig share.

Sprinkle static. Change some int's to bool's. Constify.

Add RCS Ids to carp.c and env.c. Move media code to a new file,
media.c. Delete several unneeded header files.

Set, reset, and display the IEEE 802.11 attribute, 'dot11RTSThreshold'.

Bug fix: do not require both a interface address and a destination
address for point-to-point interfaces, but accept a interface
address by itself.
 1.9  07-May-2008  dyoung Factor out common code, creating direct_ioctl() and indirect_ioctl()
for the two most prevalent styles of ioctl(2) calls in ifconfig(8).
 1.8  07-May-2008  dyoung Move ISO, AppleTalk, carp(4) syntax from ifconfig.c to af_iso.c,
af_atalk.c, carp.c, respectively.
 1.7  06-May-2008  dyoung branches: 1.7.2;
Use prop_dictionary_util(3).
 1.6  06-May-2008  dyoung Use prop_dictionary_util(3) some more.

When we read interface flags and capabilities from the kernel, take
care not to record them in our current environment (env), but record
them in the output environment (oenv), instead. This helps us get
interface capabilities and flags right.
 1.5  06-May-2008  dyoung Overhaul ifconfig. Use fewer global variables. Take a leap toward
improved modularity and extensibility.

In the new architecture, a directed graph of argument-matching
objects (match objects) expresses the set of feasible ifconfig
statements. Match objects are labelled by subroutines that provide
the statement semantics.

Many IPv4, IPv6, 802.11, tunnel, and media configurations have been
tested.

AppleTalk, ISO, carp(4), agr(4), and vlan(4) configuration need
testing.
 1.4  22-Apr-2008  dyoung Delete some gratuitous casts, s/(char *)//.
 1.3  21-Apr-2008  dyoung s/(caddr_t)//
 1.2  21-Apr-2008  dyoung Change bzero calls to memset calls.
 1.1  18-May-2006  liamjfoy branches: 1.1.20; 1.1.22;
Integrate Common Address Redundancy Procotol (CARP) from OpenBSD

'pseudo-device carp'

Thanks to: joerg@ christos@ riz@ and others who tested
Ok: core@
 1.1.22.1  18-May-2008  yamt sync with head.
 1.1.20.2  28-Sep-2008  mjf Sync with HEAD.
 1.1.20.1  02-Jun-2008  mjf Sync with HEAD.
 1.7.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.7.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.12.10.1  16-Oct-2011  riz Pull up following revision(s) (requested by bouyer in ticket #1670):
sbin/ifconfig/carp.c: revision 1.13
This should fix 'carpdev &lt;ifname&gt;' or, at least, not break it more
badly than before.
 1.12.6.1  16-Oct-2011  riz Pull up following revision(s) (requested by bouyer in ticket #1670):
sbin/ifconfig/carp.c: revision 1.13
This should fix 'carpdev &lt;ifname&gt;' or, at least, not break it more
badly than before.
 1.12.2.1  16-Oct-2011  riz Pull up following revision(s) (requested by bouyer in ticket #1670):
sbin/ifconfig/carp.c: revision 1.13
This should fix 'carpdev &lt;ifname&gt;' or, at least, not break it more
badly than before.
 1.14.6.1  21-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #902):

sbin/ifconfig/carp.c: revision 1.15
sbin/ifconfig/ifconfig.8: revision 1.125
tests/net/carp/t_basic.sh: revision 1.9
sys/netinet/ip_carp.c: revision 1.118
sys/netinet/ip_carp.c: revision 1.119

Fix parser for carp state.

The state values are uppercase words INIT, BACKUP and MASTER.

Use backing device to send advertisements. Otherwise the packets originate
from the virtual MAC address, which confuses switches.

Select virtual address as sender if backing interface is anonymous.

Use correct scope for IPv6.

Don't expect the net/carp/t_basic/carp_handover_ipv6_halt_nocarpdevip
and carp_handover_ipv6_ifdown_nocarpdevip test cases to fail. At
least on the TNF i386 and amd64 testbeds, they pass more often than
not since the commit of src/sys/netinet/ip_carp.c 1.119 by mlelstv on
2023.04.07.06.44.08.

RSS XML Feed