# 13.0-RELEASE -- setting mtu in rc.conf causes kernel panic?



## da1 (Sep 5, 2021)

Hello everyone,

I have a freshly upgraded 13.0-RELEASE running on an old HP Proliant DL380 G5.
/boot/loader.conf:

```
security.bsd.allow_destructive_dtrace=0
vfs.root.mountfrom="zfs:zroot/ROOT/default"
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
opensolaris_load="YES"
zfs_load="YES"
mlx4_load="YES"
mlx4en_load="YES"
ipmi_load="YES"
```
/etc/rc.conf:

```
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"
hostname="backup2.local"
ifconfig_em0="inet 192.168.6.88 netmask 255.255.255.0"
defaultrouter="192.168.6.1"
sshd_enable="YES"
ntpdate_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
ifconfig_mlxen0="inet 172.16.7.2 netmask 255.255.255.0 mtu 9000"
```

I have the exact same config on another DL380 G6 and it works fine.

Attached is a picture of the kernel panic.

Any ideas are welcomed, thank you!


----------



## Phishfry (Sep 5, 2021)

What happens when you set the MTU on a separate line:
create_args_mlxen0="up mtu 9000"
or
create_args_mlxen0="mtu 9000"
What happens when you set it on the command line?


----------



## Phishfry (Sep 5, 2021)

Looking at your crash info I would say with 90% certainty that it is related to this iflib bug.





						241403 – iflib_debugnet_init sometimes provides bogus zero values shortly after ifnet_link_event:LINK_STATE_UP event
					






					bugs.freebsd.org


----------



## Phishfry (Sep 5, 2021)

da1 said:


> running on an old HP Proliant DL380 G5





da1 said:


> I have the exact same config on another DL380 G6 and it works fine.


So G5 crashes but G6 does run fine? Have you tried swapping the two network cards around?
Have you checked the firmware versions on the cards? Are they up to date?


----------



## da1 (Sep 5, 2021)

Setting the MTU via the command line works just fine. The other server, the G6, still runs 12.1 and is working just fine. Using either:

```
create_args_mlxen0="up mtu 9000"
or
create_args_mlxen0="mtu 9000"
```
 does not actually change the MTU. On the flip side, it doesn't crash the kernel either lol.

I can't swap the cards around since they're remote machines.

PS: I'm currently setting the MTU via /etc/rc.local.


----------

