Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

[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>> Hi, HS>> 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>> I
HS>> HS>have 2 Questions:
HS>> HS>
HS>> HS>1. Which of the 3 ATM implementations do I have to use ?
HS>> 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>> HS>> natm_interfaces="hatm0" HS>> HS>> plus HARP configuration. See also rc.d/atm[123]. HS>> HS>> HS>2. Do I need ATMARPD ? HS>> 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>> HS>3. Are there examples for SVCs in netgraph/natm/HARP ? HS>> HS>> There is some documentation in /usr/share/examples/atm. For the rc.conf
HS>> variables you should refer to the rc files.
HS>> HS>
HS>Ok. I did some homework. I have now :
HS>
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>
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>
HS>Fatal trap 12: page fault while in kernel mode
HS>fault virtual address = 0x0
HS>fault code            = supervisor write, page not present
HS>...
HS>processor eflags      = interrupt enabled, resume, IOPL=0
HS>current process       = 26 (swi1: net)
HS>trap number           = 12
HS>panic: page fault
HS>Uptime 29s
HS>Cannot dump....
HS>
HS>I have this in my kernel:
HS>
HS>options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
HS>
HS>options         NATM
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>
HS># ATM
HS>device          hatm
HS>device          utopia
HS>device          atm
HS>device          harp
HS>
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)
db> trace
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
sscf_uni_upper(82008013,c18fb000,c1a98300,0,c18fd000) at sscf_uni_upper+0x1a9
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 ---
db>call boot(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 heiner@xxxxxxxxxxxxxxxxxxx:/usr/src/sys/i386/compile/HARP i386

HS>
HS>> HS>I have googled around and found examples for PVCs, but the switch
HS>> supports
HS>> HS>only SVCs. Both ends seem to send/receive SONET frames but nothing more:
HS>> HS>
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>
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>
HS>> HS>Telco -- DSL Router -- FreeBSD as a IP/ATM bridge/router or switch --
HS>> 3Com
HS>> HS>with ethernet clients
HS>> HS>
HS>> HS>Is this possible or do I need a real ATM switch ?
HS>> 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>> HS>
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.

Yes :)


harti


--
Heiner Strauss	heiner@xxxxxxxxx        Bilch International Consulting
www.bilch.com                           Hamburg
Markusstrasse 4
20355 Hamburg                           Tel.: +49 40 3480667