Chelsio T6225-CR has arrived

Boot messages for stable/11:

t6nex0: <Chelsio T6225-CR> mem 0xfac80000-0xfacfffff,0xf9000000-0xf9ffffff,0xfaff6000-0xfaff7fff irq 16 at device 0.4 on pci6
t6nex0: firmware on card (1.16.63.0) is older than the version bundled with this driver, installing firmware 1.19.1.0 on card.
cc0: <port 0> on t6nex0
cc0: Ethernet address: 00:07:43:XX:XX:X0
cc0: 4 txq, 4 rxq (NIC); 4 txq, 2 rxq (TOE)
cc1: <port 1> on t6nex0
cc1: Ethernet address: 00:07:43:XX:XX:X8
cc1: 4 txq, 4 rxq (NIC); 4 txq, 2 rxq (TOE)
t6nex0: PCIe gen2 x4, 2 ports, 14 MSI-X interrupts, 31 eq, 13 iq
pci6: <mass storage, SCSI> at device 0.5 (no driver attached)
pci6: <serial bus, Fibre Channel> at device 0.6 (no driver attached)

Output from ifconfig:

cc0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:07:43:XX:XX:X0
        hwaddr 00:07:43:XX:XX:X0
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet 25GBase-SR <full-duplex,rxpause,txpause>
        status: no carrier
cc1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:07:43:XX:XX:X8
        hwaddr 00:07:43:XX:XX:X8
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet 25GBase-SR <full-duplex,rxpause,txpause>
        status: no carrier

None of the ports are connected. I’m waiting for SFP+ modules to arrive.

#notsponsored

BTW. The Gutenberg Editor for WordPress is a nightmare in conjunction with the SyntaxHighlighter plugin. I went back to the Classic Editor which gives me far more control.

Chelsio T6225-CR and SM25G-SR

I recently ordered a Chelsio T6225-CR network interface card and a couple of SM25G-SR SFP28 optical modules.

The aim is to get a 10 Gbit/s connection to the LAN, utilise the off-load capabilities of the NIC, and of course utilise the on-board crypto accelerator. The latter will not be useable until the system moves to the upcoming stable/12 branch.

Speaking of stable/12, I look forward to encrypted crash dumps and linear ZFS scrubbing.

I hope both OpenSSH and OpenSSL will be able to use the crypto accelerator by ways of crypto(4). Imagine a crypto speed in excess of 30 Gbit/s. That’s pretty neat. If all goes well, another T6225-CR may find its way to a VPN router.

Migrating UFS filesystem from one disk to another

I needed to migrate an UFS filesystem from one disk to another. I had several options including using two tar processes in a pipeline or using dump and restore in a pipeline. I opted for the latter to make sure everything got preserved during the transfer.

Here’s the sequence of commands where /dev/gpt/nroot0 is the GPT label of the new filesystem and / is the donor filesystem:

newfs /dev/gpt/nroot0
mount /dev/gpt/nroot0 /mnt
cd /mnt
rmdir .snap
dump -0LaP 'restore -rf -' /
cd /
umount /mnt

efi_max_resolution needed on base/head for UEFI systems without FHD displays

r331464 added efi_max_resolution. If you run base/head on monitors without Full HD (FHD), then you might need to specify your desired resolution in /boot/loader.conf.

This should suffice for a resolution of 1280×1024 on 19 inches displays.

efi_max_resolution="1280x1024"

Kernel panic due to memory corruption

This is what a kernel panic may look like when facing memory corruption.

kernel: panic: solaris assert: arc_buf_alloc_impl(hdr, private, compressed_read, 1, &buf) == 0 (0x5 == 0x0), file: /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c, line: 5318
kernel: cpuid = 1
kernel: KDB: stack backtrace:
kernel: db_trace_self_wrapper() at 0xffffffff8046b52b = db_trace_self_wrapper+0x2b/frame 0xfffffe0122681380
kernel: vpanic() at 0xffffffff806c5ba6 = vpanic+0x186/frame 0xfffffe0122681400
kernel: panic() at 0xffffffff806c5a13 = panic+0x43/frame 0xfffffe0122681460
kernel: assfail3() at 0xffffffff8030987c = assfail3+0x2c/frame 0xfffffe0122681480
kernel: arc_read() at 0xffffffff80322ddc = arc_read+0x83c/frame 0xfffffe0122681510
kernel: dbuf_read() at 0xffffffff8032e918 = dbuf_read+0x678/frame 0xfffffe01226815c0
kernel: dmu_buf_hold_array_by_dnode() at 0xffffffff80338bf3 = dmu_buf_hold_array_by_dnode+0x203/frame 0xfffffe0122681630
kernel: dmu_read_uio_dnode() at 0xffffffff8033a167 = dmu_read_uio_dnode+0x37/frame 0xfffffe01226816a0
kernel: dmu_read_uio_dbuf() at 0xffffffff8033a10b = dmu_read_uio_dbuf+0x3b/frame 0xfffffe01226816d0
kernel: zfs_freebsd_read() at 0xffffffff803d7e80 = zfs_freebsd_read+0x660/frame 0xfffffe0122681780
kernel: VOP_READ_APV() at 0xffffffff80a7b77c = VOP_READ_APV+0x7c/frame 0xfffffe01226817b0
kernel: vn_read() at 0xffffffff807a0815 = vn_read+0x195/frame 0xfffffe0122681830
kernel: vn_io_fault1() at 0xffffffff8079e4e9 = vn_io_fault1+0x169/frame 0xfffffe0122681970
kernel: vn_io_fault() at 0xffffffff8079c6ac = vn_io_fault+0x18c/frame 0xfffffe01226819e0
kernel: dofileread() at 0xffffffff807291aa = dofileread+0xba/frame 0xfffffe0122681a20
kernel: kern_readv() at 0xffffffff80728db8 = kern_readv+0x68/frame 0xfffffe0122681a70
kernel: sys_read() at 0xffffffff80728d46 = sys_read+0x86/frame 0xfffffe0122681ac0
kernel: amd64_syscall() at 0xffffffff809d5f18 = amd64_syscall+0xa38/frame 0xfffffe0122681bf0
kernel: fast_syscall_common() at 

pkg add chokes on apparantly wrong OS version

I’m experimenting further with ports-mgmt/synth. I let synth create some packages for me and I then removed all installed packages, save the pkg package manager.

What a surprise I got when attempting to add my own metaport! Continue reading pkg add chokes on apparantly wrong OS version

Joint Python ports in FreeBSD

I woke up this morning only to be greeted by:

# make -C /usr/ports fetchindex
/usr/ports/INDEX-11.bz2                       100% of 2150 kB  695 kBps 00m03s
# pkg version -ovIL=
devel/py27-setuptools              ?   orphaned: devel/py27-setuptools
devel/py36-setuptools              ?   orphaned: devel/py36-setuptools

As per /usr/ports/UPDATING, the solution is:

setenv FLAVOR py27
portupgrade -fpvo devel/py-setuptools devel/py27-setuptools
setenv FLAVOR py36
portupgrade -fpvo devel/py-setuptools devel/py36-setuptools
unsetenv FLAVOR

Take note of the North-American spelling.