[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Switched virtual connection
Harti Brandt wrote:
On Tue, 21 Jun 2005, Heiner Strauss wrote:
HS>Harti Brandt wrote:
HS>> On Tue, 21 Jun 2005, Heiner Strauss wrote:
HS>> HS>Im trying to set up a SVC directly to an atm edge switch (3Com SS II
HS>> with an
HS>> HS>ATM uplink modul). The host has FreeBSD 5.4 and a ForeRunner 155HE card.
HS>> HS>have 2 Questions:
HS>> HS>1. Which of the 3 ATM implementations do I have to use ?
HS>> You should use the HARP stack (that is netatm) plus the hatm driver (that
HS>> needs options atm) and the if_harp driver. Something like:
HS>> plus HARP configuration. See also rc.d/atm.
HS>> HS>2. Do I need ATMARPD ?
HS>> You should google around for HARP. There is somewhere documentation on the
HS>> net. I think, that atmarpd is only needed if you want to synchronize
HS>> several atmarp daemons.
HS>> HS>3. Are there examples for SVCs in netgraph/natm/HARP ?
HS>> There is some documentation in /usr/share/examples/atm. For the rc.conf
HS>> variables you should refer to the rc files.
HS>Ok. I did some homework. I have now :
HS>$ atm show int
HS>Interface Sigmgr State
HS>hatm0 UNI 3.0 INIT
HS> ATM address = 0x47.0005.80.ffe100.0000.0000.0000.0020482e1367.00
HS> Network interfaces: fa0
HS>There is now an UNI 3.0 signal manager and an ATM address. When I plug in the
HS>fiber the machine panics:
HS>Fatal trap 12: page fault while in kernel mode
HS>fault virtual address = 0x0
HS>fault code = supervisor write, page not present
HS>processor eflags = interrupt enabled, resume, IOPL=0
HS>current process = 26 (swi1: net)
HS>trap number = 12
HS>panic: page fault
HS>I have this in my kernel:
HS>options ADAPTIVE_GIANT # Giant mutex is adaptive.
HS>options ATM_CORE #core ATM protocol family
HS>options ATM_IP #IP over ATM support
HS>#options ATM_SIGPVC #SIGPVC signalling manager
HS>#options ATM_SPANS #SPANS signalling manager
HS>options ATM_UNI #UNI signalling manager
HS>What do I have to do know ?
You can remove options NATM (but this has nothing to do with the panic).
Can you please compile in DDB so that we get a stack trace? Also do you
run current? If yes, you should fetch the patches I have committed today.
I have outcommented "options NATM". Here is the stack trace:
air# hatm0: carrier detected
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor write, page not present
instruction pointer = 0x8:0xc18f9000
stack pointer = 0x10:0xcbd20bb8
frame pointer = 0x10:0xcbd20bc0
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 26 (swi1: net)
[thread pid 26 tid 100020 ]
Stopped at 0xc18f9000: addb %al,0(%eax)
Tracing pid 26 tid 100020 td 0xc1502000
_end(c1a98300,c18fe9ec,c1a98400,c1a98300,cbd20be8) at 0xc18f9000
m_tag_delete_chain(c1a98300,0) at m_tag_delete_chain+0x37
mb_dtor_mbuf(c1a98300,100,0,0,0) at mb_dtor_mbuf+0x14
uma_zfree_arg(c1045ae0,c1a98300,0) at uma_zfree_arg+0x38
m_freem(c1a98300) at m_freem+0x2e
sscop_bgn_outconn(c18fd000,c1a98300,c16a9e00) at sscop_bgn_outconn+0xd8
sscop_upper(81808011,c18fd000,c1a98300,0,c1a98300) at sscop_upper+0x8d
harp_recv_stack(c18fe9ec,c1a98300) at harp_recv_stack+0x45
atm_intr(c1a98300) at atm_intr+0x1a
netisr_processqueue(c072d75c) at netisr_processqueue+0x9f
swi_net(0) at swi_net+0xa6
ithread_loop(c14eb480,cbd20d38) at ithread_loop+0x151
fork_exit(c04edef8,c14eb480,cbd20d38) at fork_exit+0x74
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xcbd20d6c, ebp = 0 ---
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...panic:
atm_stack_drain: Queue not emptied
KDB: enter: panic
[thread pid 27 tid 100021 ]
Stopped at kdb_enter+0x2b: nop
Ok, I pull the fiber...
The OS is:
FreeBSD air.schlaf.bilch.com 5.4-STABLE FreeBSD 5.4-STABLE #1: Wed Jun
22 14:35:39 CEST 2005
HS>> HS>I have googled around and found examples for PVCs, but the switch
HS>> HS>only SVCs. Both ends seem to send/receive SONET frames but nothing more:
HS>> HS>hatm0: flags=841<UP,RUNNING,SIMPLEX> mtu 9180
HS>> HS> media: ATM Multi-mode/155MBit
HS>> HS> status: active
HS>> HS>fa0: flags=43<UP,BROADCAST,RUNNING> mtu 9180
HS>> HS> ether 00:20:48:2e:13:67
HS>> HS>On the switch the Link Status LED is green. At the end I want to build
HS>> HS>something like this:
HS>> HS>Telco -- DSL Router -- FreeBSD as a IP/ATM bridge/router or switch --
HS>> HS>with ethernet clients
HS>> HS>Is this possible or do I need a real ATM switch ?
HS>> What do you want the FreeBSD to do here? Should it terminate the pppoa or
HS>> whatever your DLS uses? Or do you want it to transparently connect the DSL
HS>> to the ATM switch on the ATM layer?
HS>Not exactly. For the beginning I just want to build a private ATM net. The
HS>FreeBSD host should provide (IP)-services (imap,http,video...) to the
HS>Ethernet VLANs clients at the 3Com switch. The telco DSL Router is giving me
HS>ethernet, maybe it's possible to connect it to a VLAN at the switch and make
HS>the ATM cells available to my private net. But this is for later. Basicly I
HS>want to have some practical expirience with ATM.
Ok so let's start with the first thing.
Heiner Strauss heiner@xxxxxxxxx Bilch International Consulting
20355 Hamburg Tel.: +49 40 3480667