summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netgraph/NOTES')
-rw-r--r--sys/netgraph/NOTES26
1 files changed, 24 insertions, 2 deletions
diff --git a/sys/netgraph/NOTES b/sys/netgraph/NOTES
index 69d8b71..0ddc02f 100644
--- a/sys/netgraph/NOTES
+++ b/sys/netgraph/NOTES
@@ -13,6 +13,8 @@ Archie's suggestions... :-)
- They allow conditional compilation which keeps
statistics & counters on various memory allocation
(or so it seems)
+ - Now tend to have NG_FREE_XX() macros. they
+ allow better debugging
- In struct ng_mesg: at least make "header" into "hdr", if not
getting rid of it altogether. It doesn't seem necessary and
@@ -34,9 +36,12 @@ Archie's suggestions... :-)
#define NG_MSG_HDR_SIZE (sizeof(struct ng_message) - 1)
#endif
+ - inertia rules :-b
+
+
- Have a user level program to print out and manipulate nodes, etc.
- [DONE]
- see ngctl
+ see ngctl, nghook
- "Netgraph global" flags to turn on tracing, etc.
@@ -57,6 +62,8 @@ Archie's suggestions... :-)
colon character at the end of the name. Note ngctl allows you
to do it either way!
[DONE] (I think)
+ - bind on a control socket has been disabled
+ it was a bad idea.
- Need to implement passing meta information through socket nodes
using sendmsg() and recvmsg().
@@ -64,14 +71,16 @@ Archie's suggestions... :-)
- Stuff needing to be added to manual:
- Awareness of SPL level, use ng_queue*() functions when necessary.
- - Malloc all memory with type M_NETGRAPH.
+ - Malloc all memory with type M_NETGRAPH. -DONE
- Write code so it can be an LKM or built into the kernel.. this means
be careful with things like #ifdef INET.
- All nodes assume that all data mbufs have the M_PKTHDR flag set!
The ng_send_data() and related functions should have an
#ifdef DIAGNOSTICS check to check this assumption for every mbuf.
+ -DONE with INVARIANTS. Framework should test this more.
- More generally, netgraph code should make liberal use of the
#ifdef DIAGNOSTICS definition.
+ -INVARIANTS.
- Since data and messages are sent functionally, programmers need
to watch out for infinite feedback loops. Should ng_base.c detect
this automatically?
@@ -79,3 +88,16 @@ Archie's suggestions... :-)
which is set to the colour of the packet as you pass through.
hitting a node already of your colour would abort. Each packet
has another (incremented) colour.
+ -new 'item' type can hold a hopcount...
+
+NEW in 2001
+All piggyback responses have gone away.
+use the node ID in the return address field for quick response delivery.
+
+Every node has a queue, plus there is a list of nodes that have queued work.
+Extensive use of Mutexes. Getting in shape for SMP.
+
+Messages and data are deliverd in a new form. An Item now has
+all information needed to queue such a request and deliver it later, so
+it is now the basis of all data transfer since any transfer may need to
+be queued.
OpenPOWER on IntegriCloud