Commit Graph

46 Commits

Author SHA1 Message Date
bde
c9a2e7db06 Don't include <sys/ioctl.h> in the kernel. Stage 2: include
<sys/sockio.h> instead of <sys/ioctl.h> in network files.
1997-03-24 11:33:46 +00:00
wollman
417fe24e8c Send RTM_IFINFO messages whenever promiscuous and all-multicast
modes are enabled or disabled.
1997-02-14 15:30:54 +00:00
wollman
56fdf07f13 Implement PRC_IFUP a la PRC_IFDOWN so that protocols know when an interface
has come bacl up (and can referse actions taken as a result of downing).
1997-02-12 18:54:32 +00:00
jkh
9c0cd3f9df Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
wollman
42c104fc53 Use the new if_multiaddrs list for multicast addresses rather than the
previous hackery involving struct in_ifaddr and arpcom.  Get rid of the
abominable multi_kludge.  Update all network interfaces to use the
new machanism.  Distressingly few Ethernet drivers program the multicast
filter properly (assuming the hardware has one, which it usually does).
1997-01-13 21:26:53 +00:00
wollman
9a4d3d71e7 Fix typo. I hate waking up at 4:45 in the morning... 1997-01-08 15:23:17 +00:00
wollman
8a19a8049b Fix a few oversights in the new multicast membership interface. 1997-01-08 13:20:25 +00:00
wollman
29b06bf9e8 Checkpoint the beginnings of the new kernel interface for
multicast group memberships.  This is not actually operative
at the moment (a lot of other code still needs to be changed), but
this seemed like a useful reference point to check in so that
others (i.e. Bill Fenner) have fair warning of where we are going.
1997-01-07 19:15:32 +00:00
wollman
dcbe1b50a7 Convert the interface address and IP interface address structures
to TAILQs.  Fix places which referenced these for no good reason
that I can see (the references remain, but were fixed to compile
again; they are still questionable).
1996-12-13 21:29:07 +00:00
wollman
95f63125c5 Use queue macros for the list of interfaces. Next stop: ifaddrs! 1996-12-11 20:38:25 +00:00
julian
f54058e641 Submitted by: archie@whistle.com
This is a patch to sys/net/if.c. What it does is patch the algorithm
for finding an IP address on an interface which most closely matches
a given IP address. The problem with it is when no address matches,
and you have to just pick one at random. Then the code ends up picking
the last IP address in the list. This patch changes things so it
picks up the first address instead.
Usually the first address is more useful as the later ones are aliases.
1996-08-07 04:09:05 +00:00
wollman
fb51dbe5ea Add better support for retrieving management information from network
interfaces.  This creates two new tables in the net.link.generic branch
of the MIB; one contains (essentially) `ifdata' structures, and the other
contains a blob provided by the interface (and presumably used to
implement link-layer-specific MIB variables).  A number of things
have been moved around in the `ifnet' and `ifdata' structures, so
NEW VERSIONS OF ifconfig(8) AND routed(8) ARE REQUIRED.  (A simple
recompile is all that's necessary.)

I have a sample program which uses this interface for those interested
in making use of it.
1996-07-30 19:17:07 +00:00
wollman
0e350c298e Fix a bug in ifa_ifwithnet() which caused a page fault in bcmp()
when attepmting to add certain types of routes.  This problem
only manifested itself in the presence of unconfigured point-to-point
interfaces.

Noticed by: Chuck Cranor <chuck@maria.wustl.edu>
1996-07-24 19:59:53 +00:00
wollman
a1455b782f Modify the kernel to use the new pr_usrreqs interface rather than the old
pr_usrreq mechanism which was poorly designed and error-prone.  This
commit renames pr_usrreq to pr_ousrreq so that old code which depended on it
would break in an obvious manner.  This commit also implements the new
interface for TCP, although the old function is left as an example
(#ifdef'ed out).  This commit ALSO fixes a longstanding bug in the
TCP timer processing (introduced by davidg on 1995/04/12) which caused
timer processing on a TCB to always stop after a single timer had
expired (because it misinterpreted the return value from tcp_usrreq()
to indicate that the TCB had been deleted).  Finally, some code
related to polling has been deleted from if.c because it is not
relevant t -current and doesn't look at all like my current code.
1996-07-11 16:32:50 +00:00
gpalmer
541a3567f3 Since the updates to ifnet.if_lastchange are so rare (relatively
speaking), go for the extra accuracy and call microtime() to get
the current time.

Pointed Out By:		bde
1996-06-12 19:24:03 +00:00
gpalmer
8976ebd751 Change the use if ifnet.if_lastchange to be more in line with
SNMP requirements. Update description of ifnet.if_lastchange in if.h
to indicate this.
1996-06-10 23:07:36 +00:00
wollman
854e39e6ff Don't allow trailing garbage after the unit number in ifunit(). 1996-06-05 17:12:41 +00:00
dg
9fe925fda1 Move or add #include <queue.h> in preparation for upcoming struct socket
changes.
1996-03-11 15:13:58 +00:00
wollman
d6aa8e653b If a slow input queue was defined by the driver, initialize it. 1996-02-08 21:34:56 +00:00
wollman
867027fa1d Clean up Ethernet drivers:
- fill in and use ifp->if_softc
	- use if_bpf rather than private cookie variables
	- change bpf interface to take advantage of this
	- call ether_ifattach() directly from Ethernet drivers
	- delete kludge in if_attach() that did this indirectly
1996-02-06 18:51:28 +00:00
phk
45caca0a9c Use new printf features rather than local kludges. 1996-01-24 21:12:23 +00:00
wollman
c23327878f in_proto.c: spell ``Internet'' right and put whitespace after commas.
others: start to populate the link-layer branch of the net mib, by
moving ARP to its proper place.  (ARP is not a protocol family, it's an
interface layer between a medium-access layer and a protocol family.)
sysctl(8) needs to be taught about the structure of this branch, unless
Poul-Henning implements dynamic MIB exploration soon.
1995-12-20 21:53:53 +00:00
phk
77f199f486 Staticize, clean lint. 1995-12-09 20:47:15 +00:00
dg
ef1265ff11 all:
Removed ifnet.if_init and ifnet.if_reset as they are generally unused.
Change the parameter passed to if_watchdog to be a ifnet * rather than
a unit number. All of this is an attempt to move toward not needing an
array of softc pointers (which is usually static in size) to point to
the driver softc.

if_ed.c:
Changed some of the argument passing to some functions to make a little
more sense.

if_ep.c, if_vx.c:
Killed completely bogus use of if_timer. It was being set in such a way
that the interface was being reset once per second (blech!).
1995-12-05 02:01:59 +00:00
bde
f1a68a6d0f Added bogus casts to avoid warnings.
Continued cleaning up sysinit stuff.
1995-11-18 13:01:19 +00:00
wollman
50a8891b64 Add newline at end of log message and reduce log level to INFO from NOTICE. 1995-09-27 15:00:49 +00:00
wollman
9de4510551 Fix BPf to generate a header mbuf for writes.
Fix loopback and discard interfaces to understand BPF writes.
(These two from Bill Fenner to fix PR 512.)

Move ifpromisc() from bpf.c to if.c as suggested by comment in BPF.
Send a notice to the log when promiscuous mode is enabled.
1995-09-22 17:57:48 +00:00
dg
25e40c0076 Fixed init functions argument type - caddr_t -> void *. Fixed a couple of
compiler warnings.
1995-09-09 18:10:37 +00:00
julian
3bba784ace Reviewed by: julian with quick glances by bruce and others
Submitted by:	terry (terry lambert)
This is  a composite of 3 patch sets submitted by terry.
they are:
New low-level init code that supports loadbal modules better
some cleanups in the namei code to help terry in 16-bit character support
some changes to the mount-root code to make it a little more
modular..

NOTE: mounting root off cdrom or NFS MIGHT be broken as I haven't been able
to test those cases..

certainly mounting root of disk still works just fine..
mfs should work but is untested. (tomorrows task)

The low level init stuff includes a total rewrite of init_main.c
to make it possible for new modules to have an init phase by simply
adding an entry to a TEXT_SET (or is it DATA_SET) list. thus a new module can
be added to the kernel without editing any other files other than the
'files' file.
1995-08-28 09:19:25 +00:00
dg
d2ed0b89cb Don't skip point-to-point interfaces if the netmask==0 (the netmask
should be completely ignored for point-to-point interfaces).
For point-to-point interfaces, route based on the destination address,
not the local address.

Submitted by:	Peter Wemm
1995-06-28 05:31:03 +00:00
dg
434bef29e1 Took out P2P_LOCALADDR_SHARE option and made it standard. 1995-06-15 00:19:56 +00:00
rgrimes
b6f07b22b2 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
dg
3c7097789a Added a fix for a bug which caused the wrong interface to be selected
for broadcasts if point-to-point links shared the same IP address as
the ethernet. The fix must be enabled with P2P_LOCALADDR_SHARE option
in the kernel config file. This will someday likely be standard, but
there isn't sufficient time before release to determine if there are
any interoperability problems with routed and/or gated.

Reviewed by:	Garrett Wollman, and me
Submitted by:	Peter Wemm
1995-05-27 04:37:24 +00:00
dg
1b69061d4a In ifa_ifwithdstaddr() when walking through ifa structs associated with
a point-to-point link, don't attempt a comparison if the pointer to the
destination sockaddr is NULL (i.e. it has not been set/initialized).
1995-02-24 11:47:31 +00:00
dg
e28df6bcf2 Moved declaration of ifnet pointer out of the header file and into the
.c file where it belongs. Bezeroed some uninitialized malloc data.
1994-12-30 06:46:21 +00:00
wollman
b6bbe44f22 Add generic part of generic multiple-physical-interface support (the
successor of IFF_ALTPHYS).
1994-12-21 22:57:05 +00:00
guido
8dd509160f Remove redundant stuff. Amazing that they actually solved a bug found in
1.1.5.1, and oversaw this thang.
1994-11-10 18:49:23 +00:00
phk
e5088b2b47 Mostly Cosmetics. Some of the procedures in if_sl.c was void, but should
be int.  I made them int, and let them return 0.  Will have to find out
what the return-val is used for.
1994-10-08 01:40:23 +00:00
wollman
6f4ee647ff A number of bug-fixes inspired by Mark Treacy:
- Allow PPP to run multicasts natively.
- Deal properly with lots of similarly-named interfaces.
- Don't sign-extend if_flags.

NB: the last fix (to rtsock.c) must be reversed when we expand if_flags to a
reasonable size.

Submitted by:	Mark Treacy
1994-10-05 20:11:28 +00:00
phk
745f775e9f Made the kernel compile even without "ether". 1994-09-16 05:47:06 +00:00
wollman
90c36dbe96 Fix up some sloppy coding practices:
- Delete redundant declarations.
- Add -Wredundant-declarations to Makefile.i386 so they don't come back.
- Delete sloppy COMMON-style declarations of uninitialized data in
  header files.
- Add a few prototypes.
- Clean up warnings resulting from the above.

NB: ioconf.c will still generate a redundant-declaration warning, which
is unavoidable unless somebody volunteers to make `config' smarter.
1994-08-18 22:36:09 +00:00
dg
e7249ad526 On second thought, better restrict the mtu to between 72-65535...strange
things happen otherwise.
1994-08-08 11:43:44 +00:00
dg
efaa8ead0a Enforce the mtu to between the range 1-65535 before calling the driver
ioctl routine.
1994-08-08 10:58:30 +00:00
dg
b401ad320b Added ioctl support for SIOCGIFMTU and SIOCSIFMTU. These set the per-
interface MTU.
1994-08-08 10:49:26 +00:00
dg
07b8b5ff37 Added $Id$ 1994-08-02 07:55:43 +00:00
rgrimes
8fb65ce818 BSD 4.4 Lite Kernel Sources 1994-05-24 10:09:53 +00:00