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
|
Name | Size | Last modified (GMT) | Description | |
Parent directory | 2023-01-29 20:53:10 | |||
README | 8091 bytes | 2023-01-29 20:53:10 | ||
proatm.c | 147921 bytes | 2023-01-29 20:53:10 | ||
proatm.h | 38431 bytes | 2023-01-29 20:53:10 | ||
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.