   .
   .
   .                                                      PPPoE Plugin 1.0
   .                                                          July 1, 2000
   .                          
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .   ____  ____  ____       _____    ____  _             _
   .  |  _ \|  _ \|  _ \ ___ | ____|  |  _ \| |_   _  __ _(_)_ __
   .  | |_) | |_) | |_) / _ \|  _|    | |_) | | | | |/ _` | | '_ \
   .  |  __/|  __/|  __/ (_) | |___   |  __/| | |_| | (_| | | | | |
   .  |_|   |_|   |_|   \___/|_____|  |_|   |_|\__,_|\__, |_|_| |_|
   .                                                 |___/
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .                                                    F/X Communications
   .                                                       DK-4300 Holbaek
   .                                                               Denmark
   .                                                 E-mail: support@fx.dk
   .                                                      http://www.fx.dk
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .     Copyright (c) 1999-2000, F/X Communications, All Rights Reserved.
   .     Your usage of this product and its documentation are subject to
   .     your acceptance of the license agreement included with this product.
   .
   .     IBM and OS/2 are registered trademarks of International
   .     Business Machines, Inc. All other trademarks, registered trade
   .     marks, service marks and other registered marks are the property
   .     of their respective owners.




==========================================================================
 C O N T E N T S
==========================================================================



   1 ...................................................... Introduction
   2 .......................................................... Features
   3 ...................................................... Installation
   4 ............................................ Configuration Overview

   4.1 ............................................... GUI Configuration
   4.1.1 .............................................. Login Parameters
   4.1.2 ................................................ TCP Parameters
   4.1.3 ............................................... Link Parameters

   4.2 ............................................ Manual Configuration
   4.2.1 .................................... Mandatory PPPoE Parameters
   4.2.2 ..................................... Optional PPPoE Parameters

   5 ................................................... PPPoE Operation
   6 ................................................ PPPoE Implications
   7 .................................................... PPPoE Protocol
   8 ......................................... Maximum Transmission Unit



==========================================================================
 1.	I N T R O D U C T I O N
==========================================================================



   PPPoE (Point to Point Protocol over Ethernet) specifies how a PC 
   interacts with a broadband ISP (Internet Service Provider) in order
   to achieve Internet access. It relies on two widely accepted standards,
   namely Ethernet and the point-to-point protocol (PPP). 

   Internet Service Providers are implementing PPPoE to replace the
   static IP addressing or DHCP systems that do not offer authentication,
   billing, or service differentiation. 

   For the end user, there are only a few minor changes from the old 
   dial-up environment. Instead of having the connection automatically
   occur when your computer boots, the connection and authentication 
   will be established using PPPoE client software. Due to the extra
   PPPoE protocol layer, the maximum IP packet size has become smaller.
   The "Maximum Transmission Unit" section is recommended reading.
  
   The PPPoE Plugin works in combination with two products:

	o InJoy PPPoE Client
	o InJoy Firewall



==========================================================================
 2.	F E A T U R E S
==========================================================================



   The PPPoE plugin module offers the following key features:

   Installation   Installed seamlessly as part of the InJoy Firewall
                  or the InJoy PPPoE Client software.

                  Plugs into the InJoy Firewall as a loadable module, 
                  maintaining the Firewall's superior speed and efficiency.

   Configuration  Multiple ISP profiles and an easy to use PM GUI. For the
                  experts (and for easy scripting), all configuration 
                  attributes are also directly editable in an ASCII file.

   Performance    Allows sustained utilitization of all your network bandwidth.
                  Adjustable priority gives control of the CPU utilization.

   Connection     Connect at startup.
                  Connect at demand.
                  Connect manually.
                  Idle disconnect.
                  Manual disconnect.
                  Session timeout disconnect.
                  Connection loss detection.
                  Auto re-connects.

   Diagnostics    Message log
                  Screen output
                  OS/2 tools "iptrace" and "ipformat" fully supported

   Sound alerts   Use sound alerts to be notified when connection is down.

   Line Sharing   The gateway (NAT) capability in the InJoy Firewall
                  allows for sharing the PPPoE connections.

   Security       All the filtering and firewall capabilities of the
                  InJoy Firewall are available.

   VPN Support    Coexists with the InJoy Firewall IPSec support

   Documentation  Complete with instructions to help both beginners and
                  advanced users..



==========================================================================
 3.	I N S T A L L A T I O N
==========================================================================



   The PPPoE Plugin ships together with these two products:

	o "InJoy Firewall"
        o "InJoy PPPoE Client"

   It is automatically unzipped together with either product and
   seamlessly integrates with the host products. In the InJoy 
   Firewall, the PPPoE support requires PRO registration and to
   be enabled in the GATEWAY.CF configuration file.



==========================================================================
 4.	C O N F I G U R A T I O N   O V E R V I E W
==========================================================================



   o Configuration Overview

   The PPPoE configuration parameteres are divided into ISP profiles that
   can be edited via the PM GUI (Graphical User Interface) or using a
   simple ASCII editor. 

   The PPPoE setup relies on 2 ASCII files:

   PPPOE/PPPOE.CNF  This file contains the specific PPPoE ISP profiles.
                    You can create individual profiles for different ISP's.

   PPPOE.CNF        This file contains the default values to be used by the 
                    PPPoE ISP profiles you define. Don't edit this file.


   o InJoy PPPoE Client - Initial Setup

   Refer to INSTALL.TXT


   o InJoy Firewall with PPPoE - Initial Setup

   The InJoy Firewall requires the PPPoE feature to be specifically
   enabled in GATEWAY.CF. The following steps must be completed:

   Open the GATEWAY.CF configuration file in an ASCII editor. If the
   file doesn't exist, rename GATEWAY.CF_ to GATEWAY.CF.

   1: Enable PPPoE

      Locate the following section, and edit:

      [pppoe]
      ;Enable=no

      Remove the ';' in front of 'Enable' and set 'Enable=yes' to have
      PPPoE loaded at the next restart.

   2: Set the MTU

      Locate the following section, and edit:

      [hardware]
      ;Fragment=yes
      ;MTU=1500

      Remove the ';' in front of 'MTU' and change to 1492


   Refer to the next sections for more details on the GUI and ASCII
   based configuration.



==========================================================================
 4.1	G U I   C O N F I G U R A T I O N
==========================================================================



   This and the following sections guide you through the PPPoE configuration 
   using the GUI interface.
 
   Included are helpful descriptions and hints about the configuration 
   parameters.


   o Invoking the Graphical PPPoE Setup

   1: Start the graphical version of the product.

         PPPOE.EXE in the InJoy PPPoE Client.
         GWPM.EXE in the InJoy Firewall.
 
   2: The PPPoE Setup is activated with a RMB (Right Mouse Click) 

   3: In this pop-up menu, select [Control->PPPoE Setup] to bring up the 
      notebook-style configuration dialogue.


   o The Configuration Notebook

   The configuration notebook consist of four seperate types of parameters. 
   These are:

   [Login]

   Contains the required account information for logging on with your ISP.
   This screen also presents you with the controls needed to maintain a
   list of ISP profiles and an option for setting the active ISP.


   [TCP]

   Contains the settings pertinent to TCP/IP, including IP addresses
   and DNS servers.


   [Link]

   Contains the settings that control and monitor the link, such as
   keep alive timers, demand connectivity and tracing.


   [About]

   Contains the product Logo.


   The following sections guide you through the dialogues.



==========================================================================
 4.1.1.	 L O G I N   P A R A M E T E R S
==========================================================================



   The PPPoE Plugin supports multiple ISP configurations that are easily
   maintained through the Login dialogue. The dialogue contains buttons
   for creating, modifying and deleting ISP profiles. A drop-down list
   of ISP profiles gives you a quick overview of profiles.

   Login defines the following parameters:


   [ISP]

   This is the list of ISP profiles. Each profile is a logical
   identifier that refers to the parameters for a connection.

   You can create new or delete exiting profiles by clicking the
   buttons below the ISP drop-down list. You cannot edit the connection
   names in the listbox.   


   [ISP Name]

   The name of the connection being modified/created/deleted.
   This field must not contain spaces.
   

   [User ID]

   Enter the User-id as assigned to you by the ISP.
   Usually in the format userid@isp.com. 
   For example, if your user-id is joe and your ISP is Sympatico, 
   then your should enter

	joe@sympatico.ca 


   [Password]

   Enter the Password as assigned to you by the ISP. 
   Please note that passwords are typically case sensitive,
   double check the state of the CAPS LOCK key.


   [Default Profile]

   Of all your ISP profiles, only one can be marked active at a
   time. Marking an ISP active will automatically turn this
   flag off in all other ISP profiles.

   The active ISP profile is the one selected at startup. Other
   flags determine whether a connection will be automatically set up.



==========================================================================
 4.1.2.	 T C P   P A R A M E T E R S
==========================================================================



   To connect successfully with a PPPoE ISP, both ends of the connection 
   must define some basic parameters to control the PPPoE negotiation.

   TCP defines the following parameters:

   [IP Address]

   This is the Internet Protocol (IP) address that your computer will use
   throughout your session. 

   The value 0.0.0.0 means that PPPoE should obtain the actual IP address 
   from the ISP server during log on negotiation. Obtaining the IP address 
   from the server is the standard way of assigning IP addresses using PPPoE.
 
   It is possible to specify an IP address when the server will not 
   dynamically assign one.


   [Netmask]

   The netmask specifies the IP addresses which are supposed to go
   through your PPPoE connection. If you did not receive an assigned
   netmask from your ISP then leave it as set (255.255.255.0).


   [Primary DNS / Secondary DNS]

   The Primary and Secondary DNS (Domain Name Server) are IP addresses
   of your preferred name servers.

   If your ISP supports "server assigned DNS addresses" (RFC 1877), 
   then enable the negotiation by entering 0.0.0.0 in the nameserver
   fields. ONLY nameserver fields containing 0.0.0.0 will be negotiated.

   The nameserver addresses are saved in the \ETC\RESOLV file. This
   file is referenced by the TCP/IP stack for OS/2 nameserver lookup's.

   If you experience problems resolving host names (even though you feel
   your nameserver is set up correctly) check for the existence of a
   RESOLV2 file in your ETC directory.
 
   The RESOLV2 file is sometimes used (seems to depend on TCP/IP stack version)
   Edit the existing RESOLV2 file or simply copy your standard RESOLV file 
   over RESOLV2 to either refresh or create the secondary RESOLV file.
 
   The PPPoE plugin does not automatically alter the contents of the 
   RESOLV2 file.

   A seperate RESOLV file is used for Windows and DOS, DNS lookups.
   This file is located in TCPIP\DOS\ETC and also named RESOLV.
   The PPPoE code does not automatically update this file, but if you
   rely on TCP/IP in DOS sessions, then simply copy a working OS/2
   resolv file over the DOS version.


   [Domain]

   This is the domain in which your computer exists on the Internet. 
   You should specify the symbolic name that you have received from your
   ISP. For example "sympatico.ca" and "ibm.net" are valid domain names.



==========================================================================
 4.1.3.	 L I N K   P A R A M E T E R S
==========================================================================



   The link parameters define when connections are to be established or
   brought down. Additionally, the link dialogue offers functionality
   for timeout, link loss and trace monitoring.

   LINK defines the following parameters:


   [Connect]

   This allows you to define when the initial PPPoE connection
   is to be established:

   Auto:
   PPPoE Connection is negotiated immediately at ISP profile selection.
   The active ISP profile is selected automatically at startup.

   On Demand:
   Connect on Demand (a.k.a. DOD) allows for automatic connections when
   an application on your computer or a NAT LAN client needs it;
   auto-disconnecting when the connection is idle (using the idle timeout
   feature); and, auto-dialing again, at the next need/demand.

   Sometimes you will find it useful to go back and see what packet
   triggered the connection demand. You can do this as the triggering packet
   is saved to 'DOD.DMP'. This file uses a format similar to that
   used by the native OS/2 application IPTRACE. To get a nicely
   formatted dump of the trigger packet, rename 'DOD.DMP' to 'IPTRACE.DMP' 
   and then run IPFORMAT in the same directory.

   Manual:
   Connection negotiation is attempted when the user selects "Connect"
   in the RMB pop-up menu.


   [Re-connect]

   This option specifies the action to be taken when a connection is terminated.
   As with the above option, you can choose to re-connect automatically,
   on demand or manually.


   [Idle Timeout]

   Specifies how long the connection may remain idle (i.e. nothing being
   received) before PPPoE will automatically disconnect. 
   The Idle Timeout is specified in seconds.

   A note of caution is in order here. 
   Some users set the idle timeout to five minutes or so, and walk away from 
   the computer after beginning a long down/upload . . . knowing that when 
   finished the connection will be dropped, as the idle timer reaches zero. 
   Be careful, many hosts periodically send "dummy" packets in order to avoid 
   unintentional disconnects. 
   If you are paying for your connection by the minute you might want to ensure
   the line is dropped within a reasonable time after data flow has stopped 
   (see the Session Timeout).

   To completely disable the idle timeout, specify a value of zero. In 
   that case, the line will never be dropped due to inactivity.


   [Session Timeout]

   This timer specifies how long PPPoE may stay connected before it will
   automatically disconnect, irrespective of traffic. 
   The timeout is specified in seconds.

   This function is much like the one on your VCR or TV that enables
   you to automatically turn it off after half an hour or so, without
   worrying about the TV starting a fire during the night.

   As it can go wrong for a television, so it can for PPPoE too. If
   PPPoE has a problem disconnecting there is nothing it can do.

   To completely disable the timeout, specify a value of zero. In that 
   case, the line will never be dropped for exceeding a preset time on 
   line.


   [LCP Echo Every]

   A standard feature of PPP is the ability to probe the link by 
   sending out echo packets and watching for responses. This feature
   is valuable with PPPoE, as the endpoints are physically connected,
   but there is no guarantee that the logical connection is working.

   To enable this feature and timely detect the disconnects that are
   not alerted with a protocol block, set this paramter to a non-zero
   value. The value should be the number of seconds between sending out
   the LCP Echo blocks. When setting the time between each outgoing echo,
   consider that the ISP should have enough time to reply to the previous
   echo before PPP sends out a new echo packet.

   When a lost connection is detected, it is reported to the PPPoE control
   code and depending on the 'Re-connect' setting an action will be taken.

   Specify 0 to disable this feature.


   [Consecutive Errors]

   Packets can be lost on a PPPoE link without that being critical
   to the connection. However, if several packets in sequence are
   lost, then it is normally a sign that the logical PPP connection
   is lost.

   This option allows you to specify the number of consecutive lost
   packets that are required in order to declare the link dead.


   [Trace]

   Enable this option if you need to trace a PPPoE connection. The
   trace information is written to the file PPPOE.TRC in the working
   directory.

   If you have problems connecting to the ISP, this file is what will
   help the F/X support crew (support@fx.dk) to get you online.

   When running in a stable environment, it is recommended to turn OFF
   the tracing, as it introduces a significant performance hit.

   IPTRACE.EXE (included with OS/2) can be used to save a trace file of 
   both in and outgoing TCP/IP traffic. You can use IPFORMAT.EXE (also
   a Warp utility) to format and display that trace file.

   IPTRACE works regardless of this setting.



==========================================================================
 4.2.	M A N U A L   C O N F I G U R A T I O N
==========================================================================



   The following section is divided into two parts. The first deals 
   with those parameters that MUST be entered in order for PPPoE to
   function. The second section deals with parameters for which the
   defaults should be sufficient. However, please review these 
   parameters to ensure that possible ISP specific ISP parameters
   are not overlooked.

   For manual configuration, rename the sample PPPOE.CN_ to PPPOE.CNF
   and edit the parameters within. The file is located in the PPPOE
   sub-directory.

   For parameters that are not already in PPPOE.CNF, simply copy & paste
   from PPPOE.CNF in the base directory.



===============================================================================
 4.2.1.  M A N D A T O R Y   P P P O E   P A R A M E T E R S
===============================================================================



The following parameters MUST be user defined, defaults will NOT function.

Please NOTE : String and IP addresses must be in quotes!
              Number and Yes/No values must NOT!

---------               ------------------  -----------------------------------
PARAMETER               PERMISSIBLE VALUES  DESCRIPTION
---------               ------------------  -----------------------------------
Domain-Name             String              This is the name provided by 
                                            your ISP for the service. 

                                            DEFAULT : "[domain.com]"
                                            Enclosed in quotation marks
                                            e.g. "Sympatico.ca".

---------               ------------------  -----------------------------------
Password                String              This is the password provided by
                                            your ISP.

                                            DEFAULT : ""
                                            Enclosed in quotation marks
                                            e.g. "xyz123abc"

---------               ------------------  -----------------------------------
User-Id                 String              This is the User-ID provided by
                                            your ISP.

                                            DEFAULT : "[user@isp.com]"
                                            Enclosed in quotation marks
                                            e.g. "joebloggs@sympatico.ca"



===============================================================================
 4.2.2.  O P T I O N A L   P P P O E   P A R A M E T E R S
===============================================================================



The following parameters are optional, defaults SHOULD function.

Please NOTE : String and IP addresses must be in quotes!! 
              Number and Yes/No values must NOT!!

---------               ------------------  -----------------------------------
PARAMETER               PERMISSIBLE VALUES  DESCRIPTION
---------               ------------------  -----------------------------------
AC-Name                 String              This option allows you to select
                                            among several "Access 
                                            Concentrators" for your ISP. 

                                            Currently rarely used.
                                            However, usage will increase in
                                            the future as more PPPoE servers
                                            are deployed. Change ONLY if
                                            specifically instructed by your
                                            ISP.

                                            DEFAULT : ""
                                            Enclosed in quotation marks.
                                            
---------               ------------------  -----------------------------------
Connect                 Auto                This defines how the intial
                        On Demand           connection is to be initiated.
                        Manual
                                            AUTO
                                            The connection will be made using
                                            the ACTIVE ISP profile when 
                                            the Gateway is executed. 

                                            ON DEMAND (aka DOD)
                                            Connect the ACTIVE profile when a 
                                            system process (Application or 
                                            NAT LAN) requests, and close 
                                            connection when process ends
                                            (using the Idle Timer).

                                            MANUAL
                                            Connect using the mouse RMB to  
                                            select "CONNECT" in the GWPM GUI
                                            environment.

                                            DEFAULT : Manual
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
Default-Profile         Yes                 Indicates whether this ISP profile
                        No                  is the default profile, i.e. 
                                            the one selected at startup or
                                            at a connect event.

                                            DEFAULT : No
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
DNS-1                   Valid TCP/IP Add.   These are provided by your ISP.
DNS-2                                       If your ISP supports server 
                                            assigned DNS addresses per RFC 1877
                                            then enable the negotiation by 
                                            entering 0.0.0.0 in these fields.
                                            Change ONLY if specifically 
                                            instructed by your ISP. 
                                            
                                            DEFAULT : DNS-1 = "0.0.0.0"
                                                      DNS-2 = "0.0.0.0"
                                            Enclosed in quotation marks
                                            e.g. "205.101.251.1"

---------               ------------------  -----------------------------------
Idle-Timeout            Seconds             Specifies how long the connection 
                        0 - 99999           may remain idle (i.e. nothing being
                                            RECEIVED) before automatically 
                                            disconnecting. 

                                            0 - disables the feature

                                            DEFAULT : 0
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
LCP-Echo                Seconds             This will trigger echo packets to
                        0 - 99999           be sent at the specified interval
                                            in order to detect connection loss.
                                            Incoming IP packets reset the timer.
                                            When a lost connection is detected, 
                                            PPPoE will respond according to the
                                            Re-connect setting for the profile.

                                            0 - disables the feature

                                            DEFAULT : 10
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
LCP-Consecutive-Errors  Counter             Packets can be lost on a PPPoE
                        0 - 99999           link without that being critical
                                            to the connection. However, if 
                                            several packets in sequence are
                                            lost, then it is normally a sign 
                                            that the logical PPP connection
                                            is lost. This option allows you to 
                                            specify the number of consecutive 
                                            lost packets that are required in 
                                            order to declare the connection 
                                            lost. PPPoE will respond according 
                                            to the "Re-connect" setting for the
                                            profile.

                                            0 - disables the feature

                                            DEFAULT : 3
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
Local-IP                Valid TCP/IP Add.   This is the Internet Protocol (IP) 
                                            address that your computer will use
                                            throughout the current session. 

                                            The value 0.0.0.0 means that PPPoE 
                                            should obtain the actual IP address 
                                            from the ISP server during log on 
                                            negotiation. This is the normal 
                                            mode used by PPPoE.

                                            Change ONLY if specifically 
                                            instructed by your ISP 
                                            
                                            DEFAULT : "0.0.0.0"
                                            Enclosed in quotation marks
                                            e.g. "0.0.0.0"

---------               ------------------  -----------------------------------
Netmask                 Valid TCP/IP Add.   If you did not receive an assigned
                                            netmask from your ISP then use the
                                            netmask 255.255.255.0.

                                            DEFAULT : "255.255.255.0"
                                            Enclosed in quotation marks
                                            e.g. "255.255.255.0"

---------               ------------------  -----------------------------------
Peer-IP                 Valid TCP/IP Add.   This address is normally assigned
                                            by the ISP during the log on 
                                            process. However, some providers 
                                            specify a fixed IP address that you
                                            should enter here.

                                            Change ONLY if specifically 
                                            instructed by your ISP 
                                            
                                            Enclosed in quotation marks
                                            DEFAULT : "0.0.0.0"

---------               ------------------  -----------------------------------
PPP-MRU                 Packet Size         This is the size of the Ethernet
                        1 - 1500            packets the connection will use.
                                            Ethernet has a Max packet size of
                                            1500 bytes, of which 8 bytes are
                                            required for the packet header.
                                            Therefore, unless directed by your
                                            ISP, you should use 1492

                                            DEFAULT : 1492
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
Re-Connect              Auto                This defines what is to happen if
                        On Demand           a connection is lost.
                        Manual
                                            AUTO
                                            Attempt re-connection using the 
                                            ACTIVE profile automatically.

                                            ON DEMAND (aka DOD)
                                            Attempt to re-connect when a 
                                            system process (Application or 
                                            NAT LAN) requests.

                                            MANUAL
                                            Do not attempt a re-connect.

                                            DEFAULT : Auto
                                            Quotation marks NOT used


---------               ------------------  -----------------------------------
Restart-Timer           mS (1/1000th)       This is ONLY used in the opening
                        0 - 99999           PPPoE negotiation, and resends 
                                            requests at the specified interval 
                                            until negotiation is successful. 
                                            If the opening negotiation seems
                                            slow adjust this setting. Note that
                                            too small a value can also slow the 
                                            process down as the server needs 
                                            time to respond.

                                            Note that this only applies to 
                                            the initial login, once the
                                            connection is established this 
                                            timer is dormant.

                                            The smaller you can set this timer
                                            and still reliably login, the
                                            faster PPPoE negotiates.

                                            DEFAULT : 300
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
Restart-Timer-Aut       mS (1/1000th)       This is ONLY used in the opening
                        0 - 99999           PPPoE negotiation, specifically the
                                            user/password authentication
                                            process and resends blocks at the 
                                            specified interval until 
                                            authentication is successful. 
                                            If the opening negotiation seems
                                            slow, adjust this setting.

                                            Note that too small a value can
                                            also slow the process down as the
                                            server needs time to respond.

                                            Note that this is only applies to 
                                            the initial login, once the
                                            connection is established this 
                                            timer is dormant.

                                            DEFAULT : 1000
                                            Quotation marks NOT used
 
---------               ------------------  -----------------------------------
Service-Name            String              For future use. 
                                            Change ONLY if specifically 
                                            instructed by your ISP 
                                            
                                            DEFAULT : ""
                                            Enclosed in quotation marks

---------               ------------------  -----------------------------------
Session-Timeout         Seconds             Specifies how long the connection 
                        0 - 99999           may remain active, irrespective of 
                                            activity, before automatically 
                                            disconnecting. 

                                            0 - disables the feature

                                            DEFAULT : 0
                                            Quotation marks NOT used

---------               ------------------  -----------------------------------
Trace                   Yes                 Enable this option if you need to
                        No                  trace a PPPoE connection. The trace
                                            information is written to the file 
                                            "PPPOE.TRC" in the home directory. 
                                            It is recommended to disable trace,
                                            unless troubleshooting, as it 
                                            significantly reduces performance.

                                            DEFAULT : No
                                            Quotation marks NOT used



==========================================================================
 5.	P P P O E   O P E R A T I O N
==========================================================================



   o The connection

     PPPoE transforms a physical LAN-2-LAN connection into a logical
     connection scenario.

     Once "connected" using a PPPoE client, your connection will look
     the same as your current TCP/IP connection. When you are finished, or
     when you've been idle for a period of time, the client will typically
     be disconnected and you will need to reconnect to use the Internet
     again. InJoy PPPoE can monitor the link, and automatically reconnect.
     It is your choice whether this is immediately, or on demand. In NAT
     environments, this interruption is transparent. 


   o Connecting

     A connection can be triggered maually, automatically or at demand.

     Using the GWPM.EXE product, you can manually trigger a connection by
     selecting [Control->Connect] from the RMB (Right Mouse Button) pop-up
     menu.


   o Disconnecting

     Disconnections can be triggered manually, by timers or by the ISP.

     Using the GWPM.EXE product, you can manually trigger a disconnect
     by selecting [Control->Disconnect] from the RMB (Right Mouse Button)
     pop-up menu.


   o Reconnecting

     As previously mentioned in the configuration section, the re-connect 
     flag allows you to determine when, how and if a PPPoE connection
     is to be reconnected at connection-loss.

     If you wish to maintain a full time PPPoE connection, then set the
     re-connect flag to 'auto' and InJoy will automatically reconnect when
     the connection-loss is detected. This makes InJoy the perfect choice
     for keeping a connection alive 24 hours a day.

     Setting the re-connect flag to 'demand' allows for automatic
     reconnects when the TCP/IP stack demands Internet connectivity.


   o Connection details

     When a PPPoE connection has been sucessfully established, the
     file CONNECT.TXT is immediately created. This file includes 
     characteristics about your current connection. The following is
     an example of the contents of a typical CONNECT.TXT file:

      194.234.160.52
      194.234.160.8
      Host..........: Sympatico
      Modem connect.: void
      Line speed....: unknown
      DNS (Primary).: 194.234.160.2
      DNS (Backup)..: 194.234.160.3

     CONNECT.TXT is not a semaphore file, so don't use it to determine if you
     are connected at any moment. 

     This file is also found in the InJoy Dialer and the same file format
     is maintained between products.


   o Configuration refresh

     The configuration options are organized into ISP profiles.

     At startup and with each connect attempt, the ISP profiles
     are scanned for the active profile. Once found, the active profile
     is read and the new settings are put into action.



==========================================================================
 6.	P P P O E   I M P L I C A T I O N S
==========================================================================



   o Performance

   PPPoE generally introduces a small penalty on network bandwidth due
   to the added protocol layer handling and the extra data needed for
   the PPPoE signaling. This penalty is generaly no more than 5-10%,
   depending on both server software and usage. 



==========================================================================
 7.	P P P O E   P R O T O C O L   O V E R V I E W
==========================================================================



   o Protocol Stack 

   PPPoE is an encapsulation technique that allows for using the
   PPP protocol over an Ethernet based connection. After applying
   PPPoE, the layered protocol communications stack looks like this:


       Internet Applications       (high level)
    _____________________________

       Internet Protocol (IP)
    _____________________________

    Point to Point Protocol (PPP)
    _____________________________
            
      PPP over Ethernet (PPPoE)
    _____________________________

              Ethernet             (low level)


   o PPPoE Protocol

    The PPPoE protocol has two distinct stages:

	- Discovery
	- PPP Session

      Discovery stage:

        - Stateless client-server protocol
        - Used when a client wishes to establish a PPPoE Session
        - Client discovers one (or more) PPPoE Access Concentrators
           . Ethernet MAC address of the PPP peer is discovered
           . A PPPoE sessionID is created
           . Peer MAC address and session ID uniquely
             identify the PPPoE session
        - Four steps in Discovery stage
           . Initiation
           . Offer from Access Concentrator
           . Session Request from client
           . Confirmation from Access Concentrator

      PPP Session stage:

        - PPP data (incl. LCP, PAP, CHAP, IPCP, ...) is sent with
          PPPoE encapsulation.
        - All ethernet frames are Unicast (i.e. going to ONE destination)


   o PPPoE standard

   Additional information about the PPPoE protocol is availabe in
   RFC 2516 - available at:

   http://info.internet.isi.edu/in-notes/rfc/files/rfc2516.txt



==========================================================================
 8.	M A X I M U M   T R A N S M I S S I O N   U N I T
==========================================================================



   o PPPoE MTU

   Typically packets on your network will have a maximum size of 1500
   bytes, which is the default MTU (Maximum Transmission Unit) on Ethernet.

   Packets of 1500 bytes are larger than the maximum allowable PPPoE packet
   size, and therefore, all machines which send data through the PPPoE
   connection MUST have their MTU set to a smaller value (e.g. 1412).

   The fragmentation technique can somewhat solve this problem, but
   fragmentation introduces an extra performance hit and certain
   applications require packets to reach the destination without
   the use of fragmentation.


   o Identifying MTU problems

   MTU problems are quite distinct and fairly easy to detect.
   The problem has its root in the large packets that just can't
   pass through the Internet connection.

   If you have an MTU misconfiguration, you will experience
   problems especially when you fetch news group articles,
   download large web pages and fetch files via FTP.

   The problems are typically that the browser stops in the middle of a 
   page load or a news group refresh never completes.


   o Network Example (w/o VPN)

   The following illustrates the MTU values that were used on a working
   PPPoE connected TCP/IP network. The MTU values below are provided for
   each network interface on both the InJoy PC and the internal LAN
   client:

        1) InJoy (Gateway) PC

           A) In GATEWAY.CF
              * Turn on Fragmentation
              * Set the MTU to 1492

           B) External interface
              * Set the MTU to 1500

           C) Internal interface
              * Set the MTU to 1492

           D) Loop Back interface 
              * Set the MTU to 1492    (optional)

           E) PPP0 and DOD interfaces
              * Set automatically by the PPPoE Plugin.


        2) Internal LAN Client

           A) LAN Interface
              * Set the MTU to 1492

           B) Loop Back interface
              * Set the MTU to 1492    (optional)


   Remember to reboot after adjusting MTU values. For OS specific details
   on how to change the MTU, refer to the bottom of this section.


   o VPN considerations

   Running an IPSec based VPN through a PPPoE connection requires for both
   the PPPoE and the IPSec plugins to add extra data to your IP packets.

   For internal LAN clients the remedy is to lower the MTU and thereby
   make space for the extra bytes. An MTU of 1412 is recommended.
   
   For the PPPoE gateway PC, the dynamic PPP0 interface defines
   the MTU. The PPPoE plugin negotiates this MTU value with the ISP
   and it is therefore not freely adjustable. As a remedy, edit the
   GATEWAY.CF file and set the fragment flag ON and set the MTU
   value to 1412.


   o Setting the MTU on OS/2

   There are several ways to change to the MTU in OS/2, but they
   all evaluate to a simple parameter to the ifconfig statements
   in:

        \MPTN\BIN\SETUP.CMD

   Example:

        route -fh
        arp -f
        ifconfig lo 127.0.0.1 mtu 1492
        ifconfig lan0 192.168.1.1 netmask 255.255.255.0 mtu 1492
        ...

   TCP/IP 4.1 has been known to ignore MTU values at the end of
   ifconfig lines. The solution is to set the MTU on seperate lines.

   Example:

        route -fh
        arp -f
        ifconfig lo 127.0.0.1
        ifconfig lo mtu 1492
        ifconfig lan0 192.168.1.1 netmask 255.255.255.0
        ifconfig lan0 mtu 1492
        ...

   Reboot the OS/2 Machine.


   o Setting the MTU on Windows 98

   Changing the MTU in Windows requires use of the registry editor.

   START > RUN > type regedit and hit Enter.

   Export your current registry to back it up into a temporary directory.

   Then add these registry keys in the following sections (if they are not
   there already). If they are already present, then modify them to the
   new values.

   The following keys should be set for your Ethernet adapter.
   When you go to the registry and look through the 000n folders in
   Nettrans (as shown below) you will know you found the right folder
   when you find the IP address of the Win95 client. In That 000n
   device folder add this:

   HKEY_LOCAL_MACHINE\
   System\CurrentControlSet\Services\Class\NetTrans\000n

   MaxMTU="1492" (STRING VAR)

   The following keys are also recommend, but only the PMTUDiscovery
   is a mandatory for the PPPoE operation.

   1. DefaultRcvWindow="362610" (FOR WIN98 USERS ONLY, STRING VAR)

   2. DefaultTTL="128" (STRING VAR)

   3. PMTUDiscovery="0" (DWORD)

   4. PMTUBlackHoleDetect="0" (DWORD )

   Reboot the Win98 Machine.


   o Setting the MTU on Windows 95

   Changing the MTU in Windows requires use of the registry editor.

   START > RUN > type regedit and hit Enter.

   Export your current registry to back it up into a temporary directory.

   Then add these registry keys in the following sections (if they are not
   there already). If they are already present, then modify them to the
   new values.

   The following keys should be set for your Ethernet adapter.
   When you go to the registry and look through the 000n folders in
   Nettrans (as shown below) you will know you found the right folder
   when you find the IP address of the Win95 client. In That 000n
   device folder add this:

   HKEY_LOCAL_MACHINE\
   System\CurrentControlSet\Services\Class\NetTrans\000n
   MaxMTU="1492" (STRING VAR)

   HKEY_LOCAL_MACHINE\
   System\CurrentControlSet\Services\VxD\MSTCP

   DefaultRcvWindow="63990" (STRING VAR)

   DefaultTTL="128" (STRING VAR)

   PMTUDiscovery="0" (DWORD VAR),

   PMTUBlackHoleDetect="0" (DWORD VAR)

   Reboot the Win95 Machine.


   o Setting the MTU on Windows NT

   Changing the MTU in Windows requires use of the registry editor.

   START > RUN > type regedit and hit Enter.

   Export your current registry to back it up into a temporary directory.

   Then add these registry keys in the following sections (if they are not
   there already). If they are already present, then modify them to these
   values:

   HKEY_LOCAL_MACHINE
   \SYSTEM\CurrentControlSet\Services\<Adapter Name>\Parameters\Tcpip

   MTU="1492" (Make sure it's a DWORD VAR and NOT a STRING)

   Now add:

   HKEY_LOCAL_MACHINE\
   SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

   "TcpWindowSize"="63990" (DWORD VAR)

   DefaultTTL="128" (DWORD VAR)

   EnablePMTUDiscovery="0" (DWORD VAR)

   EnablePMTUBHDetect="0" (DWORD VAR)

   Reboot the NT Machine.





     Copyright (c) 1999-2000 F/X Communications.  All rights reserved.

