RE: [mpls-linux-general] MPLS and ATM
Status: Beta
Brought to you by:
jleu
From: Jonathan E. <je...@no...> - 2001-04-05 21:50:30
|
Hi Jim, Okay. I was taking your example a bit literally. I'm now using atm0, not atm1, since: root@onc4:~> cat /proc/net/atm/devices Itf Type ESI/"MAC"addr AAL(TX,err,RX,err,drop) ... 0 ia 00007794577c 0 ( 0 0 0 0 0 ) 5 ( 273 0 93 0 0 ) shows the card is at index 0. Okay. On the target, I can create a new labelspace and inbound label (I saved the 0.990 vesion of mplsadm as mplsadm.new to avoid conflict with the previous version of the tool in a shared tools directory): root@onc4:~> mplsadm.new -L atm0:3 root@onc4:~> mplsadm.new -A -I atm:0/33:3 root@onc4:~> cat /proc/net/mpls_labelspace lo 0 teql0 0 atm0 3 root@onc4:~> cat /proc/net/mpls_in 80210003 atm 0/33 3 POP DLV debug output looks like: mpls_add_in_label: enter mpls_info_default_in_instruction: enter mpls_info_default_in_instruction: exit mpls_atm_create_vcc: enter(0,0,33,1) mpls_atm_create_vcc: vci 33 <-> 1024 vpi 0 <-> 1 mpls_atm_create_vcc: create_vcc mpls_atm_create_vcc: setting up vcc atm_connect (TX: cl 0,bw 0-0,sdu 65535; RX: cl 1,bw 0-0,sdu 65535,AAL 5) mpls_atm_create_vcc: exit mpls_add_in_label: succeeded creating vcc mpls_add_in_label: exit So far, so good. Now, on to the source. First, lets create the outbound label: root@onc2:~> mplsadm.new -A -O atm:0/33:atm0 Segmentation fault Oops! The log showed this right at the top of the oops output: Apr 5 16:06:37 onc2 kernel: IA: SDU size over the configured SDU size 10240 IA is the Interphase adapter. The processed oops output is: ksymoops 0.7c on i686 2.4.3. Options used -V (default) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.3/ (default) -m /usr/src/linux/System.map (default) Warning: You did not tell me where to find symbol information. I will assume that the log matches the kernel and modules that are running right now and I'll use the default options above for symbol resolution. If the current kernel and/or modules do not match the log, you can get more accurate output by telling me the kernel version and where to find map, modules, ksyms etc. ksymoops -h explains the options. CPU: 0 EIP: 0010:[<d083daa3>] Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010046 eax: 000493e0 ebx: ced80044 ecx: 00000000 edx: 00000000 esi: ced80000 edi: ced51260 ebp: ced3e000 esp: cedc9c48 ds: 0018 es: 0018 ss: 0018 Process mplsadm.new (pid: 833, stackpage=cedc9000) Stack: ffffffea ced3e000 cfa0a680 00000021 00035a18 00000286 ced51260 cedc9c64 cedc9c64 00000000 00000246 cedc9c74 cedc9c74 00000000 d083dca9 d083dce1 ced3e000 00000000 ced3e000 00000000 c01edd70 ced3e000 00000000 00000021 Call Trace: [<d083dca9>] [<d083dce1>] [<c01edd70>] [<c01eddd6>] [<c01ede9d>] [<c01dfa36>] [<c01dcee7>] [<c014f486>] [<c01dc599>] [<c019e269>] [<c01e0a2e>] [<c01e0436>] [<c01e08b7>] [<c01e06d8>] [<c019508d>] [<c01e06d8>] [<c0195cfc>] [<c01b16c8>] [<c01b17f0>] [<d083d0f5>] [<c019a1cd>] [<c01964cb>] [<c0106daf>] Code: f7 77 0c 89 c3 b8 01 00 00 00 85 db 0f 44 d8 80 7f 2c 00 74 >>EIP; d083daa3 <[iphase]ia_close+1b3/330> <===== Trace; d083dca9 <[iphase]ia_open+89/d8> Trace; d083dce1 <[iphase]ia_open+c1/d8> Trace; c01edd70 <atm_do_connect_dev+14c/184> Trace; c01eddd6 <atm_do_connect+2e/34> Trace; c01ede9d <atm_connect_vcc+c1/120> Trace; c01dfa36 <mpls_atm_create_vcc+1ca/244> Trace; c01dcee7 <mpls_add_out_label+20b/4ac> Trace; c014f486 <nfs_read_rpcsetup+3a/ec> Trace; c01dc599 <mpls_rtm_newnhlfe+d/14> Trace; c019e269 <rtnetlink_rcv+24d/38c> Trace; c01e0a2e <netlink_data_ready+1a/60> Trace; c01e0436 <netlink_unicast+296/2dc> Trace; c01e08b7 <netlink_sendmsg+1df/1f0> Trace; c01e06d8 <netlink_sendmsg+0/1f0> Trace; c019508d <sock_sendmsg+81/a4> Trace; c01e06d8 <netlink_sendmsg+0/1f0> Trace; c0195cfc <sys_sendto+d0/f0> Trace; c01b16c8 <ip_rcv+358/390> Trace; c01b17f0 <ip_rcv_finish+0/210> Trace; d083d0f5 <[iphase]ia_int+85/94> Trace; c019a1cd <net_rx_action+125/240> Trace; c01964cb <sys_socketcall+123/1dc> Trace; c0106daf <system_call+33/38> Code; d083daa3 <[iphase]ia_close+1b3/330> 00000000 <_EIP>: Code; d083daa3 <[iphase]ia_close+1b3/330> <===== 0: f7 77 0c div 0xc(%edi),%eax <===== Code; d083daa6 <[iphase]ia_close+1b6/330> 3: 89 c3 mov %eax,%ebx Code; d083daa8 <[iphase]ia_close+1b8/330> 5: b8 01 00 00 00 mov $0x1,%eax Code; d083daad <[iphase]ia_close+1bd/330> a: 85 db test %ebx,%ebx Code; d083daaf <[iphase]ia_close+1bf/330> c: 0f 44 d8 cmove %eax,%ebx Code; d083dab2 <[iphase]ia_close+1c2/330> f: 80 7f 2c 00 cmpb $0x0,0x2c(%edi) Code; d083dab6 <[iphase]ia_close+1c6/330> 13: 74 00 je 15 <_EIP+0x15> d083dab8 <[iphase]ia_close+1c8/330> 1 warning issued. Results may not be reliable. Cheers! Jon > -----Original Message----- > From: James R. Leu [mailto:jl...@mi...] > Sent: Wednesday, April 04, 2001 8:27 PM > To: Earle, Jonathan [CAR:1A31:EXCH] > Cc: 'Linux MPLS List' > Subject: Re: [mpls-linux-general] MPLS and ATM > > > Hello, > > What is the atm index of your ATM card? > > cat /proc/net/atm/device > > It shows up as the Intf. > > When creating your atm interface (via atmarp -c) the index in the name > needs to match that of the index from above. > > Example: > > If the atm card index (from /proc/net/atm/device) is 3 > > atmarp -c atm3 > > I know this is a kind of a ridiculous rule, but due to the nature of > ATM for Linux it is a requirement. Someday I'll get a around > to re-writing > the way ATM interfaces are handled on Linux ... > > Let me know if this still doesn't help. > > Jim > > On Wed, Apr 04, 2001 at 05:51:21PM -0400, Jonathan Earle wrote: > > Hi James, > > > > Setup is as follows: > > > > Interphase 5575 ATM NIC > > Kernel 2.4.3 > > MPLS v0.990 > > > > Basic IP connectivity between the two NICs works fine. I > configure the NICs > > thusly: > > > > master) > > atmsigd -b -m network > > atmarpd -b > > sleep 2s > > > > if [ "$adapter" != "atm$anum" ]; then > > atmarp -c atm$anum > > fi > > > > ifconfig atm$anum 192.168.1.1 up > > sleep 2s > > atmarp -s 192.168.1.2 0.0.102 > > ;; > > slave) > > atmsigd -b > > atmarpd -b > > sleep 2s > > > > if [ "$adapter" != "atm$anum" ]; then > > atmarp -c atm$anum > > fi > > > > ifconfig atm$anum 192.168.1.2 up > > sleep 2s > > atmarp -s 192.168.1.1 0.0.102 > > ;; > > > > Using the examples in REAME.atm, I can create the labelspace: > > > > root@onc4:~> cat /proc/net/mpls_labelspace > > lo 0 > > teql0 0 > > atm1 3 > > > > But not IN labels: > > > > mpls_add_in_label: enter > > mpls_info_default_in_instruction: enter > > mpls_info_default_in_instruction: exit > > mpls_atm_create_vcc: enter(1,0,33,1) > > mpls_atm_create_vcc: adev == NULL > > mpls_add_in_label: failed creating vcc > > __mpls_del_in_label: enter > > __mpls_del_in_label: exit > > mpls_add_in_label: exit > > > > or OUT labels: > > > > mpls_add_out_label: enter > > mpls_info_default_moi_instruction: enter > > mpls_info_default_moi_instruction: exit > > mpls_atm_create_vcc: enter(1,0,33,2) > > mpls_atm_create_vcc: adev == NULL > > mpls_add_out_label: failed to create VCC > > __mpls_del_out_label: enter > > __mpls_del_out_label: exit > > mpls_add_out_label: exit > > > > Cheers! > > Jon > > > > _______________________________________________ > > mpls-linux-general mailing list > > mpl...@li... > > http://lists.sourceforge.net/lists/listinfo/mpls-linux-general > > -- > James R. Leu > |