freebsd-dev/sys/net
Joerg Wunsch 8d21ca78d9 (MFC candidate, see below).
When we get an Open event in stopped state, experience shows that this
is usually means we've somehow missed a previous Down event.  This has
occasionally bitten people for the IPCP layer with ISDN, apparently a
previously aborted IPCP negotiation must have caused this.  As a
bandaid, we quickly pretent a Down event by advancing to starting
state; this effectively implements the `restart' option mentioned in
RFC 1663.

While i'm not yet fully convinced this is the best thing to do (and is
fully compliant with RFC 1661), i've seen a number of reports here on
the German mailing lists where people have been bitten by the previous
behaviour which usually causes quickly looping ISDN reconnects (thus
loss of money...), and where just this patch fixes the problem.

For this, i'd even like to see it MFC'd if possible.

Submitted by:	Helmut Kreft <kreft@zeus.ai-lab.fh-furtwangen.de>
2001-03-23 19:51:12 +00:00
..
bpf_compat.h Small fix for bpf compat: 2000-12-27 22:20:13 +00:00
bpf_filter.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
bpf.c o Remove unnecessary jail() check in bpfopen() -- we limit device access 2001-02-21 05:34:34 +00:00
bpf.h The advent of if_detach, allowing interface removal at runtime, makes it 2000-03-19 05:42:34 +00:00
bpfdesc.h Add mutexes to the entire bpf subsystem to make it MPSAFE. 2001-02-16 17:10:28 +00:00
bridge.c Sync with the bridge/dummynet/ipfw code already tested in stable. 2001-02-10 00:10:18 +00:00
bridge.h MFS: bridge/ipfw/dummynet fixes (bridge.c will be committed separately) 2001-02-02 00:18:00 +00:00
bsd_comp.c Remove #if DO_DEFLATE 2000-10-27 08:38:26 +00:00
ethernet.h Const'ify parameters to ethers(3) routines as appropriate. 2000-07-18 22:44:52 +00:00
fddi.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
hostcache.c Use <sys/queue.h> macro api rather than fondle its implementation detals. 2001-02-03 11:46:35 +00:00
hostcache.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_arp.h Make the ng_ether(4) node type dynamically loadable like the rest. 2000-06-26 23:34:54 +00:00
if_atm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_atmsubr.c Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
if_disc.c Exterminate the use of PSEUDO_SET() with extreme prejudice. 2001-01-31 07:58:58 +00:00
if_dl.h The "sdl_family" field in a "struct sockaddr_dl" will be equal 2000-03-01 02:46:25 +00:00
if_ef.c Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
if_ethersubr.c Plug several mbuf leaks in error cases (in nd6) 2001-03-11 05:31:45 +00:00
if_faith.c Pull the rug from under the 'LKM Compatability' macro - PSEUDO_SET(). 2001-02-04 11:46:17 +00:00
if_fddisubr.c Plug several mbuf leaks in error cases (in nd6) 2001-03-11 05:31:45 +00:00
if_gif.c * Rename M_WAIT mbuf subsystem flag to M_TRYWAIT. 2000-12-21 21:44:31 +00:00
if_gif.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
if_ieee80211.h Add some additional message types for coming raylan driver from Duncan 2000-10-30 06:03:57 +00:00
if_iso88025subr.c - Add iso88025_ifdetach(). 2001-03-18 05:43:25 +00:00
if_llc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_loop.c Exterminate the use of PSEUDO_SET() with extreme prejudice. 2001-01-31 07:58:58 +00:00
if_media.c Protect against negative numbers as well 2001-02-26 09:52:43 +00:00
if_media.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_mib.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
if_mib.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_ppp.c Quieten gcc. 2001-01-31 08:27:09 +00:00
if_ppp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_pppvar.h Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_sl.c Exterminate the use of PSEUDO_SET() with extreme prejudice. 2001-01-31 07:58:58 +00:00
if_slvar.h The slip driver used to allocate a mbuf cluster without attaching 2000-08-18 08:02:31 +00:00
if_sppp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_spppsubr.c (MFC candidate, see below). 2001-03-23 19:51:12 +00:00
if_stf.c Use <sys/queue.h> macro api rather than fondle its implementation detals. 2001-02-03 11:46:35 +00:00
if_stf.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
if_tap.c Pass the minor number rather than the unit number to make_dev() 2001-02-02 03:32:25 +00:00
if_tap.h Add the tap driver. 2000-07-20 17:01:10 +00:00
if_tapvar.h Change to support vmware... SIOCSIFADDR on the character device 2000-07-25 23:50:30 +00:00
if_tun.c Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
if_tun.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_tunvar.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_types.h Fix if_types.h as per the IANA assignments with regard to IPv6. 2000-07-28 06:20:11 +00:00
if_var.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_vlan_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_vlan.c Fix another typo I missed on first reading: 2001-02-14 13:24:01 +00:00
if.c o Move per-process jail pointer (p->pr_prison) to inside of the subject 2001-02-21 06:39:57 +00:00
if.h o Move per-process jail pointer (p->pr_prison) to inside of the subject 2001-02-21 06:39:57 +00:00
intrq.c Insert entropy harvesting calls for network traffic. By 2001-02-18 17:54:52 +00:00
intrq.h Redo the intrq.c idea as 2000-01-27 23:37:39 +00:00
iso88025.h - Define payload length constants for 4Mbps and 16Mbps. 2001-03-18 05:41:07 +00:00
net_osdep.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
net_osdep.h Pull the rug from under the 'LKM Compatability' macro - PSEUDO_SET(). 2001-02-04 11:46:17 +00:00
netisr.h Remove the last of the MD netisr code. It is now all MI. Remove 2000-12-05 00:36:00 +00:00
pfil.c Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
pfil.h Replace nonexistent !defined(_LKM) by !defined(KLD_MODULE) 2000-08-01 00:40:32 +00:00
pfkeyv2.h sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
ppp_comp.h Remove bogus undocumented macros used to control conditional assembly. 2000-10-27 08:39:41 +00:00
ppp_deflate.c Remove #if DO_DEFLATE 2000-10-27 08:38:26 +00:00
ppp_defs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_tty.c * Rename M_WAIT mbuf subsystem flag to M_TRYWAIT. 2000-12-21 21:44:31 +00:00
radix.c Initialize rn_mklist in rn_newpair(). The undocumented assumption 2000-10-27 20:50:14 +00:00
radix.h A couple months ago, Kirk and I were doing a walkthrough of the radix-tree 2000-04-23 04:00:00 +00:00
raw_cb.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
raw_cb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
raw_usrreq.c Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
route.c net/route.c: 2001-03-15 14:52:12 +00:00
route.h When a connection is being dropped due to a listen queue overflow, 2000-07-21 23:26:37 +00:00
rtsock.c o Move per-process jail pointer (p->pr_prison) to inside of the subject 2001-02-21 06:39:57 +00:00
slcompress.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
slcompress.h Pass me the pointy hat. 2000-04-04 09:20:53 +00:00
slip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
zlib.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
zlib.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00