Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2 |
|
#
79dee9e9 |
| 28-Mar-2019 |
Sascha Wildner <saw@online.de> |
kernel/netgraph7: Fix the build after the recent callout changes.
|
Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc |
|
#
e535ebfa |
| 21-Jan-2018 |
zrj <rimvydas.jasinskas@gmail.com> |
netgraph: Disable unused structs.
This needs recheck.
While there, document that musycc and if_mn requires netgraph and are not compatible with netgraph7.
|
Revision tags: v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1 |
|
#
ca34a086 |
| 28-Mar-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Fix improper parens
* Fix improper parens. The code paths luckily worked correctly even with the mistakes, for the most part.
* Fix bug in netgraph (netgraph is not used much in DragonF
kernel - Fix improper parens
* Fix improper parens. The code paths luckily worked correctly even with the mistakes, for the most part.
* Fix bug in netgraph (netgraph is not used much in DragonFly).
Reported-by: dcb / bugs #2989, 2990, 2991, 2992
show more ...
|
Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc |
|
#
c0095626 |
| 23-Mar-2015 |
Sascha Wildner <saw@online.de> |
kernel: Adjust netgraph7 for the mtx_init() change.
|
Revision tags: v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2 |
|
#
384d4156 |
| 17-Jul-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Assert the refcount is zero when freeing the item.
|
#
cfb360d8 |
| 15-Jul-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Factor out and inline item reference counting code.
* Netgraph7 assumes that nodes synchronously consume the items passed to them, i.e. either 1) immediatly drop the item or 2) immediat
netgraph7: Factor out and inline item reference counting code.
* Netgraph7 assumes that nodes synchronously consume the items passed to them, i.e. either 1) immediatly drop the item or 2) immediatly pass the item to the next node.
The previous assumption is not true for nodes that have their own internal item queues and defer the processing of the item. Such nodes can use these routines to prevent the items from being freed too early.
* Move the apply callback check into the item reference release code.
show more ...
|
#
a62226e4 |
| 15-Jul-2014 |
Sascha Wildner <saw@online.de> |
kernel/netgraph7: Use kprintf etc. directly instead of defining printf.
While here, remove some commented out code from dragonfly.h
In-discussion-with: nant
|
#
0560a357 |
| 20-Jun-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Allow name and ID hashes to grow.
* Also, nodes can be renamed now.
Obtained-from: FreeBSD (with changes)
|
#
7e5f7144 |
| 19-Jun-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Use a shared token to protect typelist changes.
* Reduce differences with FreeBSD current.
|
#
dce7062e |
| 18-Jun-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Use a shared token to protect topology changes.
* FreeBSD current uses a reader/writer lock to protect topology changes. Take the same approach except we use a shared token instead.
|
#
aba65d57 |
| 18-Jun-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Remove unneeded critical sections.
* While here, fix some style nits.
* Also add a missing objcache_destroy() call.
|
#
2ffe124d |
| 18-Jun-2014 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Directly use objcache_* functions instead of a translation macro.
|
Revision tags: v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2 |
|
#
ad9efc7b |
| 09-May-2013 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Major rework of netgraph7 internal mechanisms.
* Promote the netgraph taskqueue to a fully fledged per-CPU lwkt.
Currently all work is queued to cpu0 but the idea is to later distribut
netgraph7: Major rework of netgraph7 internal mechanisms.
* Promote the netgraph taskqueue to a fully fledged per-CPU lwkt.
Currently all work is queued to cpu0 but the idea is to later distribute work among the threads. I also explored the idea of using netisr threads instead of our own dedicated threads but I think it would be a bad idea to globaly block a netisr thread due to a netgraph token or other lock.
* Embed a struct lwkt_msg in netgraph items.
* Make ng_apply_item() accept only one argument.
* Remove the global worklist and per-node input queues and related routines.
* Always and only queue items coming from interrupt context.
Items are now always queued, except if they are already being sent from a netgraph thread (depth > 1). The NG_QUEUE and HK_QUEUE flags become no-ops but are kept for compatibility reasons.
* Replace the node reader/writer gate with a per-node lwkt shared token.
* Remove some #if 0'd code
* netgraph7/ng_socket: Avoid blocking on netisr.
Previously, the ng_socket code used a sleep/wakeup mechanism to prevent returning immediatly from the syscall. This caused netisr_cpu 0 to block globaly until the item was processed, which is very inneficient.
Instead, delay the lwkt_replymsg call in the normal case until the item has been processed. This achieves the same requirement of not returning from syscall until the item is processed but is much more elegant.
Because ngc_send() returns sooner now, we can't allocate the apply info from the stack. Instead, dynamically allocate it from an objcache.
* Zeroize an item before returning it to the objcache.
Objects must be in their initialized state before being returned to the object cache. Do that for netgraph items.
The above exposed a use after free bug. An item must remain valid until is applied. If an item has been queued with a registered apply callback, free it only after the callback is made.
* Add a function to check and apply the callback in case the item has one registered.
* Pass the apply callback error via lwkt_replymsg() directly, instead of using a field in the apply_info structure.
* Make sure that ng_socket items don't have their apply callback called twice which was causing a panic.
* Items are now only allowed to be freed by ng_apply_item(). NG_FREE_ITEM is kept for compatibility reasons but now it simply marks the item for deletion and asserts it was not marked already in order to detect double frees.
Hold a reference on the item every time it is sent or forwarded. When the recursion is finished we are finally allowed to free the item on ng_apply_item(). Prior to freeing the item, check it for a registered callback.
* Let recursion unwinding free the item, even in case of error.
* Go back to using a single item allocation pool, instead of separate data and message/function pools. If there is a performance hit, we'll have to deal with it later. Now, ng_realloc_item() simply changes the item type, without allocating a new one from the objcache.
Dragonfly-bug: http://bugs.dragonflybsd.org/issues/2549
show more ...
|
#
99334a07 |
| 04-Jul-2014 |
Sascha Wildner <saw@online.de> |
kernel/netgraph7: Build fix.
|
#
0fdb7d01 |
| 15-Jan-2014 |
Sascha Wildner <saw@online.de> |
Remove a bunch of unnecessary semicolons.
|
#
fa8cc5a2 |
| 19-Jul-2013 |
Sascha Wildner <saw@online.de> |
kernel: Remove some more unused kmalloc types.
M_MPSSAS M_MPTUSER M_NETGRAPH_ITEM M_NWFSMNT M_PDU M_RDRAND M_SMBDATA M_SMBFSMNT
|
Revision tags: v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
318d84cc |
| 16-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel/netgraph7: Remove <sys/ktr.h>. There's no DragonFly KTR here.
|
#
42a79bf8 |
| 04-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel: Remove some unused variables in netgraph/netgraph7.
|
Revision tags: v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3 |
|
#
d721fb72 |
| 26-May-2012 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: ng_base: spl* -> crit_*
|
#
742dff7b |
| 21-Apr-2012 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: Dont register netisr for netgraph
Netgraph7 has been converted to taskqueue in an earlier commit. * Do not register netisr. * Rename ngintr() to ngtask(), no functional change.
|
#
d980873c |
| 31-Mar-2012 |
Sascha Wildner <saw@online.de> |
kernel/netgraph7: Fix whitespace.
|
Revision tags: v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
a6c72860 |
| 18-Nov-2011 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: convert lockmgr locks into mutexes.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0 |
|
#
a48a177f |
| 13-Sep-2010 |
Nuno Antunes <nuno.antunes@gmail.com> |
netgraph7: fix netgraph7 build
* add missing socketvar2.h header #include's.
* fix comment.
|
Revision tags: v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2 |
|
#
0147868e |
| 21-Jun-2009 |
Nuno Antunes <nuno.antunes@gmail.com> |
Apply netgraph7 megapatch.
* Translate objcache calls. * Translate uma_zone to objcache. * Introduce libnetgraph7 (is compiled when WANT_NETGRAPH7 is defined). * Welcome ng_socket. * Convert netgrap
Apply netgraph7 megapatch.
* Translate objcache calls. * Translate uma_zone to objcache. * Introduce libnetgraph7 (is compiled when WANT_NETGRAPH7 is defined). * Welcome ng_socket. * Convert netgraph netisr to a real taskqueue. This fixes a deadlock specific to dragonfly. * Welcome ng_async. * Welcome ng_UI. * Welcome ng_ether. * Fix mtx_assert translation. * Welcome ng_hole. * Welcome ng_cisco. * Welcome ng_iface. * Welcome ng_tee. * Welcome ng_atmllc. * Welcome ng_bpf. * Welcome ng_vjc.
show more ...
|