Commit Graph

59 Commits

Author SHA1 Message Date
ume
d47422989e if no address is setted, do not call ioctl(SIOCAIFADDR)
Obtained from:	KAME
2001-02-21 18:15:18 +00:00
ache
00d9acaf95 Add missing && which absense stops 'make world' 2000-11-30 23:01:43 +00:00
luigi
4be44d4baa remove an undefined reference when no VLAN support is compiled in. 2000-11-30 21:35:09 +00:00
ume
a58a1e8b3f Add missing initialization for IPv6 address lifetime.
PR:		misc/22884
Obtained from:	KAME
2000-11-27 08:44:57 +00:00
archie
b16240b827 Show the actual command line usage in the man page and usage error string. 2000-07-19 17:24:53 +00:00
archie
e58c321b82 Make "ifconfig" with no arguments equivalent to "ifconfig -a". 2000-07-18 22:07:31 +00:00
jhb
16f88d4b69 Add support to the 'ether' address family to support setting of addresses.
This allows you to set ether addresses with 'ifconfig ether'.  Also, use
some saner socket address families that allow several special case tests
to be removed.
2000-07-12 16:41:47 +00:00
wpaul
82e4a377a3 Implement SIOCSIFLLADDR, which allows you to change the link-level
address on an interface. This basically allows you to do what my
little setmac module/utility does via ifconfig. This involves the
following changes:

socket.h: define SIOCSIFLLADDR
if.c: add support for SIOCSIFLLADDR, which resets the values in
      the arpcom struct and sockaddr_dl for the specified interface.
      Note that if the interface is already up, we need to down/up
      it in order to program the underlying hardware's receive filter.
ifconfig.c: add lladdr command
ifconfig.8: document lladdr command

You can now force the MAC address on any ethernet interface to be
whatever you want. (The change is not sticky across reboots of course:
we don't actually reprogram the EEPROM or anything.) Actually, you
can reprogram the MAC address on other kinds of interfaces too; this
shouldn't be ethernet-specific (though at the moment it's limited to
6 bytes of address data).

Nobody ran up to me and said "this is the politically correct way to
do this!" so I don't want to hear any complaints from people who think
I could have done it more elegantly. Consider yourselves lucky I didn't
do it by having ifconfig tread all over /dev/kmem.
2000-06-16 20:14:43 +00:00
peter
76def55630 Purely cosmetic tweak, use consistant whitespace with scopeid. 2000-03-06 05:29:56 +00:00
shin
ce0f910200 Print scope id for scoped addrs.
Approved by: jkh
2000-02-28 18:38:19 +00:00
rwatson
ccbd17ca87 Introduce `add'' and remove'' as alternatives to alias'' and `delete''.
Improve compatibility with BSD/OS, and also more accurately reflect that
IP aliases aren't really any different than the primary IP address on an
interface.

Reviewed by:	dcs
Approved by:	jkh
2000-02-26 18:55:39 +00:00
shin
681d6b5c31 Support IPv6 scoped addr in ifconfig and route
IPv6 scoped addr display is not yet supported by ifconfig
   and route. Now almost of IPv6 apps support it, so its support
   in ifconfig and route is important to keep consisetncy, and
   to avoid user confusion.

Approved by: jkh
2000-02-10 03:03:09 +00:00
ru
a40df25abf - do not dereference a null pointer.
- minor sanity.

PR:		15318
1999-12-29 13:53:13 +00:00
billf
73b591d0a1 Spelling correction (adress -> address) 1999-12-16 01:05:48 +00:00
shin
70f0bdf681 udp IPv6 support, IPv6/IPv4 tunneling support in kernel,
packet divert at kernel for IPv6/IPv4 translater daemon

This includes queue related patch submitted by jburkhol@home.com.

Submitted by: queue related patch from jburkhol@home.com
Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project
1999-12-07 17:39:16 +00:00
msmith
4d16916f80 If we don't appear to have a module loaded supporting the interface
we're about to operate on, try to load one.  Don't complain if the
load fails, and always press on regardless (there may not be a module
suitable or required).

With the renaming of the PCI ethernet driver modules and the addition
of appropriate miibus dependancies on those modules that need it, it is
now no longer necessary to compile many ethernet drivers into the kernel;
they will be loaded on demand the first time they are ifconfig'ed.

