NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/57652: ixl(4) doesn't fully support vlan(4)



>Number:         57652
>Category:       kern
>Synopsis:       ixl(4) doesn't fully support vlan(4)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 11 10:25:00 +0000 2023
>Originator:     Manuel Bouyer
>Release:        NetBSD 10.0_BETA
>Organization:
>Environment:
>Description:
	
	a vlan(4) interface attached to ixl(4) has its MTU truncated to 1496:
vlan584: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1496
        capabilities=0x3ff00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx>
	capabilities=0x3ff00<UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx,TCP6CSUM_Tx>
	capabilities=0x3ff00<UDP6CSUM_Rx,UDP6CSUM_Tx>
	enabled=0
	vlan: 584 parent: ixl1

	This is because ixl(4) doesn't announce VLAN_MTU in ec_capabilities.
	I tried this simple patch:

--- sys/dev/pci/if_ixl.c.orig	2023-10-11 11:23:55.534559844 +0200
+++ sys/dev/pci/if_ixl.c	2023-10-11 11:24:20.514192237 +0200
@@ -1320,6 +1320,7 @@
 #endif
 	ether_set_vlan_cb(&sc->sc_ec, ixl_vlan_cb);
 	sc->sc_ec.ec_capabilities |= ETHERCAP_JUMBO_MTU;
+	sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_MTU;
 	sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_HWTAGGING;
 	sc->sc_ec.ec_capabilities |= ETHERCAP_VLAN_HWFILTER;

	which cause vlan(4) to have a 1500-byte MTU, but then packets larger
	than 1496 bytes are not received so this is not enough; the driver
	needs to handle VLAN_MTU in ec_enabled too.

	BTW, I have JUMBO_MTU set in ec_enabled, even though I'm not using
	large ethernet frames ...
ixl1: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=0x3ff00<IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx>
	capabilities=0x3ff00<UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx,TCP6CSUM_Tx>
	capabilities=0x3ff00<UDP6CSUM_Rx,UDP6CSUM_Tx>
	enabled=0
	ec_capabilities=0xe<VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWFILTER>
	ec_enabled=0x6<VLAN_HWTAGGING,JUMBO_MTU>

>How-To-Repeat:
	configure a vlan(4) on a ixl(4) and try a ping -s1500 from a remote
	machine
>Fix:
	please



Home | Main Index | Thread Index | Old Index