| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
added in 1.40). This fixes a pathological case where in_scrubprefix would
do the wrong thing. Found and reported by glebius@FreeBSD
OK bluhm@
|
| |
|
|
|
| |
and ifatoia(). No binary diff.
OK blambert@ henning@ claudio@
|
| |
|
|
|
|
| |
cleaner to access the first member via ia_ifa instead of casting.
No binary change.
ok henning@ krw@
|
| |
|
|
|
|
|
|
| |
"af-to" a generic IP version translator for pf(4).
Not everything perfect yet but lets fix these things in the tree.
Insane amount of work done by sperreault@, mikeb@ and reyk@.
Looked over by mcbride@ henning@ and myself at eurobsdcon.
OK mcbride@ and general put it in from deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the issue in our kernel was the broadcast address calculated on the /31
caused a ton of checks for use of broadcast addresses to kick in and
prevent one of the two addresses on the /31 from being used.
this diff basically detects if a /31 has been configured and doesnt
configure a broadcast address for it, which makes the ips usable
for normal traffic.
i wrote this so i could interoperate with "carrier" network gear
better, and sthen wants it so he can conserve address space use.
the further special casing of broadcast address handling was from claudio@
ok claudio@ markus@ sthen@ henning@
|
| |
|
|
|
|
| |
while reading.
ok henning@ jsing@ tedu@ marco@ bluhm@ krw@
|
| |
|
|
| |
ok henning@ deraadt@
|
| |
|
|
|
|
| |
This fixes the problem of binding sockets to broadcast IPs in other
rdomains.
OK henning@
|
| |
|
|
|
|
|
| |
for dohooks() since it makes no sense to call the if_addrhooks when the
address assignment failed. Additionally only call ifa_add() in
in_ifinit() when no error happend. Fixes a carp(4) panic seen by dhill
and dlg. OK henning@, dlg@
|
| |
|
|
|
| |
is new or an already existing one. for existing ones, call ifa_del first
tested by many as part of a larger diff, ok claudio dlg krw sthen
|
| |
|
|
|
| |
in_ifinit
tested by many as part of a larger diff, ok claudio dlg krw sthen
|
| |
|
|
|
| |
structure is fully set up
tested by many as part of a larger diff, ok claudio dlg sthen krw
|
| |
|
|
|
| |
1996 with no way to enable but kernel config or code mods and is bound to
classful adressing anyway.
|
| |
|
|
|
|
|
| |
4.3BSD (anno 1986) supported the host part bits all one for broadcast as
well, since that's what everybody agreed on and RFC919 (anno 1984) proposed.
now, roughly a quarter decade later, we can really stop supporting the all
zero variant. sorry to you guys still running 4.2BSD. ok theo ryan
|
| |
|
|
|
| |
subnet of the classful network. at least, not since 1992.
ok mpf dlg bob
|
| |
|
|
|
| |
many places create a proper API (ifa_add / ifa_del) and use it.
ok theo ryan dlg
|
| |
|
|
|
|
|
|
|
|
|
| |
that router vendor doesn't default to classful routing any more, and there
really is no point in having a classful netmask and a subnetmask to split
it. we still do classful guesses on the netmask if it isn't supplied by
userland, but that's about it.
i decided to keep ia_netmask and kill ia_subnetmask which makes this diff
bigish, the classful ia_netmask wasn't really used all that much. the real
changes are in in.c, the rest is mostly s/ia_subnetmask/ia_netmask.
ok claudio dlg ryan
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
tables on top of a rdomain) but until now our code was a crazy mix so that
it was impossible to correctly use rtables in that case. Additionally pf(4)
only knows about rtables and not about rdomains. This is especially bad when
tracking (possibly conflicting) states in various domains.
This diff fixes all or most of these issues. It adds a lookup function to
get the rdomain id based on a rtable id. Makes pf understand rdomains and
allows pf to move packets between rdomains (it is similar to NAT).
Because pf states now track the rdomain id as well it is necessary to modify
the pfsync wire format. So old and new systems will not sync up.
A lot of help by dlg@, tested by sthen@, jsg@ and probably more
OK dlg@, mpf@, deraadt@
|
| |
|
|
|
|
|
|
|
| |
alternate routing table and separate them from other interfaces in distinct
routing tables. The same network can now be used in any doamin at the same
time without causing conflicts.
This diff is mostly mechanical and adds the necessary rdomain checks accross
net and netinet. L2 and IPv4 are mostly covered still missing pf and IPv6.
input and tested by jsg@, phessler@ and reyk@. "put it in" deraadt@
|
| |
|
|
|
|
| |
levels. This will allow for platforms where soft interrupt levels do not
map to real hardware interrupt levels to have soft ipl values overlapping
hard ipl values without breaking spl asserts.
|
| | |
|
| |
|
|
| |
where obvious.
|
| |
|
|
| |
panics in ip_freemoptions(); ok claudio, henning, mpf
|
| |
|
|
|
|
|
| |
because interfaces may disappear without notice causing use after free bugs.
Instead use the inm_ia->ia_ifp as a hint, struct in_ifaddr correctly tracks
removals of interfaces and invalidates ia_ifp in such cases.
looks good henning@ markus@
|
| |
|
|
|
|
|
|
|
|
| |
before it is removed from the multicast group in_delmulti() will try to
access the no longer available ifp.
We invalidate the ifa_ifp back pointer in the ifa in if_detach() now and use
the ifa_ifp in in_delmulti() instead of the internal inm_ifp. By doing it
this way we know if the interface was removed.
This fixes a kernel panic triggered by ospfd and gif(4) tunnels.
looks good henning@ reyk@
|
| | |
|
| |
|
|
| |
ok kettenis@ cloder@ tom@ henning@
|
| | |
|
| | |
|
| |
|
|
|
|
| |
the remainder of the network stack from splimp to splnet.
ok miod@
|
| |
|
|
|
|
| |
-alias and netmask used at the same time. This resulted in a corrupted
routing table and a panic in rn_walktree after the interface was destroyed.
OK krw@ henning@
|
| |
|
|
|
|
| |
is bound on the interface.
ok mcbride@ henning@
|
| |
|
|
|
|
| |
to be compared too -- 10/8 and 10/24 are not equal. This fixes a problem
with overlapping networks reported by Simon Slaytor.
OK henning@
|
| |
|
|
|
|
|
|
|
|
| |
- Keep track of allhost multicast address record we joined into
each in_ifaddr and delete it when an address is purged.
- Don't simply try to delete a multicast address record listed in the
ia_multiaddrs. It results a dangling pointer. Let whoever holds a
reference to it to delete it.
mcbride@ markus@ ok
|
| |
|
|
|
| |
found by Ruslan Ermilov, ok markus@
http://marc.theaimsgroup.com/?l=freebsd-net&m=110072900204253
|
| |
|
|
|
|
|
| |
From NetBSD
Fixes PR 3825
ok mcbride@ canacar@ claudio@
|
| |
|
|
|
|
| |
returning.
ok markus@
|
| |
|
|
| |
ok markus, itojun.
|
| | |
|
| | |
|
| |
|
|
| |
by broadcast interface. NetBSD PR 21903. markus ok
|
| |
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
| |
|
|
| |
ok art@
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The flag can be either HOOK_REMOVE or HOOK_REMOVE|HOOK_FREE.
o HOOK_REMOVE removes the hook from the list before executing it.
o HOOK_FREE frees the hook after that.
- Let dostartuphooks use HOOK_REMOVE|HOOK_FREE so we can reclaim the memory.
- Let doshutdownhooks use HOOK_REMOVE so that when some shutdown hook
panics (they do that all the #@$%! time these days) we don't loop
for ever. Don't HOOK_FREE, it doesn't matter and I don't want to add
another possible panic condition for shutdown hooks.
- Actually free the pointer we're throwing away in hook_disestablish (I wonder
how much memory this has leaked over the years).
|
| | |
|
| |
|
|
| |
notified of interface address changes. ok provos@, angelos@
|
| | |
|
| | |
|
| | |
|