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
thorpej
cdcd4fad5e
In if_qflush(), use IFQ_PURGE() rathen than an open-coded version.
2000-12-13 22:06:05 +00:00
thorpej
df303090c2
First step at integrating ALTQ -- IFQ_*() glue macros that select
...
old-style queueing or ALTQ based on a compile time option.
2000-12-13 22:05:12 +00:00
thorpej
173c0bb9d7
Include BPF headers as necessary (feh, too many changes to try and
...
merge...)
2000-12-12 18:22:39 +00:00
thorpej
bb1175954d
Use <net/dlt.h>
2000-12-12 18:03:25 +00:00
thorpej
c5293456da
Adapt to bpfattach() changes, and further centralize the bpfattach()
...
and bpfdetach() calls into link-type subroutines where possible.
2000-12-12 18:00:22 +00:00
thorpej
bfaf37d464
Use <net/dlt.h> to get the DLT_* constants. Also change bpfattach()
...
and bpf_change_type() to take just a pointer to the ifnet, rather than
a pointer to the ifnet and a pointer to a member of the ifnet (the bpf
pointer).
We'll let this ride on the Dec 12 1.5N version bump.
2000-12-12 17:55:21 +00:00
thorpej
00052cdc53
Put the BPF DLT_* constants into their own header file so that things
...
that reference them don't have to slurp in all of the BPF headers.
Define a new generic RAWAF type that is like DLT_RAW, but isn't specific
to IP (the macro takes an AF_* constant as an argument to generate the
actual type).
2000-12-12 17:53:00 +00:00
thorpej
2a6413983b
Only allow superuser to change 802.11 power params.
2000-12-12 17:48:29 +00:00
thorpej
589bc762b7
Add a way to manipulate the power management parameters specified in
...
802.11.
2000-12-12 04:03:38 +00:00
itojun
93292b8aaa
do not touch region after free
2000-12-11 07:52:48 +00:00
itojun
5eae50d991
update icmp6 too big validation. the change is necessary since pmtud is
...
mandatory for IPv6 (so we can't just validate by using connected pcb - we need
to allow traffic from unconnected pcb to do pmtud).
- if the traffic is validated by xx_ctlinput, allow up to "hiwat" pmtud
route entries.
- if the traffic was not validated by xx_ctlinput, allow up to "lowat" pmtud
route entries (there's upper limit, so bad guys cannot blow up our routing
table).
sync with kame
XXX need to think again about default hiwat/lowat value.
XXX victim selection to help starvation case
2000-12-09 01:29:45 +00:00
onoe
2819c7b688
Use DMA from mbuf instead of copy in transmit.
...
Still use memcpy in receiving because we must use buffer fill mode
and many packets may share single receive buffer.
XXX: Workaround(?) for CXD3222: it fails to DMA for selfid packet according
to code placement. I'm not sure about the reason (cache? timing? bug?).
Fixed the bug: transmitter sometimes stop and OACTIVE bit of if_fw
never be cleared.
Fixed the bug: freeing free buffer.
Enable ieee1394_drain and ieee1394_watchdog for loss of fragment.
2000-11-20 12:12:18 +00:00
martin
4a0283d9f0
Allow changing of settings via ioctl only for the superuser.
...
Fixes PR security/11524.
2000-11-19 18:48:44 +00:00
bouyer
6e08061c2a
Supports hardware 802.1q VLAN tagging, per discussion on tech-net. The tag is
...
stored in a m_aux mbuf defined by AF_LINK, ETHERTYPE_VLAN.
Thanks to Jason & Itojun for the feedback.
2000-11-17 19:21:53 +00:00
bouyer
0d0fd7718e
Per discussion with Jason, change flags filter to
...
(IFF_UP | IFF_BROADCAST | IFF_RUNNING | IFF_ALLMULTI | IFF_SIMPLEX)
Also, put the ifp->if_opackets++ at the rigth place so that the counter is
incremented even when the parent is OACTIVE.
Fix a bug in vlan_input where the ethernet src and dst addrs would not be
correct because we only memmove() only ifv->ifv_encaplen instead of
sizeof(struct ether_header).
2000-11-15 18:15:11 +00:00
thorpej
b84f740be0
Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
2000-11-15 01:02:11 +00:00
onoe
f1c77e81db
Add support for link fragmentation and reassemble for IEEE-1394.
...
XXX: drain is still not yet implemented, thus memory leak will occur
in case of any of fragment lost.
2000-11-14 11:14:55 +00:00
bouyer
3659b305e5
In vlan_config(), filter flags inherited from parent interface to
...
(IFF_UP | IFF_BROADCAST | IFF_RUNNING | IFF_ALLMULTI | IFF_SIMPLEX)
Without this, if the parent is OACTIVE of PROMISC at config time, we
loose.
2000-11-12 19:39:42 +00:00
thorpej
65fd25ea82
Restructure the PFIL_HOOKS mechanism a bit:
...
- All packets are passed to PFIL_HOOKS as they come off the wire, i.e.
fields in protocol headers in network order, etc.
- Allow for multiple hooks to be registered, using a "key" and a "dlt".
The "dlt" is a BPF data link type, indicating what type of header is
present.
- INET and INET6 register with key == AF_INET or AF_INET6, and
dlt == DLT_RAW.
- PFIL_HOOKS now take an argument for the filter hook, and mbuf **,
an ifnet *, and a direction (PFIL_IN or PFIL_OUT), thus making them
less IP (really, IP Filter) centric.
Maintain compatibility with IP Filter by adding wrapper functions for
IP Filter.
2000-11-11 00:52:36 +00:00
thorpej
ecf191df62
Pull in <sys/time.h>, since we use timevals here.
2000-11-11 00:11:04 +00:00
enami
7d3b20fb20
Don't require the size of sockaddr to be rounded up if it was the last one
...
and was netmask.
2000-11-10 03:37:42 +00:00
enami
d93a3cbc40
Don't return uninitialized value.
2000-11-10 02:31:53 +00:00
enami
f52dd5bd61
Don't unlink and deallocate ether_multi here. ether_ifdetach will do it.
2000-11-10 02:29:44 +00:00
enami
17707b76db
Define struct member correctly. This fixes a panic due to overwrite of stack.
2000-11-10 02:27:19 +00:00
thorpej
c1e8f10429
Implement promiscuous mode.
2000-11-09 05:57:38 +00:00
itojun
ad037eb274
avoid namespace pollution by radix.h. the #ifndef _KERNEL portion was to
...
use radix.c in userland compilation, however, noone is using it.
(routed has its own radix.c)
2000-11-06 11:07:37 +00:00
onoe
e83458422f
First Prototype implementation of network interface part for IEEE1394 (if_fw).
...
Current status:
Only OHCI chip is supported (fwohci).
ping (IPv4) works with Sony's implementation (SmartConnect) on Win98.
sometimes works but not stable.
Not implemented yet:
IRM (Isochronous Resource Manager) functionality.
Link layer fragmentation.
Topology map.
More to do:
clean ups
MCAP
charactor device part
dhcp
There is no entry in GENERIC config file yet.
Follow sys/dev/ieee1394/IMPLEMENTATION to enable if_fw.
2000-11-05 17:17:12 +00:00
eeh
16bbba0a23
Fix bug w/previous.
2000-11-02 16:50:17 +00:00
eeh
746166e492
Fix sparc64 LP64 issues.
2000-11-02 16:14:05 +00:00
itojun
d36abffc92
sync with struct tty change (does it look correct?)
2000-11-02 15:51:18 +00:00
itohy
344f9b7b00
Set the default line discipline to t_linesw, rather than just NULL it.
2000-11-02 12:00:49 +00:00
itohy
486a58959c
Adapt to the new line discipline scheme.
2000-11-02 11:00:53 +00:00
onoe
226930604b
Add new numbers from IANA: 0x83 - 0xbd
2000-10-26 06:51:31 +00:00
wiz
75311ca708
Fix typo (thinko?), which didn't allow MRU to be set below the default
...
value (instead of the minimum value). Patch supplied by Stephen Degler
in PR #9945 , and reviewed by Ignatios Souvatzis.
2000-10-26 01:26:15 +00:00
itojun
27fcf101a1
prevent stack overwrite due to bzero() arg mistake. from msaitoh.
2000-10-19 01:07:42 +00:00
matt
cf67b6ff59
When discarding oversized frame, say how long it was.
2000-10-15 19:49:55 +00:00
itojun
d7a216bb96
suppress warning on nd6_storelladdr failure. the failure could happen
...
easily when we have routing table with too many entries. sync with kame.
2000-10-15 15:39:11 +00:00
bouyer
29fdeefaff
Don't try to handle SIOCSIFADDR/SIOCADDMULTI/SIOCDELMULTI if a vlan/vlanif
...
hasn't been configured (prevent a panic in arp_ifinit when setting an
IP addr with no vlan/vlanif).
2000-10-15 11:58:26 +00:00
thorpej
fabbb33a60
Implement ether_ioctl(), ioctl operations common to all Ethernet
...
interfaces.
2000-10-11 16:53:41 +00:00
thorpej
7e2259325b
Change the if_reset vector to if_init, and add an if_stop. if_stop
...
also takes an argument indicating whether or not the interface should
also be disabled (i.e. power removed, resources freed, etc.)
2000-10-11 16:52:34 +00:00
itojun
014e2a97b5
fix comment (s/IPv6/IP/)
2000-10-10 11:43:51 +00:00
ad
04e67112d6
Remove defunct bpfdetach()/ether_ifdetach() calls.
2000-10-10 10:07:35 +00:00
itojun
4eb5250694
fix operator precedence (& and &&). do not transmit too much message
...
from LCP layer to NCP layer. PR 11161.
2000-10-08 02:37:42 +00:00
itojun
08af3d2f82
validate args to SIOC[SG]IFPHY* better.
2000-10-07 04:18:04 +00:00
itojun
ff01d6f0b1
repair SIOCGIFP{DST,SRC}ADDR.
2000-10-07 03:41:38 +00:00
onoe
3ec2a62f74
unique #include opt_inet.h
2000-10-06 04:49:53 +00:00
itojun
bb4b4d9e39
ifp->if_ioctl may be NULL, so check it for SIOCSIFPHY*.
2000-10-04 22:37:41 +00:00
thorpej
3ba709aec7
Make sure we're super-user for SIOCSIFPHYADDR, SIOCDIFPHYADDR,
...
and SIOCSIFPHYADDR_IN6.
2000-10-04 21:12:40 +00:00
enami
d86752997f
Free mbuf when dropping VLAN frame due to no configured vlan interface.
2000-10-04 07:01:52 +00:00
enami
b817ce40cb
Cosmetic changes.
2000-10-04 06:51:12 +00:00
enami
bc50cb2cae
Remove redundant assignment.
2000-10-04 06:20:05 +00:00
itojun
6b9793517d
need opt_inet.h for #ifdef INET
2000-10-04 02:51:18 +00:00
thorpej
9f76a74e1e
Pop one off the TODO list.
2000-10-03 23:52:39 +00:00
thorpej
efbead5055
When an Ethernet interface detaches, unconfigure any VLANs associated
...
with it.
2000-10-03 23:50:52 +00:00
thorpej
96375e93ea
Improve the VLAN support, in particular, handling of MTU:
...
- Add a macro to compute the max frame length based on Ethertype
and presence of FCS, and use it to validate the packet size
in ether_input().
- Add capabilites to struct ethercom, and allow hardware drivers
to specify that they can handle the larger hardware MTU that
VLANs require in order to strictly conform to 802.1Q.
- Make ether_ifdetach() clear out the link address and free all of
the Ethernet multicast structures.
Also, rearrange the VLAN driver itself in preparation to supporting
other hardware types, including FDDI (which has 802.1Q VLAN capability).
2000-10-03 23:33:38 +00:00
itojun
2fe73fd967
typo
2000-10-03 22:46:21 +00:00
itojun
6653c1a74d
forgot to update maximum number of algorithms
2000-10-03 22:43:52 +00:00
itojun
553ce2a5e7
add official # for AES (12), and make it equal to rijndael.
...
Note that:
- IANA assignment was made for AES
- we still have some time window till AES gets finalized, so until it gets
finalized, we are not certain if AES == rijndael
but it should now be okay.
2000-10-03 21:45:44 +00:00
itojun
05d1b41473
get rid of RC5 algorithm # completely (#if 0'ed for a long time)
...
sync with kame.
2000-10-03 06:36:31 +00:00
ad
3a739b04a0
htons -> ntohs. From Alan Barrett <apb@cequrux.com>.
2000-10-02 14:41:26 +00:00
itojun
dcfe05e7c1
fix compilation without INET. fix confusion between ipsecstat and ipsec6stat.
...
sync with kame.
2000-10-02 03:55:41 +00:00
itojun
dd859d3462
enable VJC only with INET
2000-10-02 03:54:10 +00:00
itojun
b8453a0291
fix compilation without INET
2000-10-02 03:53:47 +00:00
itojun
1af3d80bce
fix compilation without INET.
2000-10-02 03:53:07 +00:00
itojun
412b3abb5f
fix IPv6 packet manipulation. (use ip6intrq)
2000-10-02 03:52:10 +00:00
itojun
253515cca1
cosmetic; repair indentation
2000-10-02 03:51:18 +00:00
thorpej
4a66a476e9
Make the previous code path simpler (and possible easier for the
...
compiler to optimize), based on fddi_input().
2000-10-01 23:43:44 +00:00
thorpej
7ca3fb9ef0
Move the check for "promisc + unicast + not for us" into ether_input(),
...
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
thorpej
8dc841aa19
Change the behavior of ifpromisc() slightly. If interface is not IFF_UP,
...
attempting to enable promisc would result in ENETDOWN. Change this to
allow the interface to always be placed in promiscuous mode, regardless
of IFF_UP. When the interface does come up, the IFF_PROMISC flag will
be consulted, and this matches the behavior that disabling promiscuous
mode has.
2000-10-01 23:16:07 +00:00
mellon
b58f5e5835
- Figure out how long if list buffer needs to be if it's too short (fixes
...
PR#10968).
2000-09-29 00:37:37 +00:00
ad
d74621ea64
Add an item to the TODO list.
2000-09-28 10:02:09 +00:00
enami
a5028df36d
Don't unconfigure if it is already unconfigured.
2000-09-28 08:28:56 +00:00
enami
177a258793
Fix think-o in previous; don't do the same test twice.
2000-09-28 07:35:36 +00:00
enami
8e1cd4f341
Port the multicast handling to NetBSD correctly.
2000-09-28 07:20:56 +00:00
enami
bf888fcd19
Factor out and give a name to the common functionality to translate
...
sockaddr which represents a multicast address into an Ethernet address
or range of Etherenet addresses.
2000-09-28 07:15:27 +00:00
enami
dcf72a770a
s/6/ETHER_ADDR_LEN/
2000-09-28 07:01:41 +00:00
enami
63b56285cd
Remove unnecessary test.
2000-09-28 07:00:53 +00:00
enami
2c4a718932
Remove unnecessary function decl.
2000-09-28 06:13:35 +00:00
enami
b531012315
Install if_vlanvar.h.
2000-09-28 06:06:50 +00:00
erh
d921f48d7a
When grabbing address structures out of a character array make sure that the number of addresses and length of each match up with the size of the data we're handed. Fixes arp on the alpha.
2000-09-28 01:14:06 +00:00
thorpej
77efca7976
Glue VLANs into ether_input().
2000-09-27 22:58:21 +00:00