Date: Sat, 27 Oct 2001 18:06:51 +0400 From: Roman Kurakin <rik@cronyx.ru> To: freebsd-net@FreeBSD.org Cc: Serge Vakulenko <vak@cronyx.ru>, mike@FreeBSD.org, freebsd-bugs@FreeBSD.org, julian@FreeBSD.org, archie@FreeBSD.org, joerg@FreeBSD.org, rik@cronyx.ru Subject: kern/11238, kern/14848, kern/21771, sppp patch's patch_id #1 Message-ID: <3BDABF7B.4060808@cronyx.ru> References: <000901c1134b$827a69a0$48b5ce90@crox>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------090906090208020507000109 Content-Type: text/plain; charset=windows-1251; format=flowed Content-Transfer-Encoding: 7bit Hi, This is the first patch of set of patches that I plan to make. These patches ware send several times as a big patch and last one wasn't even discussed. So I will try to send them by small pieces and will try to comment them. Last one big patch was kern/21771. Last our version of sppp and adapter drivers could be found at http://www.cronyx.ru/software/ First portion contains following changes: 1) Just a header changes. 2) Changes like that: case STATE_CLOSING: - sppp_cp_change_state(cp, sp, STATE_CLOSED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_CLOSED); break; Comment: If you change state at first and then call tlf you will get wrong final state cause tlf will lead to "Close" event and you will get (for this example) final state "Initial". In some cases this isn't so fatal but in other this will put out of action a link. All this changes was made according to RFC1661. Best regards, Roman Kurakin, Software Engineer, Cronyx Engineering >>Synopsis: Frame Relay support, corrected >> >>State-Changed-From-To: open->suspended >>State-Changed-By: mike >>State-Changed-When: Fri Jul 20 19:54:47 PDT 2001 >>State-Changed-Why: >> >>With a little bit of work, this could probably be committed. >>Awaiting committer. >> >>http://www.FreeBSD.org/cgi/query-pr.cgi?pr=14848 >> > --------------090906090208020507000109 Content-Type: text/plain; name="sppp1.pch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="sppp1.pch" --- if_spppsubr.c.orig Sat Oct 27 16:37:21 2001 +++ if_spppsubr.c Sat Oct 27 16:56:32 2001 @@ -1,13 +1,21 @@ /* - * Synchronous PPP/Cisco link level subroutines. + * Synchronous PPP/Cisco/Frame Relay link level subroutines. * Keepalive protocol implemented in both Cisco and PPP modes. + * ANSI T1.617-compaible link management signaling + * implemented for Frame Relay mode. + * Cisco-type Frame Relay framing added, thanks Alex Tutubalin. + * Only one DLCI per channel for now. * - * Copyright (C) 1994-1996 Cronyx Engineering Ltd. + * Copyright (C) 1994-2001 Cronyx Engineering Ltd. * Author: Serge Vakulenko, <vak@cronyx.ru> * * Heavily revamped to conform to RFC 1661. * Copyright (C) 1997, Joerg Wunsch. * + * Slightly revamped to conform to real life. + * Copyright (C) 1999-2001 Cronyx Engineering Ltd. + * Author: Kurakin Roman, <rik@cronyx.ru> + * * This software is distributed with NO WARRANTIES, not even the implied * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * @@ -222,7 +230,7 @@ u_short time0; u_short time1; }; -#define CISCO_PACKET_LEN 18 +#define CISCO_PACKET_LEN 14 /* * We follow the spelling and capitalization of RFC 1661 here, to make @@ -1532,12 +1540,12 @@ case STATE_ACK_SENT: break; case STATE_CLOSING: - sppp_cp_change_state(cp, sp, STATE_CLOSED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_CLOSED); break; case STATE_STOPPING: - sppp_cp_change_state(cp, sp, STATE_STOPPED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_STOPPED); break; case STATE_ACK_RCVD: sppp_cp_change_state(cp, sp, STATE_REQ_SENT); @@ -1850,8 +1858,8 @@ case STATE_CLOSING: break; case STATE_STARTING: - sppp_cp_change_state(cp, sp, STATE_INITIAL); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_INITIAL); break; case STATE_STOPPED: sppp_cp_change_state(cp, sp, STATE_CLOSED); @@ -1890,18 +1898,18 @@ /* TO- event */ switch (sp->state[cp->protoidx]) { case STATE_CLOSING: - sppp_cp_change_state(cp, sp, STATE_CLOSED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_CLOSED); break; case STATE_STOPPING: - sppp_cp_change_state(cp, sp, STATE_STOPPED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_STOPPED); break; case STATE_REQ_SENT: case STATE_ACK_RCVD: case STATE_ACK_SENT: - sppp_cp_change_state(cp, sp, STATE_STOPPED); (cp->tlf)(sp); + sppp_cp_change_state(cp, sp, STATE_STOPPED); break; } else --------------090906090208020507000109-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3BDABF7B.4060808>