Inspiration from: mount
Reviewed by:	obrien
1999-09-20 07:58:08 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
phk
ff77319196 Move the IFSTATUS stuff after the address listing. 1999-06-19 20:07:24 +00:00
phk
1048fa7301 Add a new interface ioctl, to return "aux status".
This is inteded for to allow ifconfig to print various unstructured
information from an interface.

The data is returned from the kernel in ASCII form, see the comment in
if.h for some technicalities.

Canonical cut&paste example to be found in if_tun.c

Initial use:
        Now tun* interfaces tell the PID of the process which opened them.

Future uses could be (volounteers welcome!):
        Have ppp/slip interfaces tell which tty they use.
        Make sync interfaces return their media state: red/yellow/blue
        alarm, timeslot assignment and so on.
        Make ethernets warn about missing heartbeats and/or cables
1999-06-19 18:42:31 +00:00
phk
0098c16802 Introduce IFF_SMART bit.
This means that the driver will add/delete routes when it knows it is
up/down, rather than have the generic code belive it is up if configured.

This is probably most useful for serial lines, although many PHY chips
could probably tell us if we're connected to the cable/hub as well.
1999-06-06 09:17:51 +00:00
wpaul
a1b49dc152 Grrr... botched remote commit. Let's try this again: vlan updates,
take two.
1999-03-15 01:22:01 +00:00
phk
71eadd074a unifdef -UISO
Inspired by bdes comment to PR: 7419
1998-08-07 06:36:53 +00:00
bde
170787cd28 ioctl() request args are unsigned longs, so don't attempt to store
them as ints.  Among other bugs, doing so at best caused benign
overflow followed by fatal sign extension on machines with 32-bit
ints and 64-bit longs.
1998-07-06 19:54:39 +00:00
charnier
dde477ffbb Update man page to allow adding address_family when -l is used (this is a no op
for now). Correct use of .Nm. Short usage string (see man page for full list).
Spelling.  Use err(3).
1998-07-06 06:53:43 +00:00
eivind
7be3e77c0a Make 'ifconfig -l ether' only list Ethernet interfaces. This is
useful, intuitive, and match the old comments in the source.
Previously, 'ifconfig -l ether' and 'ifconfig -l' were equal.
1998-03-19 20:58:45 +00:00
imp
ec6e7a3cf8 style(9) corrections
Submitted by:	bde
1997-12-26 23:28:17 +00:00
imp
fb787b8d6a Be extra paranoid about trusting the size of the address returned from
gethostbyaddr.
Submitted by:	Julian Assange
1997-12-24 00:57:41 +00:00
steve
668d29bd1f Fix a misleading comment.
PR:		bin/4861
Submitted by:	Alex <garbanzo@hooked.net>
1997-10-27 03:28:44 +00:00
peter
12c811026a Make the supported media info output the default.
The -m switch is now accepted for backwards compatability.

Suggested by: davidg
1997-10-16 03:55:29 +00:00
peter
ef73892b1a Clean up some more. Move parsing of sysctl iflist data into a single
place rather than updating the main loop's index variables from within
a subroutine and other revolting things like that.  Move some more
globals into local variables.
1997-05-10 17:14:53 +00:00
peter
6f36e2eccf Grumble.. My last patchup here didn't quite work either. I hate this
program and it's use of global variables.  Somehow, I managed to miss the
most obvious case.. "ifconfig ed0 10.0.0.1" failed (no "inet")

Submitted by: dfr
1997-05-10 14:47:35 +00:00
peter
c54176b4c3 Restore unintentially lost backwards compat behavior of defaulting to
family inet if not specified.  (eg: "ifconfig ed0" down would fail because
no family was specified, even though the up/down status is not per family)

Pointed out by: Wolfgang Helbig <helbig@MX.BA-Stuttgart.De>
1997-05-07 04:28:26 +00:00
peter
54b5e92f49 Commit hooks for ifmedia support. It's optional in the Makefile, and
can be trivially disabled.
1997-05-04 06:27:45 +00:00
peter
c2cd7da05d Second try at cleanups and fixes (without if_media stuff for the moment)
- parse command options using getopt for consistancy
- sanitise the command parsing so that it's less like spaghetti
- implement a "-l" option (idea from NetBSD - just list names)
- attempt to clean up the sysctl parsing loop some more.  It still needs
  to be taken out the back and shot though.
