glebius
471fd11ce3
Remove a recursion protection, which we inherited from splnet() netgraph times.
...
Now several threads may write data to ng_ksocket. Locking of socket is done in
sosend().
Reviewed by: archie, julian, rwatson
MFC after: 2 weeks
2005-02-16 16:00:35 +00:00
glebius
8c12be1b60
Make WITNESS happier:
...
- refactor ngd_constructor, so that make_dev() is called without
any locks held, since it mallocs memory with M_WAITOK flag.
- rename global mtx, to have name different to per-node mtx
MFC after: 2 weeks
2005-02-14 13:47:06 +00:00
glebius
38b3e66d0e
Add new netgraph control message NGM_ETHER_DETACH, which actually
...
removes netgraph node and unwraps Ethernet interface.
This gives us ability to unload ng_ether.ko, when all interfaces
are detached, making ng_ether(4) developers happy.
Reviewed by: ru
2005-02-14 12:01:09 +00:00
archie
5775bba72e
Bump cookie value to reflect change in NGM_IFACE_GET_IFNAME semantics.
2005-02-13 16:36:41 +00:00
ru
9ad2a7ae39
Drop mythical module dependency on ng_ether.
2005-02-13 00:50:18 +00:00
glebius
41a3a8f682
Restore previous cookie. Old programs will work with new node OK,
...
new programs with old node wil receive EINVAL trying to access new
messages.
Submitted by: ru
2005-02-12 19:23:20 +00:00
glebius
774bd8c9a3
- bzero sockaddr_dl
...
- use constant instead of number
Suggested by: ru
2005-02-12 19:19:29 +00:00
ru
3a40a31efb
Fix typo in a comment.
2005-02-12 18:10:26 +00:00
ru
71926aef8a
Fallout from the ALTQ import.
2005-02-12 17:03:01 +00:00
glebius
91f542fb50
Allocate enough space for new tag.
...
Pointy hat to: glebius
2005-02-12 16:26:36 +00:00
glebius
f36bba96f5
When netgraph(4) was converted to use mbuf_tags(9) instead of meta-data
...
a definite setup was broken: two ng_ksockets are connected to each other,
connect()ed to different remote hosts, and bind()ed to different local
interfaces. In this case one ng_ksocket is fooled with tag from the other
one.
Put node id into tag. In rcvdata method utilize tag only if it has our
own id inside or id equals zero. The latter case is added to support
packets send by some third, not ng_ksocket node.
MFC after: 1 week
2005-02-12 14:54:19 +00:00
glebius
0382724fd9
Add two new netgraph messages NGM_ETHER_ADD_MULTI and NGM_ETHER_DEL_MULTI,
...
to join and leave Ethernet multicast membership, respectively. Messages
take MAC address as argument.
Sponsored by: Rinet ISP
2005-02-12 11:41:32 +00:00
ru
03b8abc877
Removed redundant MODULE_VERSION().
2005-02-12 11:14:25 +00:00
glebius
fa1f09bbf6
Make netgraph ISR and callout MPSAFE.
...
Reviewed by: rwatson, ru
2005-02-12 09:52:36 +00:00
glebius
39f3c37ccf
style: fix indentation and spacing.
...
Submitted by: ru
2005-02-11 23:17:50 +00:00
glebius
b8a36d0c63
Do not trust ipfw: check m_len always, not only after m_dup.
...
Submitted by: ru
2005-02-11 23:07:22 +00:00
glebius
ea01332a61
- do m_pullup() after m_dup()
...
- clean style in previous commit
Suggested by: ru
2005-02-11 22:28:58 +00:00
glebius
5801ece863
pullup to sizeof struct ip before sending to ip_output.
...
Suggested by: ru
2005-02-11 21:26:39 +00:00
glebius
167386b6ae
Packets from ipfw come with IP header in host byte order. Netgraph works
...
with net byte order. Change byte order to net in ng_ipfw_input(), change
byte order to host before ip_output(), do not change before ip_input().
In collaboration with: ru
2005-02-11 20:53:41 +00:00
phk
993d22fc7e
Make M_NETGRAPH_ETF static
2005-02-10 12:26:57 +00:00
archie
359d95f6c5
Fix incorrect comment.
...
Submitted by: James Bowman <jamesb@acelere.net>
2005-02-10 02:43:26 +00:00
ru
dda796bcd3
In revision 1.29 timeout() was converted to ng_callout().
...
The difference is that the callout function installed via the
ng_callout() method is guaranteed to NOT fire after the shutdown
method was run (when a node is marked NGF_INVALID). Also, the
shutdown method and the callout function are guaranteed to NOT
run at the same time, as both require the writer lock. Thus
we can safely ignore a zero return value from ng_uncallout()
(callout_stop()) in shutdown methods, and go on with freeing
the node.
The said revision broke the node shutdown -- ng_bridge_timeout()
is no longer fired after ng_bridge_shutdown() was run, resulting
in a memory leak, dead nodes, and inability to unload the module.
Fix this by cancelling the callout on shutdown, and moving part
responsible for freeing a node resources from ng_bridge_timer()
to ng_bridge_shutdown().
Noticed by: ru
Submitted by: glebius, ru
2005-02-09 15:14:44 +00:00
ru
2a53ea9d2d
bzero() -> M_ZERO.
2005-02-08 10:31:55 +00:00
glebius
54eb35fe43
Improve parsing of hook name.
...
Submitted by: ru
2005-02-07 11:16:07 +00:00
glebius
27c3b2cdeb
Whitespace.
2005-02-06 19:24:59 +00:00
glebius
a2ee64ab10
Remove comment which left after removal of ng_rcvdataq_t.
...
MFC after: 1 week
2005-02-06 19:20:16 +00:00
glebius
b4e5bbef00
Increase size of arglen to uint32_t, since uint16_t proved to be
...
not enough (e.g. listing 911 nodes). Bump NG_VERSION.
Reviewed by: julian, archie, ru
2005-02-05 23:23:14 +00:00
glebius
67c8ae0802
Add a ng_ipfw node, implementing a quick and simple interface between
...
ipfw(4) and netgraph(4) facilities.
Reviewed by: andre, brooks, julian
2005-02-05 12:06:33 +00:00
glebius
becc1a2274
Expire aged flows in normal expiry thread. This fixes the problem, when
...
a node disconnected from all sources of traffic never purges its cache.
2005-02-05 10:00:04 +00:00
glebius
896de17746
Break long lines in code and comments.
2005-02-05 09:08:33 +00:00
ru
690fdeacb3
Create a per-module mutex on MOD_LOAD, and destroy it on MOD_UNLOAD.
...
(This fixes witness_destroy() panic after module unload.)
OK'ed by: rwatson, julian
2005-02-05 08:28:36 +00:00
glebius
93f2cf1fa1
Do check that version of a message from userland matches ours.
...
MFC after: 3 days
2005-02-04 21:38:42 +00:00
glebius
c207fe4548
- Fix build with TRACE_MESSAGES defined
...
- Remove extra parenthesis
2005-02-04 16:08:20 +00:00
ru
3ba37139ba
Parse "getifname" using the standard parse string type.
...
Fixed an off-by-one error when dealing with interface name
(if_xname is NUL-terminated).
Don't waste time making a copy of if_xname in constructor.
2005-02-03 13:03:31 +00:00
ru
da345be611
Fixed an off-by-one error when dealing with interface name
...
(if_xname is NUL-terminated).
Don't waste time making a copy of if_xname in attach().
2005-02-03 12:54:18 +00:00
ru
f1160b7b64
Fixed an off-by-one error when dealing with interface name
...
(if_xname is IFNAMSIZ-sized and NUL-terminated).
2005-02-03 12:50:10 +00:00
ru
0e256fdd59
Added ASCII version of the NGM_EIFACE_GET_IFNAME message, "getifname".
2005-02-03 11:52:42 +00:00
ru
e500bbb4ff
Removed unused includes.
2005-02-03 11:28:53 +00:00
ru
bd2b394967
Fix the comment.
2005-02-02 14:02:40 +00:00
ru
f1570768a3
Whitespace and "const" changes to reduce diffs to RELENG_4.
...
(Gives the same object when compiled without NETGRAPH_DEBUG.)
2005-02-02 13:27:03 +00:00
glebius
7db04c586c
In case of various tunneling protocols, mbuf may pass several interfaces
...
before entering ng_netflow. In this case it will have not NULL m_pkthdr.rcvif.
However, it will enter ng_iface soon with another index. So let in_ifIndex
value configured by user override m_pkthdr.rcvif.
Reported by: Damir Bikmuhametov
MFC after: 1 week
2005-02-01 14:07:05 +00:00
glebius
6a761a566a
Rename ng_callout_trapoline to ng_callout_trampoline.
...
Requested by: ru
2005-01-26 09:01:50 +00:00
glebius
c9f1897a19
With recent changes to _callout_stop_safe() we can remove a hack
...
in ng_uncallout().
2005-01-25 22:08:19 +00:00
glebius
3c24c38d30
Fix an evil typo.
...
Submitted by: Roselyn Lee
MFC after: 3 days
2005-01-24 13:32:19 +00:00
glebius
2fa7cf8313
Use log() instead of printf(), to reduce flood on console.
...
MFC after: 1 week
2005-01-20 13:28:39 +00:00
rik
890aec8eb0
Ups, misprint, change and => add.
...
Submitted by: ru
2005-01-16 23:30:45 +00:00
rik
d11aba881e
Fix comment. Code 0x95 means locking shift to codeset 5 according to
...
T1.617 AnnexD.
Locking shift procedure is described in ANSI T1.607.
MFC after: 3 days
2005-01-16 19:22:09 +00:00
rik
89dc69d010
Fix variable name in comment num=>alen. (Lost part of commit rev 1.2)
...
MFC after: 3 days
2005-01-16 19:12:27 +00:00
glebius
7e1fa1922f
Raise & drop IFF_RUNNING upon receival of netgraph flow control
...
messages.
2005-01-14 11:55:07 +00:00
glebius
3a8ccb0718
Consider IFF_UP as "administratively up" flag, and IFF_RUNNING as
...
"operationally up" flag. Hence this, revert 1.35 to use IFF_RUNNING.
2005-01-14 11:52:45 +00:00