The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/proatm/

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

Name Size Last modified (GMT) Description
Back Parent directory 2023-01-29 20:53:10
File README 8091 bytes 2023-01-29 20:53:10
C file proatm.c 147921 bytes 2023-01-29 20:53:10
C file proatm.h 38431 bytes 2023-01-29 20:53:10
C file proatm_rtbl.c 152687 bytes 2023-01-29 20:53:10

    1 $FreeBSD$
    2 
    3 PROSUM
    4 PROATM ATM Adapters on FreeBSD
    5 
    6 
    7 1. Introduction
    8 ===============
    9 
   10 The PROATM adapters are based on the IDT77252 SAR and are not supported by the
   11 idt driver Richard Hodges for IDT77211 SAR.
   12 
   13 Prosum provides the proatm driver that is derived from the Richard Hodges driver
   14 and the Prosum nicstar2 driver for the IDT77252 SAR. Proatm can be used with
   15 kernel versions 3.5, 3.51, 4.1 and newer. It supports the ATM 25.6 Mbps and 155
   16 Mbps Prosum card models and the UBR, CBR and VBR QoS. It is compatible with the
   17 Host ATM Research Platform (HARP) software.
   18 
   19 We recommend you to download the latest version of this driver from our web
   20 site. You can contact us at the address indicated in section 5 regarding any
   21 problem of for knowing the state of the pending version.
   22 
   23 
   24 2. Installing proatm
   25 ====================
   26 
   27 NOTE: If you are not familiar with building and installing a new kernel, please
   28 refer to the FreeBSD Handbook.
   29 
   30 Proatm is delivered in the form of a patch but you need not use the patch
   31 utility to install it. Follow the procedure below.
   32 
   33 * Copy proatm.c, proatm.h and proatm_rtbl.c into /usr/src/sys/pci.
   34 * Copy atm_if.h into /usr/src/sys/netatm.
   35 
   36 * in /usr/src/sys/i386/conf/YOUR_NAME add these entries:
   37 
   38         options     ATM_CORE    #core ATM protocol family
   39         options     ATM_IP      #IP over ATM support
   40 
   41 * at least one (and usually one) of the following:
   42 
   43         options     ATM_SIGPVC  #SIGPVC signalling manager
   44         options     ATM_SPANS   #SPANS signalling manager
   45         options     ATM_UNI     #UNI signalling manager
   46 
   47 * and the device driver:
   48 
   49         device      proatm0     #PROATM device driver (this file)
   50 
   51 * on 3.5 and 3.51 kernel versions,add the following line to
   52 /usr/src/sys/conf/files:
   53 
   54         pci/proatm.c    optional proatm device-driver
   55 
   56 * on 4.1 and newer kernel versions,add the following line to
   57 /usr/src/sys/conf/files:
   58 
   59         pci/proatm.c    optional proatm pci
   60 
   61 * Then rebuild and install your kernel and reboot.
   62 
   63 To rebuild and install your kernel, do the following in /usr/src/sys/i386/conf:
   64 
   65 # config YOUR_NAME
   66 
   67 # cd ../../compile/YOUR_NAME
   68 # make depend
   69 # make
   70 # make install
   71 # reboot
   72 (old kernel is /kernel.old if you need it!)
   73 
   74 
   75 3. Configuring the HARP software
   76 ================================
   77 * Referring to rc.atm provided, edit /etc/rc.atm and add 3 lines to atm_pass1()
   78 to detect the Proatm cards. You may also simply copy rc.atm into /etc.
   79 
   80 * Edit /etc/rc.conf.Below is an example for two PVCs connections automatically
   81 open at start time:
   82 
   83     atm_enable="YES"
   84     atm_netif_proatm0="atm 1"      # Network interfaces for physical interface.
   85     atm_sigmgr_proatm0="SIGPVC"    # Signalling manager for physical interface.
   86     atm_prefix_proatm0=""          # NSAP prefix
   87     atm_macaddr_proatm0="NO"       # Override physical MAC address (or NO).
   88     #atm_arpserver_proatm0="0x47.0005.80.007300.0000.0300.0100.0020481C095F00"
   89     atm_scsparp_atm0="NO"          # Run SCSP/ATMARP (or NO)
   90     atm_pvcs="0 1"
   91     atm_pvc_0="proatm0 0 32 AAL5 SNAP IP atm0 192.168.2.8"
   92     atm_pvc_1="proatm0 0 100 AAL5 SNAP IP atm0 192.168.2.9"
   93     #atm_arps=""
   94     network_interfaces="pcn0 atm0 lo0"
   95     ifconfig_pcn0="inet 192.168.1.5 netmask 255.255.255.0"      #Ethernet
   96     ifconfig_atm0="inet 192.168.2.5 netmask 255.255.255.0"      #ATM
   97 
   98 * Reboot the system.
   99 
  100 
  101 4. Checking the installation
  102 ============================
  103 Here are samples showing the output of some commands allowing to verify that
  104 everything went well:
  105 
  106     > netstat -ni
  107     Name  Mtu   Network       Address            Ipkts Ierrs  Opkts Oerrs Coll
  108     atm0  9180  <Link#7>    00:c0:fd:00:7a:ad        0     0      0     0    0
  109     atm0  9180  192.168.2     192.168.2.5        47308     -  47308     -    -
  110 
  111     > atm show config proatm0
  112     Intf      Vendor    Model     Media           Bus   Serial No
  113     proatm0   -         -         OC-3c           PCI   0
  114         MAC address = 00:c0:fd:00:7a:ad
  115         Hardware version = PROATM-155
  116         Firmware version = PROATM 1.000
  117 
  118     > atm show interface
  119     Interface  Sigmgr   State
  120     proatm0    SIGPVC   ACTIVE
  121         ATM address = -
  122         Network interfaces: atm0
  123 
  124 * With another machine connected on the atm network and setup for a CLIP
  125 connection over the PVC #0.32:
  126 
  127     > ping 192.168.2.8
  128     PING 192.168.2.8 (192.168.2.8): 56 data bytes
  129     64 bytes from 192.168.2.8: icmp_seq=0 ttl=64 time=0.318 ms
  130     64 bytes from 192.168.2.8: icmp_seq=1 ttl=64 time=0.323 ms
  131     64 bytes from 192.168.2.8: icmp_seq=2 ttl=64 time=0.300 ms
  132     64 bytes from 192.168.2.8: icmp_seq=3 ttl=64 time=0.317 ms
  133     64 bytes from 192.168.2.8: icmp_seq=4 ttl=64 time=0.306 ms
  134     64 bytes from 192.168.2.8: icmp_seq=5 ttl=64 time=0.315 ms
  135     64 bytes from 192.168.2.8: icmp_seq=6 ttl=64 time=0.305 ms
  136 
  137     --- 192.168.2.8 ping statistics ---
  138     7 packets transmitted, 7 packets received, 0% packet loss
  139     round-trip min/avg/max/stddev = 0.300/0.312/0.323/0.008 ms
  140 
  141 
  142 
  143 5. Configuring the driver
  144 =========================
  145 Look for the "You may change these" section in proatm.h. It contains compilation
  146 parameters that can be changed to set up some driver features. Don't touch
  147 anything unless you know exactly what you are doing.
  148 
  149 PROATM_LBUFS and PROATM_SBUFS
  150 -----------------------------
  151 Defines the default number of large (2k) and small (96-bytes) buffers that are
  152 reserved for receipt.
  153 Default value is 200. Authorized values range from 70 to 510.
  154 
  155 PROATM_VPIBITS
  156 --------------
  157 Defines the number of bits used to code the VP number.
  158 Default value is 2. Authorized values are 0, 1, 2, or 8. Refer to the table
  159 below:
  160 
  161         PROATM_VPIBITS      VPI             VCI (128KB SRAM)    VCI (512KB SRAM)
  162         0                   0               0 to 1023           0 to 4095
  163         1                   0, 1            0 to 511            0 to 2047
  164         2                   0, 1, 2, 3      0 to 255            0 to 1023
  165         8                   0 to 255        0 to 3              0 to 15
  166 
  167 Note: Cards equipped with 128KB memory can support 1024 VCs. Cards equipped
  168 with 512KB memory can support 4096 VCs
  169 
  170 PROATM_MAX_QUEUE
  171 ----------------
  172 Defines the maximum number of transmition queues. Each VC needs one queue
  173 (except UBR VCs with maximum or with unspecified Peak Cell rate that all use
  174 the same special queue). Each transmission queue needs 1 KB of host memory.
  175 
  176 Default value: 250 (250 KB memory)
  177 Maximum authorized values:  269 for 128KB-memory cards, 4095 for 512KB-memory
  178 cards.
  179 
  180 RCQ_SUPPORT
  181 -----------
  182 Enables receipt of erroneous cells, or receipt of cells from non open VCs. So
  183 far we do nothing with these cells but an empty function is provided where you
  184 can write your own processing.
  185 
  186 VPI_BASE and VCI_BASE
  187 ---------------------
  188 You can normaly transmit and receive on VCs with VPI/VCI values depending on
  189 PROATM_VPIBITS and the card memory size. (Refer to the table above)
  190 However in certain special cases you may need to use normally-unreachable
  191 VPI/VCI couples such as 8/35 for example. To do that set VCI_BASE and VPI_BASE
  192 according to your needs. For example setting VPI_BASE to 8 and VCI_BASE to 0
  193 would allow you to play with the 8.35 VC.
  194 
  195 WARNING: Please be aware that VPIs below VPI_BASE and VCIs below VCI_BASE are
  196 not reachable anymore when you set them to non zero values.
  197 
  198 VPI_BASE is smaller than 256. It is a multiple (0 included) of the number
  199 of VPIs the card has been set up for.
  200 For example, if PROATM_VPIBITS = 2, the number of possible VPIs is 4 and
  201 VPI_BASE may be set to 0, 4, 8, 12 ... 254.
  202 
  203 VCI_BASE plays for the VCs the same role as VPI_BASE for the VPs. It is smaller
  204 than 64536 and must be a multiple of the number of VC's that the card is able to
  205 manage.
  206 For example let's suppose if the card has 128 KB memory and PROATM_VPIBITS = 2,
  207 the number of VCI bits is 8 (10-2) and thus the number of VCIs is 256, then
  208 VPI_BASE may be set to any value from among 0, 256, 512 ... 64280 (simple isn't
  209 it?)
  210 
  211 
  212 
  213 6. Technical and sales support
  214 ==============================
  215 
  216 Technical support: Send E-mail to support@prosum.net
  217 
  218 Sales and information: (33) 1 45 90 62 70 or E-mail contact@prosum.net
  219 

[ source navigation ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.