Age | Commit message (Collapse) | Author |
|
bpf_program contains a pointer to that same array, but also the
number of elements in it. this allows us to know the size when we
want to free them.
ok deraadt@
|
|
ok mpi
|
|
|
|
for ART.
While here sync the two remaining mix() macros.
ok chris@, dlg@
|
|
Tested by <mxb AT alumni DOT chalmers DOT se>.
ok dlg@
|
|
Instead of violating a layer of abstraction by keeping per pseudo-driver
informations in "struct ifnet", the port trunk is now passed as a cookie
to the interface input handler (ifih).
The time of per pseudo-driver hack in the network stack is over!
ok mikeb@
|
|
Can be used to check if a MAC address is all zeros.
Will be used by iwm(4) soon.
ok kettenis@
|
|
With suggestions from tedu@ and guenther@
ok kettenis@
|
|
the mbuf in both the hfsc and priq error paths.
ok mikeb@ mpi@ claudio@ henning@
|
|
Local route entries, being now attached to their corresponding interface,
are susceptible to be brought DOWN when a link state change occurs. When
this happens locally configured addresses are no longer reachable.
So keep the previous (original) behavior by forcing such route entries to
always be UP.
ok sthen@, claudio@
|
|
requested by mpi@
|
|
reclaiming to the PDU and marker input routines.
m_pullup may return a pointer to the newly allocated mbuf. In this
case m_freem is called by the trunk_input, not by the proto specific
code and pointer to the mbuf is not passed by reference. Therefore
m_freem will either be called on the middle element of the chain
(when the m_pullup call succeeds) or on the stale pointer (when it
frees the chain in the failure case). Fortunately we should never
hit this case as the receive path uniformly uses contiguous chunks
of memory.
Verified with and ok blambert, ok mpi
|
|
This moves around calls to if_ih_insert and if_ih_remove to ensure
that we either have completed port initialization or are going to
tear the port configuration down and don't want any input processes
to get hold of the port.
When trunk_port_destroy is called from the ioctl this would wait for
all input processes to finish and release their references to be able
to disestablish the input handler and ensure full control of the port.
When switching trunkproto it is required for the ioctl context to
be able to touch all trunk ports and the protocol (tr_psc). The
easiest way do this is to disestablish all input handlers (while
making sure they all complete) and then reestablish them after the
trunk reconfiguration is completed.
This avoids getting trunk a separate locking protocol of its own.
ok mpi, suggested by and ok dlg
|
|
ok dlg, mpi
|
|
iterations and additional locking protection in the future.
Suggested by and ok mpi
|
|
and we want to limit the number of different places where we
access trunk port pointers.
trunk_watchdog should be never called as we don't set up it's
if_timer and trunk_port_watchdog just calls the if_watchdog
from the underlying interface.
It's possible that this is no longer needed due to if_slowtimo/
if_watchdog changes done earlier.
ok mpi
|
|
specific places.
ok claudio@, benno@
|
|
ok yasuoka@
|
|
rtrequest1(9) otherwise the route will remain attached to a stale ifa.
Found by matthieu@
|
|
From David Hill, ok sthen@
|
|
Found by benno@.
ok phessler@, claudio@, benno@
|
|
so packets can get enqueued for the arp netisr to process.
fixes jsgs nfs mountroot problem.
|
|
ok mpi@
|
|
With and ok claudio@
|
|
needs to see lo0 in the output path.
ok claudio@
|
|
the kernel lock.
"do it" claudio@ mpi@
|
|
refcnt_finalize.
|
|
|
|
context.
ok mpi@, claudio@
|
|
the last commit was missing SRPL_INITs of the vlan_tagh buckets,
which was in a different tree to the one i committed from.
apologise to naddy@ again
|
|
are done in a certain order.
panic found by naddy@
|
|
Call sobind(9) only when we have a source ip.
With this we can treat sc->so != NULL as a flag if the interface
is in state IFF_RUNNING.
Input & OK bluhm@, OK benno@
|
|
stop passing it in every rt_ifa_add(9) calls.
ok claudio@
|
|
ok mpi@ claudio@
|
|
Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.
With this change rt_ifp is now always the same as rt_ifa->ifa_ifp.
ok claudio@
|
|
each index in the ifidx map is now an SRP that points at each
interfaces struct ifnet.
because the map needs to be grown at run time as interfaces are
added to the system, we now use an SRP to gain access to the map.
if_get enters the idx map and follows it to the ifnet pointer. if
an interface exists at that index it gets adds a refcount before
leaving the ifp SRP.
modifications to the map pointer and the interface pointers are
serialised by the kernel lock.
ok mpi@ claudio@
|
|
must reset pd->m to avoid a use after free.
OK sashan@ mikeb@
|
|
the protocol queues.
It basically does what looutput() was doing but having a generic
function will allow us to get rid of the loopback hack overwwritting
the rt_ifp field of RTF_LOCAL routes.
ok mikeb@, dlg@, claudio@
|
|
ok bluhm@, claudio@
|
|
ok sthen@, claudio@
|
|
days.
ok claudio@
|
|
entry.
ok bluhm@, claudio@
|
|
Checking for rt_ifp is currently not enough because RTF_LOCAL routes
still use a hack introduced in 1991 and have lo0ifp as rt_ifp pointer.
So also check for rt_ifa->ifa_ifp in this case.
ok claudio@
|
|
|
|
their children to make sure they are still alive after rtfree(9)ing
rt->rt_parent.
Fix a use-after-fruit reported by stsp@
ok claudio@
|
|
This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and
grows struct ifmediareq.
Old ifconfig and dhclient binaries can still assign addresses, however
the 'media' subcommand stops working. Recompiling ifconfig and dhclient
with new headers before a reboot should not be necessary unless in very
special circumstances where non-default media settings must be used to
get link and console access is not available.
There may be some MD fallout but that will be cleared up later.
ok deraadt miod
with help and suggestions from several sharks attending l2k15
|
|
|
|
|
|
Should fix a NULL dereference reported by guenther@.
ok dlg@
|
|
entry forever.
this will fix hangs when you have more than 7 interfaces.
ok mpi@
|