thorpej
fc5dafc79b
Fix a rather annoying problem where the sockaddr_dl which holds
...
the link level name for the interface (ifp->if_sadl) is allocated
before ifp->if_addrlen is initialized, which could lead to allocating
too little space for the link level address.
Do this by splitting allocation of the link level name out of
if_attach() and into if_alloc_sadl(), which is normally called
by functions like ether_ifattach(). Network interfaces which
don't have a link-specific attach routine must call if_alloc_sadl()
themselves (example: gif).
Link level names are freed by if_free_sadl(), which can be called
from e.g. ether_ifdetach(). Drivers never need call if_free_sadl()
themselves as if_detach() will do it if it is not already done.
While here, add the ability to pass an AF_LINK address to
SIOCSIFADDR in ether_ioctl() (this is what caused me to notice
the problem that the above fixes).
2001-01-17 00:30:49 +00:00
thorpej
f64af41401
No need to reference ifnet_addrs[].
2001-01-16 21:18:56 +00:00
itojun
72f7f224db
run IPCP only if we have IPv4 in kernel
2001-01-16 15:28:27 +00:00
thorpej
569e9a31e2
For SLIP/STRIP/PPP, use generic soft interrupts, if available.
2001-01-15 16:33:30 +00:00
martin
89e8f275be
Don't peek at part of a structure via fuword. Does not work well on
...
64bit architectures. XXX - have to check other changes in the I4B
distribution, this had been fixed there a long time ago.
2001-01-15 13:40:35 +00:00
thorpej
1cdefa9f66
Fix a comment.
2001-01-12 19:38:46 +00:00
thorpej
ba4e91812d
After freeing the input buffer, set the pointer to it to NULL.
2001-01-12 19:27:32 +00:00
thorpej
acd96e1307
Don't use splimp() to block both net and tty interrupts. Instead,
...
block both interrupt levels as appropriate.
2001-01-12 19:26:48 +00:00
thorpej
6f85104748
Sync with if_sl.c,v 1.67:
...
Defer output processing to the software interrupt.
Note, that in the process of doing this, I discovered several
very broken things about this driver, which are not fixed with
this commit. It should work as well as it previously did, but
this code could be seriously improved. As soon as I can find
my second Metricom radio, I'll give it a proper shakedown.
2001-01-12 19:03:24 +00:00
thorpej
455e3228dd
Sync if if_sl.c,v 1.66:
...
Move the VJ uncompress code into the software interrupt.
2001-01-11 22:56:51 +00:00
thorpej
c292853354
Plug a memory leak.
2001-01-11 22:43:02 +00:00
thorpej
7c1a1a3ae8
Process STRIP software interrupts.
2001-01-11 22:32:21 +00:00
thorpej
1ce7cbc90b
Sync with if_sl.c,v 1.65:
...
Once we have a complete frame, schedule a STRIP software interrupt,
and manipulate ipintrq from there. This will allow us to clean up
the use of splimp() in this file later.
2001-01-11 22:31:49 +00:00
thorpej
a5ee0c0a19
Sync with if_sl.c,v 1.64:
...
Make the buffer management in STRIP just a little less evil.
2001-01-11 22:23:11 +00:00
thorpej
7c5fe175c0
Defer output processing to the software interrupt.
2001-01-11 21:15:58 +00:00
thorpej
4c9cb837ba
Move the VJ uncompress code into the software interrupt.
2001-01-10 23:29:42 +00:00
itojun
ea2d93c355
fix indentation
2001-01-10 01:16:59 +00:00
thorpej
f5428a0a17
Fix oversight in slip softintr changes.
2001-01-09 20:20:13 +00:00
thorpej
efed547b78
Once we have a complete frame, schedule a SLIP software interrupt,
...
and manipulate ipintrq from there. This will allow us to clean up
the use of splimp() in this file later.
2001-01-09 05:04:23 +00:00
thorpej
30be6aa8b6
Add NETISRs for SLIP and STRIP. (Geez, I wish we had the softintr
...
API everywhere...)
2001-01-09 05:03:10 +00:00
thorpej
692a2bc939
Make the buffer management in SLIP just a little less evil.
2001-01-09 04:42:48 +00:00
thorpej
c5acd6aad5
Fix a typo in the ALTQ changes.
2001-01-08 23:43:34 +00:00
martin
6b82e7fe42
64bit police.
...
Rumors say there are archs without ISA busses, so avoid including
(uneccesarily) isa bus headers in MI files.
XXX this is the minimal solution, layer interface calls will have
XXX to be revisited later
2001-01-07 21:47:24 +00:00
enami
0e081e1b48
Missing newline in log messsage.
2001-01-04 00:17:52 +00:00
thorpej
d2bbed89e7
Fix non-blocking BPF reads, from Guy Harris, kern/11836.
2000-12-29 01:55:49 +00:00
thorpej
ad5b855ef0
Back out the sledgehammer damage applied by wiz while I was out for
...
the holiday.
2000-12-28 21:40:59 +00:00
augustss
79431d7824
Simplify case statement a tiny bit.
2000-12-26 23:54:34 +00:00
wiz
32e20d8993
Back out previous change. It causes NAT to fail, and was CLEARLY
...
NOT TESTED before it was committed.
2000-12-25 02:00:46 +00:00
thorpej
f9fd00d8e7
Fix a silly bug in the ALTQ version of IFQ_DEQUEUE().
2000-12-23 19:00:18 +00:00
thorpej
d0357bdb4f
Slight adjustment to how pfil_head's are registered. Instead of a
...
"key" and a "dlt", use a "type" (PFIL_TYPE_{AF,IFNET} for now) and
a val/ptr appropriate for that type. This allows for more future
flexibility with the pfil_hook mechanism.
2000-12-22 20:01:17 +00:00
thorpej
8a56f72a7c
Oops, make this build without ALTQ again.
2000-12-18 21:13:14 +00:00
thorpej
831d5b8d43
Add SIOCGIFDLT, which will fetch the data link type (DLT_* constant)
...
for a given network interface.
2000-12-18 21:05:03 +00:00
thorpej
0b541534c5
Add an "ifr_dlt" alias for the union in struct ifreq.
2000-12-18 21:03:34 +00:00
thorpej
192e2774b3
Always pull in DLT_* constants.
2000-12-18 20:58:41 +00:00
thorpej
023adb3093
Use IFQ_PURGE().
2000-12-18 20:50:36 +00:00
thorpej
5363e5eed4
ALTQ'ify.
2000-12-18 20:47:10 +00:00
thorpej
541812a992
ALTQ'ify.
2000-12-18 20:41:44 +00:00
thorpej
ed7695a765
Fill in if_dlt.
2000-12-18 19:44:33 +00:00
thorpej
23df92e38d
Small cosmetic change.
2000-12-18 19:36:41 +00:00
thorpej
6484f81abc
We now support hw vlan tag support in network interfaces, so remote it
...
from the TODO list.
2000-12-18 19:32:20 +00:00
thorpej
00d64bedbc
Add a if_dlt member, used so that userland can query the DLT_* of an
...
interface without having to first attach it to a bpfdesc.
2000-12-18 19:25:57 +00:00
thorpej
db9fd3e536
Add ALTQ support. This is used for testing/debugging ALTQ only. It
...
is triggered only on loopback interfaces, and not simplex interfaces
(which also use looutput()).
2000-12-18 19:18:33 +00:00
thorpej
66539b9373
Add ALTQ support.
2000-12-18 18:57:21 +00:00
thorpej
2663dfcf85
Commit to the ALTQ glue.
2000-12-18 18:54:47 +00:00
thorpej
721139924d
Add a version of the 802.11 frame header that includes the 4th address.
2000-12-18 18:00:23 +00:00
itojun
60fa2b29af
fix typo in function name (rn_satsifies_leaf -> satisfies). indent.
...
split rn_inithead() into two function - i'm putting some hook around here.
2000-12-17 10:23:19 +00:00
thorpej
e961c654a8
Change an if_qflush() to an IFQ_PURGE() to deal with ALTQ correctly.
2000-12-14 17:47:26 +00:00
thorpej
fb2688c12f
Fix braino in IF_PURGE().
2000-12-14 00:19:42 +00:00
thorpej
dce7e1a85b
Oops, forgot IFQ_POLL() in the ALTQ case.
2000-12-14 00:07:35 +00:00
thorpej
3dc1664f57
Add ALTQ glue.
2000-12-13 22:07:50 +00:00