#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
234263 |
|
14-Apr-2012 |
eadler |
MFC r230347: Fix warning when compiling with gcc46: error: variable 'addrs' set but not used
Approved by: cperciva (implicit)
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
218397 |
|
07-Feb-2011 |
brian |
Add "iface name" and "iface description" commands.
PR: 151400 Submitted by: Aragon Gouveia - aragon at phat dot za dot net with minor fixes MFC after: 3 weeks
|
#
191006 |
|
13-Apr-2009 |
bz |
In case the peer address was already configured on the interface we were not properly handling proxy arp. Make sure we (try to) add the proxy arp entry/entries in this case as well.
PR: bin/131250 Submitted by: loos.br gmail.com (Luiz Otavio O Souza) MFC after: 3 days
|
#
139977 |
|
10-Jan-2005 |
brian |
ifr_flagshigh is FreeBSD specific
|
#
134789 |
|
04-Sep-2004 |
brian |
Make ppp WARNS=5 clean
|
#
113067 |
|
04-Apr-2003 |
ume |
Set link-local address of tun interface with prefixlen = 64 instead of 128. It makes RA happy.
Reported by: rafa@dif.um.es, SHIRASAKI Yasuhiro <yasuhiro@nttv6.jp> Reviewed by: SHIRASAKI Yasuhiro <yasuhiro@nttv6.jp> MFC after: 1 week
|
#
102574 |
|
29-Aug-2002 |
sobomax |
Correctly handle ifr.ifr_flags/ifr.ifr_flagshigh like ifconfig(8) does.
MFC after: 1 day
|
#
102500 |
|
27-Aug-2002 |
brian |
Include the correct file (stdarg.h) and use va_list rather than _BSD_VA_LIST_
Suggested by: mike
|
#
98243 |
|
15-Jun-2002 |
brian |
Remove whitespace at the end of lines.
|
#
96582 |
|
14-May-2002 |
brian |
o Clean up some #includes o Bump version number to 3.0.4 o When talking to a RADIUS server, provide a NAS-Port-Type.
When the NAS-Port-Type is Ethernet, provide a NAS-Port value equal to the SESSIONID from the environment in direct mode or the NGM_PPPOE_SESSIONID message in other modes. If no SESSIONID is found, default to the interface index in client mode or zero in server mode.
When the NAS-Port-Type is ISDN, set the NAS-Port to the minor number of the physical device (ie, the N in /dev/i4brbchN).
This makes it easier for the RADIUS server to identify the client WRT accounting data etc.
Prompted by: lsz8425 <lsz8425@mail.cd.hn.cn>
|
#
89422 |
|
16-Jan-2002 |
brian |
socket()s first argument should be a protocol family rather than an address family.
|
#
87127 |
|
30-Nov-2001 |
brian |
Pay attention to failures to SIOCAIFADDR and SIOCDIFFADDR.
|
#
87125 |
|
30-Nov-2001 |
brian |
Add some DEBUG logging to tell us when interface addresses are being added and removed
|
#
85991 |
|
03-Nov-2001 |
brian |
Add a ``log'' command for logging specific information. Add an ``UPTIME'' variable to indicate the bundle uptime.
It's now possible to put something like this in ppp.linkdown for a server setup:
MYADDR: log Session closing: User USER, address HISADDR, up UPTIME
Fixed some memory leakage with commands that expand words. Made some functions static. Fixed a diagnostic bug (iface add .... SIOCDIFADDR)
|
#
82437 |
|
27-Aug-2001 |
brian |
Some cosmetic changes to sync with OpenBSD
|
#
82048 |
|
21-Aug-2001 |
brian |
o Enable IFF_MULTICAST when first opening the tun device (and keep the flag when we ioctl(TUNSIFINFO) under OpenBSD) o Don't bring the interface up immediately o Don't complain about unrecognised interface flags in ``show iface''.
|
#
81959 |
|
20-Aug-2001 |
brian |
Properly change old interface addresses so that their destination is 255.255.255.255 if our new destination address conflicts.
|
#
81922 |
|
19-Aug-2001 |
brian |
Avoid a compiler warning
Not spotted by: FreeBSD's gcc version 2.95.3 20010315 (release) Spotted by: OpenBSD's gcc version 2.95.3 20010125 (prerelease)
|
#
81695 |
|
15-Aug-2001 |
brian |
Don't show a prefixlen when a destination address is present in ``show iface''.
|
#
81634 |
|
14-Aug-2001 |
brian |
o Add ipv6 support, abstracting most NCP addresses into opaque structures (well, they're treated as opaque).
It's now possible to manage IPv6 interface addresses and routing table entries and to filter IPV6 traffic whether encapsulated or not.
IPV6CP support is crude for now, and hasn't been tested against any other implementations.
RADIUS and IPv6 are independent of eachother for now.
ppp.linkup/ppp.linkdown aren't currently used by IPV6CP
o Understand all protocols(5) in filter rules rather than only a select few.
o Allow a mask specification for the ``delete'' command. It's now possible to specifically delete one of two conflicting routes.
o When creating and deleting proxy arp entries, do it for all IPv4 interface addresses rather than doing it just for the ``current'' peer address.
o When iface-alias isn't in effect, don't blow away manually (via ``iface add'') added interface addresses.
o When listening on a tcp server (diagnostic) socket, bind so that a tcp46 socket is created -- allowing both IPv4 and IPv6 connections.
o When displaying ICMP traffic, don't display the icmp type twice. When display traffic, display at least some information about unrecognised traffic.
o Bump version
Inspired after filtering work by: Makoto MATSUSHITA <matusita@jp.FreeBSD.org>
|
#
78410 |
|
18-Jun-2001 |
brian |
Handle hardware-imposed MTU/MRU limitations. PPPoE will no longer allow MRU/MTU negotiations to exceed 1492.
Add an optional ``max'' specifier to ``set m[rt]u'', ie.
set mtu max 1480
Bump the ppp version number.
Sponsored by: Monzoon Networks AG and FreeBSD Services Limited
|
#
76214 |
|
02-May-2001 |
brian |
Handle situations where we've already got a P2P interface address of a/x -> b and then negotiate a/x -> c by simply expecting SIOCAIFADDR to do the change.
This was broken by the last commit that optimised out the deletion and re-addition of the same a/x -> b combination, and forgot to compare the old/new destination addresses.
Conveniently enough, this problem didn't effect setups where the default route goes via the ppp link, and most other setups don't care what the the destination address is actually set to. It broke test environments where ppp connects to the local machine rather badly though....
|
#
75121 |
|
03-Apr-2001 |
brian |
Be a bit more persistent when the NET_RT_IFLIST sysctl returns ENOMEM rather than dropping out immediately.
|
#
74916 |
|
28-Mar-2001 |
brian |
Bring the PPPoE interface UP if required
Suggested by: archie
|
#
74765 |
|
24-Mar-2001 |
brian |
If we're adding an interface address that is already one of the interface's aliases with the same netmask and destination, don't remove it and then re-add exactly the same thing.
This means that static (non-sticky) routes that use the interface address (or destination address) as a destination will not suddenly evaporate when IPCP comes up (not unless the negotiated IPs have changed anyway).
|
#
69433 |
|
01-Dec-2000 |
brian |
Mention the MTU in ``show iface''.
|
#
61830 |
|
19-Jun-2000 |
brian |
Don't mis-match interface names in iface_Create()
Submitted by: Adrian Penisoara <ady@freebsd.ady.ro>
|
#
58032 |
|
13-Mar-2000 |
brian |
The interface list that comes back from the PF_ROUTE/NET_RT_IFLIST mib is aligned. Teach this to ``show route''.
Clean up some of the sockaddr parsing routines.
|
#
55531 |
|
07-Jan-2000 |
brian |
Don't set ifaddr::in_addrs to 1 after an ``iface clear'' on an interface with no addresses.
|
#
52396 |
|
19-Oct-1999 |
brian |
Add the -unit command line switch for specifying the tun device. Warn about -alias being depricated (but still allow it). Don't moan twice about failing to open any tun device. Fix a diagnostic and add the -quiet switch to the usage message.
|
#
52315 |
|
16-Oct-1999 |
brian |
Correct a few diagnostics
|
#
51517 |
|
21-Sep-1999 |
brian |
Back out the bogus #ifdef __NetBSD__ #include <signal.h> lines. The original report was due to a mis-installation of the NetBS header files :-/
Submitted by: Kazuyoshi Kato <kazk@yyy.or.jp>
|
#
51449 |
|
20-Sep-1999 |
brian |
NetBSD has moved ``extern int errno;'' to signal.h :-/
Submitted by: Kazuyoshi Kato <kazk@yyy.or.jp>
|
#
50479 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
47648 |
|
31-May-1999 |
brian |
Remember if MYADDR or HISADDR is used in a filter add tweak all filters any time either value changes.
|
#
47538 |
|
27-May-1999 |
brian |
Move the code for tweaking interface flags into one function.
|
#
46686 |
|
08-May-1999 |
brian |
o Redesign the layering mechanism and make the aliasing code part of the layering.
We now ``stack'' layers as soon as we open the device (when we figure out what we're dealing with). A static set of `dispatch' routines are also declared for dealing with incoming packets after they've been `pulled' up through the stacked layers.
Physical devices are now assigned handlers based on the device type when they're opened. For the moment there are three device types; ttys, execs and tcps.
o Increment version number to 2.2 o Make an entry in [uw]tmp for non-tty -direct invocations (after pap/chap authentication). o Make throughput counters quad_t's o Account for the absolute number of mbuf malloc()s and free()s in ``show mem''. o ``show modem'' becomes ``show physical''.
|
#
46085 |
|
26-Apr-1999 |
brian |
#include <errno.h>, not <sys/errno.h>
|
#
43313 |
|
27-Jan-1999 |
brian |
Initial RADIUS support (using libradius). See the man page for details. Compiling with -DNORADIUS (the default for `release') removes support.
TODO: The functionality in libradius::rad_send_request() needs to be supplied as a set of routines so that ppp doesn't have to wait indefinitely for the radius server(s). Instead, we need to get a descriptor back, select() on the descriptor, and ask libradius to service it when necessary. For now, ppp blocks SIGALRM while in rad_send_request(), so it misses PAP/CHAP retries & timeouts if they occur.
Only PAP is functional. When CHAP is attempted, libradius complains that no User-Password has been specified... rfc2138 says that it *mustn't* be used for CHAP :-(
Sponsored by: Internet Business Solutions Ltd., Switzerland
|
#
40664 |
|
26-Oct-1998 |
brian |
Fix the interface alias code. Previously, I was expecting something like
tun0: flags=blah 10.0.0.1 -> 10.0.0.100 10.0.0.2 -> 10.0.0.100 10.0.0.3 -> 10.0.0.100
to DTRT, despite the SIOCAIFADDR for each new alias returning -1 & EEXIST while adding the alias anyway. In real life, once we have the second alias with the same destination, nothing will route any more ! Also, because I was ignoring EEXIST, the dynamic IP assignment code was assigning duplicate addresses ('cos it was being lied to by iface_inAdd()).
Now we have
tun0: flags=blah 10.0.0.1 -> 255.255.255.255 10.0.0.2 -> 10.0.0.100 10.0.0.3 -> 255.255.255.255
This works - stuff bound to 10.1 & 10.3 will be considered alive by the kernel, and when they route back to the tun device, the packets get aliased to 10.2 and go out to 10.100 (as with the original plan).
We still see the EEXIST in SIOCAIFADDR, but ignore it when our destination is 255.255.255.255, assuming that the alias *was* actually added.
Additionally, ``iface add'' may now optionally be given only the interface address. The mask & destination default to 255.255.255.255.
|
#
40561 |
|
22-Oct-1998 |
brian |
Solve the ``first connection'' problem that occurs on demand-dial links with dynamic IP numbers where the program that causes the dial bind()s to an interface address that is subsequently changed after ppp negotiation.
The problem is defeated by adding negotiated addresses to the tun interface as additional alias addresses and providing a set of ``iface'' commands for managing the interface. Libalias is also required (and what a name clash!) - it happily IP-aliases the address so that the source is that of the primary (negotiated) interface and un-IP-aliases it on the way back.
An ``enable iface-alias'' is done implicitly by the -alias command line switch. If -alias isn't given, iface-aliasing is disabled by default and can't be enabled 'till an ``alias enable yes'' is done. ``alias enable no'' silently disables iface-alias.
So, for dynamic-IP-type-connections, running ``ppp -alias -auto blah'' will work for the first connection, although existing bindings will not survive a disconnect/connect as the TCP peer will be trying to send to the old IP address - the packets won't route.
It's now a lot easier to add IPXCP to ppp with minor updates to the new iface.[ch] (if anyone ever gets 'round to it).
It's also now possible to manually add interface aliases with something like ``iface add 1.2.3.4/24 5.6.7.8''. This allows multi-homed ppp links :-)
|