Hi Vincenzo,

we can get rid if the panic if we compile the kernel without netmap, then load an up to date netmap as a module. We can live with that for now.

Some time last year before Free BSD 11 was branched from head, we compiled a checkout and it worked without problem on the same hardware setup. I may try and figure out what the regression is, I'm not familiar with the FreeBSD release process either though.

Thanks,
Joe Jones

On 24/03/17 10:29, Vincenzo Maffione wrote:
Hi Joe,
There was a fix for a panic in emulated mode that was applied stable/11 branch, so I guess it also ended up into FreeBSD-11.0-STABLE. I don't know whether the same fix ended up into in 11.0-RELEASE-p8 (I'm not familiar with FreeBSD releasing process, sorry!).

Or maybe this panic happens with netmap upstream?
If this is a new bug, it would be nice to have the kernel with the debug symbols enabled, so that we can get more detailed information from the stack trace.

Cheers,
  Vincenzo

2017-03-24 11:19 GMT+01:00 Joe Jones <j...@stream-technologies.com <mailto:j...@stream-technologies.com>>:

    Hi Vincenzo,

    I just tried with that sysctl set to 2, I get a similar looking
    panic  to before

    Fatal trap 12: page fault while in kernel mode
    cpuid = 7; apic id = 0e
    fault virtual address    = 0x1
    fault code        = supervisor read data, page not present
    instruction pointer    = 0x20:0xffffffff806e38aa
    stack pointer            = 0x28:0xfffffe047ba18440
    frame pointer            = 0x28:0xfffffe047ba18490
    code segment        = base 0x0, limit 0xfffff, type 0x1b
                = DPL 0, pres 1, long 1, def32 0, gran 1
    processor eflags    = interrupt enabled, resume, IOPL = 0
    current process        = 2205 (main)
    trap number        = 12
    panic: page fault
    cpuid = 7
    KDB: stack backtrace:
    #0 0xffffffff80b240f7 at kdb_backtrace+0x67
    #1 0xffffffff80ad9462 at vpanic+0x182
    #2 0xffffffff80ad92d3 at panic+0x43
    #3 0xffffffff80fa1d51 at trap_fatal+0x351
    #4 0xffffffff80fa1f43 at trap_pfault+0x1e3
    #5 0xffffffff80fa14ec at trap+0x26c
    #6 0xffffffff80f841c1 at calltrap+0x8
    #7 0xffffffff806e5a80 at generic_netmap_txsync+0x330
    #8 0xffffffff806e06f9 at netmap_ioctl+0x279
    #9 0xffffffff8098624f at devfs_ioctl_f+0x13f
    #10 0xffffffff80b41b34 at kern_ioctl+0x2d4
    #11 0xffffffff80b417f1 at sys_ioctl+0x171
    #12 0xffffffff80fa26ae at amd64_syscall+0x4ce
    #13 0xffffffff80f844ab at Xfast_syscall+0xfb

    This is on 11.0-RELEASE-p8

    Thanks,
    Joe Jones

    On 23/03/17 18:20, Vincenzo Maffione wrote:

        Hi,
          You could try to use netmap in emulated mode (sysctl
        dev.netmap.admode=2). If this works, at least you know that
        the problem is in the cxgbe netmap support and not in the
        netmap core itself.

        Cheers,
          Vincenzo

        2017-03-23 14:00 GMT+01:00 Joe Jones
        <j...@stream-technologies.com
        <mailto:j...@stream-technologies.com>
        <mailto:j...@stream-technologies.com
        <mailto:j...@stream-technologies.com>>>:

            Hello,

            We have a T520-SO and have made a new install of 11.0, to
        begin
            with the box would panic every time we tried to switch the
        card
            into netmap mode. So we recompiled the kernel with netmap
        removed,
            then compiled the netmap kernel module from github, as
        this in our
            experience generally leads to a more stable netmap.

            we have

            uname -a
            FreeBSD goose2 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0:
        Wed Mar
22 16:52:35 UTC 2017 joe@goose2:/usr/obj/usr/src/sys/GENERIC amd64

            and the following in /boot/loader.conf

            t4fw_cfg_load="YES"
            t5fw_cfg_load="YES"
            if_cxgbe_load="YES"
            hw.cxgbe.fl_pktshift=0
            hw.cxgbe.toecaps_allowed=0
            hw.cxgbe.nnmtxq10g=8
            hw.cxgbe.nnmrxq10g=8
            hw.cxgbe.num_vis=2

            Before I run our application I run

            ifconfig cxl1 promisc -vlanhwtag up

            Now our application can now start without panicking the
        kernel.
            Here is where it gets interesting, our application is able to
            announce it's self via ARP, I can see the ethernet switch
        learning
            which port it's on, and other hosts adding it to their ARP
        tables.
            When I try an ICMP ping it goes missing. After watching the TX
            packet graph for the connected port on the switch while
        starting
            and stopping a flood ping to the application, I'm sure the
        packets
            are getting sent to the card, however I don't see them in the
            netmap ring. If I kill our application, then use ifconfig to
            create and configure a vlan port I can confirm that the
        card is
            working and has connectivity.

            Here's what I think is happening. ARP requests are received
            because they are sent to the broadcast address. Our
        application
            then announces it's self. However traffic destined for the
            application is send to a MAC address which is neither the
            broadcast or the MAC programed into the hardware and is
        dropped.
            My understanding of promiscuous it that it informs the
        card that
            we want these dropped packets. It looks to me like, when
        the card
            is in netmap mode the promisc flag is being ignored.

            I have also tried using freebsd-update to update to p8. As
        with
            the p0 kernel we get a panic when we switch the card into
        netmap mode.

            We did previously have these cards working in netmap mode.
        We were
            using a pre 11 snapshot of the svn head though .

            Many Thanks

            Joe Jones
            Stream Technologies

            _______________________________________________
        freebsd-net@freebsd.org <mailto:freebsd-net@freebsd.org>
        <mailto:freebsd-net@freebsd.org
        <mailto:freebsd-net@freebsd.org>> mailing list
        https://lists.freebsd.org/mailman/listinfo/freebsd-net
        <https://lists.freebsd.org/mailman/listinfo/freebsd-net>
            <https://lists.freebsd.org/mailman/listinfo/freebsd-net
        <https://lists.freebsd.org/mailman/listinfo/freebsd-net>>
            To unsubscribe, send any mail to
            "freebsd-net-unsubscr...@freebsd.org
        <mailto:freebsd-net-unsubscr...@freebsd.org>
            <mailto:freebsd-net-unsubscr...@freebsd.org
        <mailto:freebsd-net-unsubscr...@freebsd.org>>"




-- Vincenzo Maffione





--
Vincenzo Maffione

_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to