Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Sep 2020 16:33:18 +0000
From:      "Scheffenegger, Richard" <Richard.Scheffenegger@netapp.com>
To:        "net@FreeBSD.org" <net@FreeBSD.org>, "transport@freebsd.org" <transport@freebsd.org>
Subject:   Socket option to configure Ethernet PCP / CoS per-flow
Message-ID:  <SN4PR0601MB372898DF9D2838392B22C7AF86240@SN4PR0601MB3728.namprd06.prod.outlook.com>

next in thread | raw e-mail | index | archive | help
Hi,

Currently, upstream head has only an IOCTL API to set up interface-wide def=
ault PCP marking:

#define  SIOCGVLANPCP    SIOCGLANPCP     /* Get VLAN PCP */
#define   SIOCSVLANPCP    SIOCSLANPCP      /* Set VLAN PCP */

And the interface is via ifconfig <if> pcp <x>.

However, while this allows all traffic sent via a specific interface to be =
marked with a PCP (priority code point), it defeats the purpose of PFC (pri=
ority flow control) which works by individually pausing different queues of=
 an interface, provided there is an actual differentiation of traffic into =
those various classes.

Internally, we have added a socket option (SO_VLAN_PCP) to change the PCP s=
pecifically for traffic associated with that socket, to be marked different=
ly from whatever the interface default is (unmarked, or the default PCP).

Does the community see value in having such a socket option widely availabl=
e? (Linux currently doesn't seem to have a per-socket option either, only a=
 per-interface IOCTL API).

Best regards,

Richard Scheffenegger




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SN4PR0601MB372898DF9D2838392B22C7AF86240>