- cut down on global usage, but there's a lot more scope for this.
- make usage string a bit closer to reality (it was missing lots of things)

Unfortunately, I did this for the second time but with the memory of
the NetBSD version still recently in my mind.  It's hard to redo simple
changes or getopt stuff without making it look like what you've been
working with a few hours ago.
1997-05-04 06:14:47 +00:00
peter
2c9c5546d4 force null commit to skip over rev 1.25 so there's less cvs trouble 1997-05-04 06:00:27 +00:00
peter
4968036f61 Revert $FreeBSD$ to $Id$ 1997-02-22 14:40:44 +00:00
jkh
808a36ef65 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
5972643f58 Update to match changes in <net/if.h>. 1997-01-03 20:19:50 +00:00
wollman
d3ecee07b3 Fix up programs which expect <net/if.h> to include <sys/time.h> to instead
do it themselves.  (Some of these programs actually depended on this
beyond compiling the definition of struct ifinfo!)  Also fix up some
other #include messes while we're at it.
1996-12-10 17:11:53 +00:00
wollman
1ee570ecc1 Fix lots of non-bug questionable code:
- Don't link against libkvm and don't uselessly include <kvm.h>.
- Declare constant objects as const.
- Declare functions with the correct types.
- Call functions with the correct parameters.

Not fixed:

- The sysctl parsing remains ugly (but it may be the best we can do).
- atnetrange() should use strtoul() rather than sscanf() for better
  error checking.
1996-11-21 19:36:09 +00:00
julian
d7d8eed5bb Get rid of an unexpectedly bogus sanity check under appletalk because
it stopped us from removing or setting loopback address
on lo0:

also make use of the fact the athe sockaddre_at struct now has a "netrange"
field.

CVS ----------------------------------------------------------------------
1996-09-04 19:41:31 +00:00
julian
7805978130 Submitted by: archie@whistle.com
appletalk cleanups
1996-07-23 01:18:47 +00:00
alex
b3eaec8941 Grammar fix described by wollman in response to PR 1363. 1996-07-14 17:51:08 +00:00
julian
37f1fda73b Submitted by: Archie@whistle.com
Obtained from: Whistle Communications
patches to allow ifconfig to work with appletalk addresses etc.
1996-07-09 02:38:13 +00:00
wollman
379b9b388f XNS sort-of-support is no more. 1996-02-13 17:30:37 +00:00
wollman
61d8d8e40b Remove support for OSI networking in user-land (#ifdef OSI aor CCITT)
in preparation for its removal from the kernel source tree.  NB: because
a function was deleted, libc is now at version 3.0 (was 2.2 previously).
1996-02-06 20:36:15 +00:00
ache
26ca6e5147 Add missing comma in usage printf 1996-01-30 17:38:45 +00:00
peter
250a8d27d3 Yet another "fix" for some of the mistakes in the recent versions..
I discovered that when asking for the IFLIST via sysctl(), if you
specify only AF_INET address, it actually gives you only AF_INET..
(suprise, suprise..!)

Now, it should "do the right thing" in just about all cases...  The only
problem, is that "the right thing" isn't exactly clear in all cases.
1996-01-08 10:23:25 +00:00
peter
bb732328ce Fix some of my mistakes, slight cleanup, improve reliability (the old
ifconfig would segfault on "ifconfig ed0 ether up" and the like).

The main reason for this commit was that an "ifconfig -a" would also show
the AF_INET addresses in AF_IPX form (if the kernel was configured for IPX)
due to insufficient AF checking in my "new way" of doing it.
1996-01-08 03:46:27 +00:00
peter
76ccec8b12 My really ugly hack to ifconfig to make it pick up interface aliases
and the ethernet address for non-root users.

I apologise to the world for propagating the ugliness of some of the code
constructs within ifconfig...  Fixing them would just abou mean rewriting
most of the function call interfaces, something I didn't have the stomach
for. :-)
1996-01-01 09:05:22 +00:00