summaryrefslogtreecommitdiffstats
path: root/sys/net/if_sppp.h
Commit message (Collapse)AuthorAgeFilesLines
* Stop embedding struct ifnet at the top of driver softcs. Instead thebrooks2005-06-101-2/+3
| | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
* /* -> /*- for license, minor formatting changesimp2005-01-071-1/+2
|
* Add FR support to sppp (MFCronyx).rik2004-12-281-2/+13
| | | | | | | | | | Silence on: net@, current@, hackers@. No objections: joerg Requested by: by many (mostly Cronyx) users for a long long time. MFC after: 10 days PR: kern/21771, kern/66348
* Make sppp MPSAFE.rik2004-12-121-2/+8
| | | | | | | MPSAFE could be turned off by IFF_NEEDSGIANT. Silence on: net@, current@, hackers@. No objections: joerg
* Implement an option to administratively disable the negotiation ofjoerg2001-12-301-1/+10
| | | | | | | | | | | | | | | | | IPv6 on an sppp interface. In an IPv6-enabled kernel, every IPv6 interface automatically gets an IPv6 address assigned (and IPv6 multicast packets sent at initialization time). For sppp links where we know our remote peer wouldn't support IPv6 at all, there's no point in attempting to negotiate IPV6CP (or to even dial out for an IPv6 packet at all for dial-on-demand interfaces). I wish there were a more generic way to administratively disable IPv6 on an interface instead. ume told me there isn't. While i was at it, converted both, enable_vj and enable_ipv6 into flag bits in struct sppp (enable_vj used to be an int of its own). MFC after: 1 month
* Bump AUTHNAMELEN to 64. Should probably be made dynamic instead.joerg2001-12-301-1/+1
|
* Fix my breakage to the low-level hardware sync drivers brought by thejoerg2001-12-281-1/+1
| | | | | | | | | | | | inclusion of VJ compression into sppp. Now, instead of the need to include this and that and everything plus the kitchensink in each of those drivers, struct sppp uses struct slcompress as an opaque structure only referenced by a pointer. The actual structure is then malloced at initialization time. While i was at it, also fixed a bug where received VJ packets would only be recognized if INET6 was defined.
* Implement timestamps so i4b/driver/i4b_isppp.c can derive the idlejoerg2001-12-281-0/+2
| | | | | | | | | | | | time from the PPP packets sent. This effectively merges rev 1.2 of the old i4b_ispppsubr.c, with the exception that i eventually ended up in debugging and fixing it so the idle time is now really detected. ;-) (The version in i4b simply doesn't work right since it still accounts for incoming LCP echo packets which it is supposed to ignore for idle time considerations...) Obtained from: i4b MFC after: 1 month
* Break out the relevant fields from struct sppp into a structjoerg2001-12-271-25/+43
| | | | | | | | | | | | sppp_parms that are needed for the SPPPIO[GS]DEFS ioctl commands. This allows it to keep struct sppp inside #ifdef _KERNEL (where it belongs), and prevents userland programs that wish to include <net/if_sppp.h> from including the earth, the hell, and the universe before the are able to resolve all the kernel-internal stuff that's in struct sppp. Discussed with: hm MFC after: 1 month
* Implement VJ header compression for sppp.joerg2001-12-271-0/+5
| | | | | | | | | | This is the logical merge of rev 1.32 of i4b's old if_spppsubr.c (which was based on PR misc/11767), plus (i4b) rev 1.6 of i4b's if_ispppsubr.c, albeit with numerous stylistic and cosmetic changes. PR: misc/11767 Submitted by: i4b, Joachim Kuebart MFC after: 1 month
* Fix some pseudo-enumeration constants in the IPv6 implementation sojoerg2001-12-261-2/+2
| | | | | | | they are unique and thus actually usable as flagbits. I wonder how it even worked so far... MFC after: 1 week
* Sync with recent KAME.ume2001-06-111-4/+10
| | | | | | | | | | | | | | | | | | This work was based on kame-20010528-freebsd43-snap.tgz and some critical problem after the snap was out were fixed. There are many many changes since last KAME merge. TODO: - The definitions of SADB_* in sys/net/pfkeyv2.h are still different from RFC2407/IANA assignment because of binary compatibility issue. It should be fixed under 5-CURRENT. - ip6po_m member of struct ip6_pktopts is no longer used. But, it is still there because of binary compatibility issue. It should be removed under 5-CURRENT. Reviewed by: itojun Obtained from: KAME MFC after: 3 weeks
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-1/+1
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* rganize the various modes (CISCO/AUTO/DEMAND/LEASED) a little bit better,phk1999-03-301-3/+3
| | | | | | centralize the code. Remember to call TLF/TLS on the hardware in CISCO mode.
* Update sppp support to i4b level. This includes the new spppcontrolphk1998-12-271-2/+11
| | | | program to set PPP options like authentication with.
* Add two fields for the lower layers convenience.phk1998-12-201-1/+5
|
* (almost) null commit, recording message for previous commit:phk1998-12-111-4/+4
| | | | | | | s/_NET_IF_HDLC_H_/_NET_IF_SPPP_H_/ Unfold almost correct and hideous beyond reason, boolean expression, making it more correct at the same time.
* *** empty log message ***phk1998-12-111-4/+4
|
* Fixed yet more ioctl breakage due to the type of the `cmd' arg changingbde1998-08-151-2/+2
| | | | from int to u_long but not changing here.
* Jumbo patch to implement PAP and CHAP for sppp(4). Partially based onjoerg1997-10-111-5/+50
| | | | | Serge's (Cronyx's) code in the vendor branch. (FR support not yet merged.)
* Update for new callout interface.gibbs1997-09-211-1/+2
|
* Introduce a third queue per interface, serving only PPP controljoerg1997-05-221-1/+2
| | | | | protocol packets. This queue is the only one being enabled until network phase has been reached.
* Major overhaul of the SyncPPP layer. Basically, this comprises now ajoerg1997-05-191-18/+62
| | | | | | | | | | | | | | | | | | | | | 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>
* Fix a bunch of spelling errors in the comment fields ofmpp1996-01-301-1/+1
| | | | a bunch of system include files.
* Another mega commit to staticize things.phk1995-12-141-2/+0
|
* This upgrades the driver for Cronyx-Sigma multiplexor boardsjkh1995-10-041-4/+7
| | | | | from version 1.2 to version 1.9. Submitted by: Serge Vakulenko, <vak@cronyx.ru>
* Cronyx/Sigma sync/async serial driver with PPP supportwollman1994-12-021-0/+70
from Serge Vakulenko
OpenPOWER on IntegriCloud