Age | Commit message (Collapse) | Author |
|
ok deraadt@ dlg@ henric@ mcbride@
|
|
ok krw@
|
|
It is unlikely we will ever get a working replay protection,
so better keep it simple and robust.
The cookie allows us to detect our own advertisements,
thus it is now easy to deal with network loops and
non-simplex interfaces.
Zero feedback by the people who wanted this fixed.
OK henning@, markus@
|
|
The multicast code is still a mess but will no longer crash the box.
With input from pascoe@ who hit the same bug.
OK markus@, henning@, mpf@ (on a previous version)
|
|
one entry for each multicast group and interface combination). this allows
you to run OSPF with more than 10 interfaces.
adapted from freebsd; ok claudio, henning, mpf
|
|
quite a while ago. Manpage and comment update by Matthew Dempsky.
OK jmc@
|
|
any carp group to master status.
ok dhartmei@
|
|
destination of the route belonging to the carp interface.
ok mpf@ claudio@
|
|
interface (ip-less parent).
tested by claudio and me
ok claudio@
|
|
be set to NULL as first in rtrequest1() for all host routes.
With and OK reyk@
|
|
OK mcbride@
|
|
we need a pointer to the inpcb to decide, which was not previously
passed to ip6_output, so this diff is a little bigger.
from itojun, ok ryan
|
|
OK mcbride@
|
|
decomissioned aeon ago. We will not miss it at all.
OK dlg@ henning@ and a lot of cheers by other in the room
|
|
ok dlg claudio
|
|
function as a macro.
ok reyk@ ja ja claudio@
|
|
|
|
|
|
at least exhibit routing messages so it does not confuse the userland
routing daemons by routing table changes not reflected by messages on the
routing socket. effect would be bgpd using wrong nexthops for example, in
the worst case (that i actually ran into) blackholing traffic.
ok reyk claudio "looks correct" miod
|
|
This unbreaks carp reconfiguration.
OK henning@, mcbride@
|
|
This reduces group failover time to a few milliseconds.
Diff from Nathanael.
OK henning@
|
|
This provides a similar functionality as ARP balancing,
but also works for traffic that comes across routers.
IPv6 is supported as well.
The configuration scheme will change as soon we have sth better.
Also add support for changing the MAC address on carp(4)
interfaces. (code from mcbride)
Tested by pyr@ and reyk@
OK mcbride@
|
|
(s6_addr16[1] filled)
ok dhartmei
|
|
and early in the boot process existant. needed by the rc scripts for
carp demotion on the "carp" group. this used to work because pfsync0
was always there and member of said group; it has been broken on pfsync-less
kernels for quite some time. ok mpf mcbride
|
|
virtual MAC address is set. Among other things, this makes route6d work
correctly on systems with carp interfaces.
In order to ensure backwards compatibility, we do not include IPv6
link-local addresses in generating the HMAC, but we accept HMACs with AND
without the link-local addresses. They will be added to the HMAC in a future
release.
In short: this change should only affect backwards compatibility for
IPv6 users who are manually adding link-local addresses on carp interfaces.
testing mtu@ todd@
ok mpf@ henning@ deraadt@
|
|
ok mpf@ henning@
|
|
we've won the MASTER election.
This seems to be necessary w/ some wacky L3 switches,
that only learn by looking at ARP packets.
Fixes PR 5148.
OK mcbride@
|
|
parameter so they can work on alternate tables. table 0 hardcoded for
many callers yet, that will be adapted step by step.
input + ok claudio norby hshoexer
|
|
As a first user, move the global carp(4) demotion counter
into the interface group. Thus we have the possibility
to define which carp interfaces are demoted together.
Put the demotion counter into the reserved field of the carp header.
With this, we can have carp act smarter if multiple errors occur.
It now always takes over other carp peers, that are advertising
with a higher demote count. As a side effect, we can also have
group failovers without the need of running in preempt mode.
The protocol change does not break compability with older
implementations.
Collaborative work with mcbride@
OK mcbride@, henning@
|
|
the establish calls were bypassed or failed.
ok mpf@
|
|
for dumb non simplex interfaces, that receive packets they've just
sent. Fixes bug 5121.
OK deraadt@, mcbride@
|
|
ok henning mcbride
|
|
outbound), using a new BIOCSDIRFILT ioctl;
guidance, feedback and ok canacar@
|
|
ok henning@
|
|
directly. rather provide a rt_lookup function for regular lookups,
and a rt_gettable for those that need access to the head for some reason.
the latter cases should be revisted later probably so that nothing outside
the routing core code accesses the heads at all...
tested claudio jolan me, ok claudio markus
|
|
Add some f's; do comparison in host byte order.
OK mcbride@
|
|
OK mcbride@
|
|
router so back out the routing stuff to pre-eurobsdcon where my machine
doesn't crash immediately.
i am happy to test diffs and report success/failures but i am not happy
to have instantaneous crashes when i reboot with a new kernel that was
compiled from pristine sources.
if you are going to be an elitist asshole then you could at least make
sure your code works.
ok and "be crass towards them" deraadt@
|
|
but go through a provided wrapper.
also provide rt_lookup() instead of doing the lookup manually in many places.
ryan ok
|
|
A bug introduced in -r 1.4 led lower priotorized hosts
switching to MASTER state for a short time at bootup,
if preemption was enabled.
OK mcbride@
|
|
alias address order on the interface irrelevant.
prodding by henning@, ok mpf@
|
|
the result to determine which carp interface should answer rather than
simply using the ip address.
Fixes breakage debugged by Matt Bradford <m.bradford@isrc.qut.edu.au>
'just commit' deraadt@
|
|
freed.
ok canacar deraadt
|
|
ok mpf@
|
|
The previous code could wrongly delete multicast groups
on the parent interface. Now we forward only remembered
delete requests to the carpdev.
OK mcbride, mickey. "Get it in" deraadt.
|
|
the multicast list elsewhere, it can occur under certain conditions (PR4475).
ok deraadt@ mpf@
|
|
to bpf with either an address family or other header added.
These helpers only allocate a much smaller struct m_hdr on the stack when
needed, rather than leaving 256 byte struct mbufs on the stack in deep
call paths. Also removes a fair bit of duplicated code.
commit now, tune after deraadt@
|
|
IFF_RUNNING instead. Also, do not blindly restore flags onto an interface when
returning to the running state.
This eliminates the possibility that the kernel will bring the interface back
up after a link state change on the physical interface, even though the user
may have done an "ifconfig carpN down" in the meantime. Similarly two link
state down events on the physical interface in succession could result in us
never coming out of the INIT state.
The master/backup state is still reported via link state information, so
bgpd/ospfd, etc, should function as before.
This also addresses PR4238.
ok mpf@, ok with the idea etc henning@
|
|
with pascoe@
|
|
This converts if_link_state_change() to a generic usable
callback with dohooks().
OK henning@, camield@
Tested by camield@ and Alexey E. Suslikov
|