summaryrefslogtreecommitdiffstats
path: root/sys/dev/ar
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1997-05-19 22:03:09 +0000
committerjoerg <joerg@FreeBSD.org>1997-05-19 22:03:09 +0000
commit27ddec53f718ea168a222ceed081cd1a101b23a1 (patch)
treedfad88c2b1e9c2e4a0cded65e393e30e7e9ceffc /sys/dev/ar
parent13206dfe736ae31106bbaba0db80a492b5b38e67 (diff)
downloadFreeBSD-src-27ddec53f718ea168a222ceed081cd1a101b23a1.zip
FreeBSD-src-27ddec53f718ea168a222ceed081cd1a101b23a1.tar.gz
Major overhaul of the SyncPPP layer. Basically, this comprises now a
full implementation of the sate machine as described in RFC1661, and provides support for plugging in various control protocols. I needed this to provide PPP support for the BISDN project (right now). Unfortunatley, while the existing API was almost up to the point, i needed one minor API change in order to decouple the this-layer- started and this-layer-finished actions from the respective Up and Down events of the lower layer. This requires two additional lines in the attach routines of all existing lower layer interface drivers that are using syncPPP (shortcutting these actions and events). Apart from this, i believe i didn't change the API of all this, so everything should plug in without too many hassles. Please report if i broke something in the existing drivers. For a list of features (including new ones like dial-on-demand), and things still to be done, please refer to the man page i'll commit asap. Encouraged by: Serge Vakulenko <vak@cronyx.ru>
Diffstat (limited to 'sys/dev/ar')
-rw-r--r--sys/dev/ar/if_ar.c9
-rw-r--r--sys/dev/ar/if_ar_isa.c9
2 files changed, 16 insertions, 2 deletions
diff --git a/sys/dev/ar/if_ar.c b/sys/dev/ar/if_ar.c
index a0fad0f..8e5c384 100644
--- a/sys/dev/ar/if_ar.c
+++ b/sys/dev/ar/if_ar.c
@@ -28,7 +28,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: if_ar.c,v 1.14 1997/02/22 09:36:15 peter Exp $
*/
/*
@@ -349,6 +349,13 @@ arattach(struct isa_device *id)
sppp_attach((struct ifnet *)&sc->ifsppp);
if_attach(ifp);
+ /*
+ * Shortcut the sppp tls/tlf actions to up/down events
+ * since our lower layer is always ready.
+ */
+ sc->ifsppp.pp_tls = sc->ifsppp.pp_up;
+ sc->ifsppp.pp_tlf = sc->ifsppp.pp_down;
+
#if NBPFILTER > 0
bpfattach(ifp, DLT_PPP, PPP_HEADER_LEN);
#endif
diff --git a/sys/dev/ar/if_ar_isa.c b/sys/dev/ar/if_ar_isa.c
index a0fad0f..8e5c384 100644
--- a/sys/dev/ar/if_ar_isa.c
+++ b/sys/dev/ar/if_ar_isa.c
@@ -28,7 +28,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id$
+ * $Id: if_ar.c,v 1.14 1997/02/22 09:36:15 peter Exp $
*/
/*
@@ -349,6 +349,13 @@ arattach(struct isa_device *id)
sppp_attach((struct ifnet *)&sc->ifsppp);
if_attach(ifp);
+ /*
+ * Shortcut the sppp tls/tlf actions to up/down events
+ * since our lower layer is always ready.
+ */
+ sc->ifsppp.pp_tls = sc->ifsppp.pp_up;
+ sc->ifsppp.pp_tlf = sc->ifsppp.pp_down;
+
#if NBPFILTER > 0
bpfattach(ifp, DLT_PPP, PPP_HEADER_LEN);
#endif
OpenPOWER on IntegriCloud