Age | Commit message (Collapse) | Author | |
---|---|---|---|
2005-04-20 | Introduce if_linkstatehooks. | Marco Pfatschbacher | |
This converts if_link_state_change() to a generic usable callback with dohooks(). OK henning@, camield@ Tested by camield@ and Alexey E. Suslikov | |||
2005-03-15 | - stop tearing down routes when the carp interface goes to backup in the | Ryan Thomas McBride | |
carpdev case; block outgoing packets in carp_output() instead. - unbreak the "bow out on 'ifconfig down'" behaviour, allows instant failover on graceful halt/reboot to work again. ok mpf@ henning@ | |||
2005-03-13 | fix a potential crash that could occur when CARP_LOG is being used. | Patrick Latifi | |
ok mcbride | |||
2005-03-05 | Remove code which enforces a advskew=0 for the case | Marco Pfatschbacher | |
that carp shares the IP addresse with its physical interface. It's neither supported nor needed, since we have carpdev now. ok mcbride@ | |||
2005-03-01 | Unbreak arp_input with carp; add back the call to carp_iamatch() | Ryan Thomas McBride | |
which was removed in rev 1.57. This makes arpbalance work again, and ensures that only one carp host will reply to a given arp request. ok mpf@ pascoe@ dhartmei@ deraadt@ | |||
2005-02-28 | Remove unused variable if_flags in struct carp_softc, ok mickey@ | Ryan Thomas McBride | |
2005-02-08 | build w/o INET6; ok mpf@, mcbride@ | Markus Friedl | |
2005-02-07 | Unrevert the changes introduced in 1.96 and accidentally removed in 1.97 | Ryan Thomas McBride | |
with an id10t error by yours truly. | |||
2005-02-07 | Prevent carp from attaching to other carp interfaces, which the | Ryan Thomas McBride | |
ifp->if_flags & IFF_MULTICAST checks no longer protect against. ok pascoe@ mpf@ | |||
2005-02-07 | There is no SIOCDIFADDR call into interfaces on address deletion, so | Christopher Pascoe | |
use our carp_addr_updated callback to detect deletion and reconfigure appropriately. ok mcbride@ | |||
2005-01-29 | Check the carpdev link state when we attach to it, makes a firewall | Ryan Thomas McBride | |
with an interface down avoid preempting after a reboot. Pointed out by Stephen Marley <stephen.marley@catwoman.cl-is.com> ok pascoe@ mpf@ | |||
2005-01-18 | Rewriting the lladdr can now be done without using mbuf tags. | Marco Pfatschbacher | |
Advertisements run through the carp interface first. So we just take the address from ifp0. While we're there, also remove carp_macmatch6, which isn't used anymore. Proposed by mcbride@ ok mcbride@, pascoe@ | |||
2005-01-06 | spacing | Theo de Raadt | |
2005-01-06 | Attach multicast to the carp interface for IPv6 (makes it consistent with | Ryan Thomas McBride | |
IPv4, and will allow us to get rid of carp_fix_lladdr() and the carp mbuf tag later). ok pascoe@ mpf@ | |||
2005-01-06 | Error path cleanups for carp_output. Use ENOBUFS instead of ENOMEM when | Christopher Pascoe | |
unable to tag a packet, and free mbuf chain on all failures. ok mcbride@ | |||
2005-01-06 | Tag all packets sent via a CARP interface for link local address | Christopher Pascoe | |
substitution. With this change and the previous ARP changes, all Ethernet packets sent via a CARP interface should now have the virtual MAC address as the source. ok mcbride@ niklas@ | |||
2005-01-04 | Move processing of ARP packets for CARP addresses to the carp interface | Christopher Pascoe | |
instead of processing them in the parent interface. This causes us to send ARP packets on a carpdev with its virtual MAC address as the source, rather than the parent's physical address. Permits us to fail over cleanly when connected to devices that use the source MAC address on a received ARP request to generate an ARP entry for the requesting host, rather than going through the who-has/is-at procedure. ok niklas@ mcbride@ | |||
2004-12-22 | Instead of running carp_setroute synchronously, use if_addrhooks to get a | Christopher Pascoe | |
callback after in_ifinit has run. This lets us correct any routes that in_ifinit has incorrectly added for our interface. Also be more explicit with the routing checks/changes that we make. This makes it possible to have different prefix lengths on a CARP interface and the physical interface it is bound to. ok mcbride@ | |||
2004-12-19 | #define sc_if sc_ac.ac_if, makes things a little more readable, and | Ryan Thomas McBride | |
kills a couple of ugly line wraps. From Max Laier. ok pascoe@ | |||
2004-12-19 | Make it possible for carp to work on fddi and token ring again. | Ryan Thomas McBride | |
ok pascoe@ mpf@ | |||
2004-12-18 | Decrement carp_suppress_preempt when detaching an interface that has | Christopher Pascoe | |
been experiencing output errors. ok mcbride@ | |||
2004-12-17 | Temporary fix to get IPv6 working again. | Marco Pfatschbacher | |
v6 advertisements are still received the old-fashioned way. ok mcbride@ | |||
2004-12-17 | Reorder code in the ethernet output path, and enhance unicast address | Christopher Pascoe | |
matching in the bridge receive path to make CARP operate correctly on physical interfaces that are participating in a bridge. ok mcbride@ henning@ dlg@ | |||
2004-12-17 | Remember to decrement carp_suppress_preempt when detaching. | Ryan Thomas McBride | |
ok pascoe@ | |||
2004-12-15 | Add IFF_NOARP to carp interface, we want arp requests to be handled via | Ryan Thomas McBride | |
carp_iamatch() on the physical interface. ok pascoe@ mpf@ | |||
2004-12-15 | * fix the multicast memberships removal | Patrick Latifi | |
* less hardcoding in format strings for easier maintenance mcbride ok | |||
2004-12-10 | Add carp_set_enaddr(), call carp_set_state() after changing the vhid | Ryan Thomas McBride | |
to trigger a gratuitous arp and update arp tables on other hosts. | |||
2004-12-10 | Rename carp_output() to carp_fix_lladdr(). | Ryan Thomas McBride | |
2004-12-08 | * knf | Patrick Latifi | |
* M_WAITOK -> M_NOWAIT * FREE() only when necessary * join_multicast6 for ip6 addresses mcbride ok | |||
2004-12-08 | Remove code duplication duplication. Use carpdetach() in carp_clone_destroy(). | Ryan Thomas McBride | |
2004-12-08 | Merge in more fixes from a pre-carpdev diff from Chris Pascoe. | Ryan Thomas McBride | |
2004-12-08 | Check if_type in carp_carpdev_state() to make sure we're not | Ryan Thomas McBride | |
dealing with a carp interface. | |||
2004-12-07 | Convert carp(4) to behave more like a regular interface, much in the same | Ryan Thomas McBride | |
style as vlan(4). carp interfaces no longer require the physical interface to be on the same subnet as the carp interface, or even that the physical interface has an adress at all, so CARP can now be used on /30 networks. ok deraadt@ henning@ | |||
2004-11-30 | Use %s, not %d to print the interface name. From Max Laier. | Ryan Thomas McBride | |
2004-11-28 | Reverse bogus sc == NULL check in CARP_LOG(), from Max Laier. | Ryan Thomas McBride | |
2004-11-17 | Improved logging for advertisement failures: Add some carpstats.carps_onomem++ | Ryan Thomas McBride | |
when sending advertisements fail due to ENOBUGS, and some CARP_LOG for other failures. From camield@ | |||
2004-11-16 | Call arprequest/ether_output at splsoftnet(). From Chris Pascoe. | Ryan Thomas McBride | |
ok henning@ | |||
2004-10-28 | define IFT_CARP, and set if_type to that on carp interfaces instead | Henning Brauer | |
of hiding under IFT_PROPVIRTUAL, ryan daniel ok | |||
2004-10-06 | Unbreak tcpdump on the carp interface; variable shadowing pointed out by | Ryan Thomas McBride | |
Patrick Latifi (diff based on his). | |||
2004-10-05 | Call ip_output at splsoftnet() when sending advertisements; also don't stop | Ryan Thomas McBride | |
sending advertisements if we can't tag the mbuf. Problem report and fix from Chris Pascoe, thanks. ok henning@ | |||
2004-09-18 | Oops, copy a pointer to ac_if, not the first bytes of the struct itself. | Ryan Thomas McBride | |
Actually this doesn't matter right now, as the first bytes of struct ifnet are a pointer to the softc, which has ac_if at the beginning and thus by fluke the pointer is correct. This also makes the sc to ifp conversion for carp_macmatch6(). | |||
2004-09-18 | Store the carp interface ifp in PACKET_TAG_CARP instead of a pointer to | Ryan Thomas McBride | |
carp_softc. | |||
2004-09-16 | Clean up CARP_LOG macro and include the physical interface | Ryan Thomas McBride | |
that bogus packets arrive on. | |||
2004-08-31 | Prevent backup CARP hosts from replying to arp requests, fixes strangeness | Ryan Thomas McBride | |
with some layer-3 switches. From Bill Marquette. ok henning@ mickey@ dhartmei@ and deraadt@ | |||
2004-06-24 | This moves access to wall and uptime variables in MI code, | Thorsten Lockert | |
encapsulating all such access into wall-defined functions that makes sure locking is done as needed. It also cleans up some uses of wall time vs. uptime some places, but there is sure to be more of these needed as well, particularily in MD code. Also, many current calls to microtime() should probably be changed to getmicrotime(), or to the {,get}microuptime() versions. ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others "Oh, that is not your problem!" from miod@ | |||
2004-06-10 | zero the cif struct correctly. | Ryan Thomas McBride | |
2004-06-10 | Plug a memory leak in carp_clone_destroy() | Ryan Thomas McBride | |
From Patrick Latifi | |||
2004-05-31 | initialize struct carp_if and let vhif_nvrs counter work. ok mcbride@ | Marco Pfatschbacher | |
2004-05-30 | compile without INET6; ok mcbride | Peter Valchev | |
2004-05-29 | Remove multicast addresses and promiscuous mode when destroying the | Ryan Thomas McBride | |
carp interface. |