| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
we intend for the user to be able to unload them later via kldunload(2)
instead of calling linker_load_module() and then directly adjusting the
ref count on the linker file structure. This makes the resulting
consumer code simpler and cleaner and better hides the linker internals
making it possible to sanely lock the linker.
|
|
|
|
|
|
|
| |
the first time.
PR: kern/98529
Submitted by: Michael Heyman
|
| |
|
| |
|
|
|
|
|
| |
Reported by: sekes <gexlie at gmail dot com>
MFC after: 1 week
|
|
|
|
|
|
| |
[constant] value
with the C99 format
[constant] = value
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use this ioctl to obtain the list of HCI nodes. User-space application
is expected to preallocate 'ng_btsocket_hci_raw_node_list_names' structure
and set limit in 'num_nodes' field. The 'nodes' field should be allocated
as well and it should have space for at least 'num_nodes' elements.
The SIOC_HCI_RAW_NODE_LIST_NAMES should be issued on bound raw HCI socket.
It does not really really matter what HCI name the socket is bound to, as
long as it is not empty.
MFC after: 1 week
|
|
|
|
| |
Coverity ID: 445
|
|
|
|
|
|
| |
against older NG_VERSION.
Coverity ID: 1131
|
|
|
|
| |
No functional changes.
|
|
|
|
|
|
|
|
|
|
| |
sampling_interval) fields in netflow v5 header. We do not use
them but some netflow tools show garbage.
PR: kern/96296
Submitted by: David Duchscher
Approved by: glebius
MFC after: 1 week
|
|
|
|
|
| |
Submitted by: tegge
MFC after: 3 months
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rather than an error. Detaches do not "fail", they other occur or
the protocol flags SS_PROTOREF to take ownership of the socket.
soclose() no longer looks at so_pcb to see if it's NULL, relying
entirely on the protocol to decide whether it's time to free the
socket or not using SS_PROTOREF. so_pcb is now entirely owned and
managed by the protocol code. Likewise, no longer test so_pcb in
other socket functions, such as soreceive(), which have no business
digging into protocol internals.
Protocol detach routines no longer try to free the socket on detach,
this is performed in the socket code if the protocol permits it.
In rts_detach(), no longer test for rp != NULL in detach, and
likewise in other protocols that don't permit a NULL so_pcb, reduce
the incidence of testing for it during detach.
netinet and netinet6 are not fully updated to this change, which
will be in an upcoming commit. In their current state they may leak
memory or panic.
MFC after: 3 months
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
than an int, as an error here is not meaningful. Modify soabort() to
unconditionally free the socket on the return of pru_abort(), and
modify most protocols to no longer conditionally free the socket,
since the caller will do this.
This commit likely leaves parts of netinet and netinet6 in a situation
where they may panic or leak memory, as they have not are not fully
updated by this commit. This will be corrected shortly in followup
commits to these components.
MFC after: 3 months
|
|
|
|
|
| |
PR: kern/93952
Submitted by: Antoine Brodin <antoine.brodin laposte.net>
|
|
|
|
|
|
|
|
| |
if ksocket is connected to an interface-type node somewhere later
in the graph (e.g., ng_eiface or ng_iface), the csum_data may be
applied to a wrong packet (if we encapsulate Ethernet or IP).
MFC after: 3 days
|
| |
|
| |
|
|
|
|
|
|
| |
in if.c). Count output errors.
MFC after: 3 days
|
|
|
|
|
|
| |
- Regroup softc so that frequently used elements are
grouped in the beginning, while the interfaces
array is at the end.
|
|
|
|
|
|
|
|
|
| |
- Run send queue down to completion, not just one packet.
It has been observed to cause a stall queue otherwise.
- Prevent queueing multiple function calls to a node.
MFC after: 3 days
|
|
|
|
|
| |
Pointy hat: brooks
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
| |
by NGM_PPPOE_SETMODE message. When D-Link compat mode is on, we will
broadcast PADI with empty Service-Name to all listening hooks.
o Rewrite the compatibility options. Before we had two modes - standard
and non-standard (aka 3Com). Now we have standard mode and two compat
flags, that can be combined.
o Be consistent and do s/STUPID/3COM/g. I don't say that 3Com mode isn't
stupid, just want to make code easier to read.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PPPoE AC, servicing a specific Service-Name, when client sends a PADI
with an empty Service-Name. Should it reply with all available service
names or should it be silent? Our implementation had chosen the latter,
while some other had chosen the former (they say Linux and Cisco). Now
some PPPoE clients appear, that rely on the assumption that AC will
send all names in a PADO reply to a PADI with wildcard Service-Name.
These clients can't connect to FreeBSD AC.
I have requested comments from authors of RFC2516 via email, but
received no reply.
This change makes FreeBSD AC compatible with D-Link DI-614+ and
D-Link DI-624+ SOHO routers, and probably others.
Big thanks to D-Link's Russian office, namely Victor Platov, for
assistance and support in investigation and testing of this change.
Details:
o Split pppoe_match_svc() into three different functions serving
different purposes:
- pppoe_match_svc() - match non-empty Service-Name tag from PADI
against all available hooks in listening state.
- pppoe_find_svc() - check that given Service-Name is not yet
registered.
- pppoe_broadcast_padi() - send a copy of PADI packet with empty
Service-Name tag to all listening hooks.
o For NGM_PPPOE_LISTEN message use pppoe_find_svc().
o In ng_pppoe_rcvdata() in a PADI case use pppoe_match_svc() for
a non-empty Service-Name tag, and pppoe_broadcast_padi() in
either case.
A side effect from the above changes is that now pppoed(8) and mpd
will reply to a empty Service-Name PADI sending a PADO with two
Service-Name tags - an empty one and correct one. This is not fatal,
and will be corrected in pppoed(8) and mpd later. No need to update
node interface version.
Supported by: D-Link
|
|
|
|
| |
cycles into one.
|
|
|
|
|
|
|
| |
- Add some ktr(4) debugging.
- Whitespaces at eols.
- Tidy up comments.
- u_intXX -> uintXX
|
|
|
|
|
|
| |
has introduced.
Found with: Coverity Prevent(tm)
|
|
|
|
| |
Found with: Coverity Prevent(tm)
|
|
|
|
| |
Found with: Coverity Prevent(tm)
|
|
|
|
| |
Found with: Coverity Prevent(tm)
|
|
|
|
| |
Found with: Coverity Prevent(tm)
|
|
|
|
| |
Found with: Coverity Prevent(tm)
|
|
|
|
|
|
|
| |
in flags. When sending export datagram from expiry thread, then
use default zero flags. This removes unpleasant contention of the
interrupt thread on mutexes (usually ng_ksocket's socket buffer
mutex).
|
|
|
|
|
| |
to use non-default flags for netgraph functions. Implement current
macros via new ones.
|
|
|
|
|
|
|
| |
- Use fixed length for function name, making ktrdump(8) output
easier to read.
Suggested by: julian [1]
|
|
|
|
|
|
|
| |
5.0-CURRENT. And it looks like this didn't work before Julian's
revamp of netgraph queue code.
Reviewed by: julian
|
|
|
|
| |
Reviewed by: julian
|
|
|
|
| |
bump type cookie.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
had been replied, the reply was always delivered to the originator
synchronously.
With introduction of netgraph item callbacks and a wait channel with
mutex in ng_socket(4), we have fixed the problem with ngctl(8) returning
earlier than the command has been proceeded by target node. But still
ngctl(8) can return prior to the reply has arrived to its node.
To fix this:
- Introduce a new flag for netgraph(4) messages - NGM_HASREPLY.
This flag is or'ed with message like NGM_READONLY.
- In netgraph userland library if we have sent a message with
NGM_HASREPLY flag, then select(2) until reply comes.
- Mark appropriate generic commands with NGM_HASREPLY flag,
gathering them into one enum {}. Bump generic cookie.
|
|
|
|
| |
Submitted by: julian
|
|
|
|
| |
netgraph.
|
|
|
|
|
|
| |
or with "out" hook, and clear the right pointer.
Reported by: Vitaliy Ovsyannikov <V.Ovsyannikov kr.ru>
|
| |
|
|
|
|
|
| |
PR: kern/90113
Submitted by: Antoine Brodin
|
| |
|
|
|
|
|
| |
The sysctl is changed from net.bpf.jitter.enable to net.bpf_jitter.enable
and this controls both bpf(4) and ng_bpf(4) now.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
network byte order.
- Update the flow sequence in one atomic op instead of two.
Reported by: Denis Shaposhnikov <dsh vlink.ru>
Reported by: Daniil Kharoun <kdl chelcom.ru>
PR: kern/89417
|
| |
|