Configuring ethbridge

The PXS Ethernet Bridge application is ethbridge. It should be loaded in the PXS flash memory and defined as default application. See "Updating Software" in the LayGO PXS - Protocol eXchange Server manual if you need to download ethbridge to the PXS and use the RedBoot default command, if necessary.

The PXS IP Route is configured using a combination of a LayGO .cfg file stored in flash memory and optional command line parameters set using the RedBoot options command. The LayGO .cfg file contains all the configuration options related to the required protocol stack. See LayGO Configuration for details.

Command Line Options

ethbridge supports the following command line options. These may be set using the RedBoot options command.

[-a]

  Do not autostart the bridge. The bridge will be started maually using
  the PXS control application.
  Default: Autostart the bridge

[-f <cfg file>]

  LayGO cfg file.
  Default: ethbridge-dte.cfg

[-M <major device name>]

  Name of the LayGO major device to use.
  Default: X21BIS0

[-m <minor device name>]

  Name of the LayGO minor device if an X.25 major device is configured.
  Default: <none>

[-s <start mode>]

  Start mode for the major and minor devices.
  Valid values are:
    LL (Listen  on major device, Listen  on minor device)
    LC (Listen  on major device, Connect on minor device)
    CL (Connect on major device, Listen  on minor device)
    CC (Connect on major device, Connect on minor device)
  Default: CC

[-x <xcl file>]

  LayGO X.25 call setup file for connecting X.25 SVCs.
  Default: <none>

Network Configuration

No special network configuration is required. ethbridge creates a single LAN from the connected Ethernet segments. In TCP/IP terms, it creates a single subnet. The hosts on the connected parts should use addresses from the same IP address range with the same IP subnet mask. DHCP requests are Ethernet broadcasts, so they will be bridged, so one DHCP server can service both segments.

X.25 Configuration Example

To connect through an X.25 network, both major and minor devices should be configured. One endpoint should use start mode CC (connect/connect) and the other CL (connect/listen). Since the endpoint configured for CC will make the SVC (minor device) connect request, an LayGO X.25 call setup file should be specified for that side.

For instance, to connect through an X.25 network using SVCs on line 0, configure one side with:

RedBoot> opt -f ethbridge-dte.cfg -M X250 -m X25SVC0 -s CC -x ethbridge-dte.xcl

and the other side with:

RedBoot> opt -f ethbridge-dte.cfg -M X250 -m X25SVC0 -s CL

Of course, the exact contents of the ethbridge-dte.cfg and ethbridge-dte.xcl files will depend on the network, and each side may need different parameters in ethbridge-dte.cfg. However, the .cfg file must contain a System Buffer Pool profile with the a minimum of 1024 buffers of a size of 1500. The LAPB profile must have a maximum frame size of 1503.

A sample .cfg file is given below for a DTE with 1 SVC:

Profile for 'System Buffer Pool'
           2 : Number of subpools <1-4>
         128 : Subpool 1: number of buffers
           8 : Subpool 1: size of buffers <in bytes - min 8>
        1024 : Subpool 2: number of buffers
        1500 : Subpool 2: size of buffers <in bytes - min 8>
           4 : Critical level for largest buffer subpool
           8 : Safe level for largest buffer subpool
           8 : Number of extra prefix bytes per buffer
          16 : Number of reference buffers

Profile for 'System Stack'
        True : Use background stack activation?
           1 : Activation factor
          32 : Maximum write buffers to queue on each CID
           2 : Stack scheduling priority <0-5 0=low 2=normal 5=critical>
           7 : Number of protocols activations <1-16>
           4 : Activation order 1
           9 : Activation order 2
          11 : Activation order 3
          14 : Activation order 4
           5 : Activation order 5
          10 : Activation order 6
           6 : Activation order 7
           1 : Number of hardware drivers <0-8>
           6 : Hardware id 1
           1 : Number of X.21 bis major devices
           1 : Number of HDLC LAPB major devices
           1 : Number of X.25 major devices
           0 : Number of Return Layer major devices
           0 : Number of HDLC NRM major devices
           0 : Number of Frame Relay major devices
           0 : Number of LAPD major devices

Profile for 'X.21 bis'
           0 : Clock Mode <0=Sink 1=Source 2=Symmetric 3=Sink rx 4=Sink tx>
     1000000 : Baud Rate (if clock source or symmetric)
           0 : Line Protocol <0=SDLC 1=Async 2=Monosync 3=Bisync 4=Transparent>
           5 : Line Interface <0=RS-232 1=RS-422 2=RS-449 3=RS-485 4=EIA-530 5=V.35>
  0x00000000 : SYN Character (for Monosync or Bisync)
           0 : Line Idle Mode <0=Flag 1=Mark 2=Space>
  0x00000000 : Driver Specific Flags
       False : Loopback Mode?
          16 : Transmit Queue Size
          16 : Receive Queue Size
          13 : Input signals <1=CTS 2=DCD 4=DSR 8=Flag>
          96 : Output signals <32=RTS 64=DTR>
           0 : User signals <1=CTS 2=DCD 4=DSR 8=Flag 32=RTS 64=DTR>
        True : Use hardware flow control (RTS/CTS)?
           0 : Tap mode <0=Disabled 1=Enabled>
       60000 : Connect Timer
       10000 : Disconnect Timer
       10000 : Reset Timer
       10000 : Reconnect Timer
           0 : Idle Timer

Profile for 'HDLC LAPB'
           8 : Maximum number of buffers to enqueue below
        True : Is this side the DTE?
        True : Modulus 8?
           7 : Send window size
           7 : Receive window size
        1503 : Maximum I-frame size to receive <minimum 128>
        1503 : Maximum I-frame size to send <minimum 128>
          20 : Maximum retransmissions
       False : Autodetect and configure address field
       False : Send DISC before SABM on connect?
        4000 : Timer T1 - retransmission
        2000 : Timer T2 - acknowledge
        9000 : Timer T4 - no traffic

Profile for 'X.25 Major Device'
          16 : Maximum number of buffers to enqueue below
           0 : Maximum number of VCs to activate
           0 : PVC Count
           1 : SVC Count
           8 : Modulus (8 or 128)
      180000 : Restart Timeout
          20 : Retries
        True : DTE?
           7 : PVC: Window size
         512 : PVC: Packet size
       False : PVC: Use D-bit procedure?
        True : PVC: Use M-bit procedure?
       False : PVC: Use Q-bit procedure?
        True : PVC: Auto-confirm interrupt packets?
          32 : PVC: Maximum packets to enqueue for reading?
           3 : PVC: Number of packets requiring acknowledgement
      180000 : PVC: Reset timer (in milliseconds)?
       60000 : PVC: Window status timeout (in milliseconds)?
           5 : PVC: Maximum retries?
           7 : SVC: Window Size
         512 : SVC: Packet Size
        True : SVC: Use non-TOA/NPI addressing?
       False : SVC: Use D-bit procedure?
        True : SVC: Use M-bit procedure?
       False : SVC: Use Q-bit procedure?
        True : SVC: Auto-accept calls?
        True : SVC: Auto-confirm disconnects?
        True : SVC: Auto-confirm interrupt packets?
          32 : SVC: Maximum packets to enqueue for reading?
           3 : SVC: Number of packets requiring acknowledgement
      200000 : SVC: Call request timeout (in milliseconds)?
      180000 : SVC: Reset timeout (in milliseconds)?
      180000 : SVC: Clear request timeout (in milliseconds)?
       60000 : SVC: Window status timeout (in milliseconds)?
           5 : SVC: Maximum retries?

See LayGO Configuration for details on how to configure the stack for applications running inside the PXS.