kyua: Do not count skipped as passed in test cmd
It changes output of 'kyua test' CLI command only. Hence, other outputs
like junit are kept intact for CI and other use cases. It's meant to
improve UX of attended use cases.
The issue is that the following can be tricky to interpret:
222/222 passed (0 failed)
It can be read as all tests are passed, but it might be a summary line
of all tests skipped due to some requirement is not met.
It's reworked to easily distinguish such cases:
222/222 passed (0 broken, 0 failed, 0 skipped)
0/222 passed (0 broken, 0 failed, 222 skipped)
The overall formula is:
[11 lines not shown]
kyua: fix gcc builds
For some reason execenv::exec() isn't successfully marked noreturn
(rlibby reports that virtual functions can't be noreturn), but calling
methods are so gcc rightly complains. Work around this by adding
explicit __builtin_unreachable() calls.
Reviewed by: imp, markj
Fixes: 257e70f1d5ee kyua: Add FreeBSD Jail execution environment support
Differential Revision: https://reviews.freebsd.org/D46041
(cherry picked from commit 47fb5d2b13c5ca8e1a3b05ed223d62ea4b43b3e8)
Approved by: kp (mentor), markj (mentor)
kyua: Add FreeBSD Jail execution environment support
A new Kyua concept is added -- "execution environment". A test can be
configured to be run within a specific environment. The test case
lifecycle is extended respectively:
- execenv init (creates a jail or does nothing for default
execenv="host")
- test exec
- cleanup exec (optional)
- execenv cleanup (removes a jail or does nothing for default
execenv="host")
The following new functionality is provided, from bottom to top:
1 ATF based tests
- The new "execenv" metadata property can be set to explicitly ask for
an execution environment: "host" or "jail". If it's not defined, as
all existing tests do, then it implicitly means "host".
[48 lines not shown]
igc: txrx function prototype cleanup
Drop variable names of function prototypes since the file is mixed in
listing them or not and they fall out of sync.
Sponsored by: BBOX.io
(cherry picked from commit 7763b194d8de6fe8034f754064449a7510ca16b9)
e1000: txrx function prototype cleanup
Drop variable names of function prototypes since the file is mixed in
listing them or not and they fall out of sync.
Sponsored by: BBOX.io
(cherry picked from commit 9dc452b983f042aa9d2a2562517d44c1928ff42a)
igc: Function prototype cleanup
Drop variable names of function prototypes since the file is mixed in
listing them or not and they fall out of sync.
Sponsored by: BBOX.io
(cherry picked from commit 1b0e41ddffbf0ac84c88019df84dfd50ce9f7788)
igc: Rename 'struct adapter' to 'struct igc_softc'
Rename the 'struct adapter' to 'struct igc_softc' to avoid type
ambiguity in things like kgdb and make sharing code with e1000 and
ixgbe easier.
Sponsored by: BBOX.io
(cherry picked from commit 542f5d56317e94676cf19cb9d66207bf9a6b6758)
pf tests: disable epsv for the ftp proxy test
The update to py-twisted 24.7.0 broke EPSV mode in twisted's ftp server.
Work around this by disabling EPSV (and thus using PASV).
PR: 282154
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
(cherry picked from commit 9cd6ab45a44607ea862c8bbb2ebaa8a7521178ff)
if_enc(4): Use new KPI to create enc interface
This driver allows only exactly one instance to be created. Clone
creating additional interfaces, e.g. `ifconfig enc1 create`, will get
error EEXIST which is somewhat confusing.
Convert to new KPI for less confusing error ENOSPC.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45758
(cherry picked from commit eacad82f3ad0af7d74968e73ed383fc4531d1924)
igc: Want AIM at 2.5G
This should have been commited with bc9402a, need to account for
link_speed of 2500 as well on igc.
Sponsored by: Rubicon Communications, LLC ("Netgate")
Sponsored by: BBOX.io
(cherry picked from commit 669d26e5764f612cc60a4a61cdcf22ae46ddd360)
igc: Add AIM
igc is derived from igb and has never had an AIM implementation. The
same algorithm from e1000 is appropriate here.
Upon more detailed study of the Linux driver which has a newer AIM
implementation, it finally became clear to me this is actually a
holdoff timer and not an interrupt limit as it is conventionally
(statically) programmed and displayed as an interrupt rate. The data
sheets also make this somewhat clear.
Thus, AIM accomplishes two beneficial things for a wide variety of
workloads[1]:
1. At low throughput/packet rates, it will significantly lower latency
(by counter-intuitively "increasing" the interrupt rate.. better
thought of as decreasing the holdoff timer because you will modulate
down before coming anywhere near these interrupt rates).
2. At bulk data rates, it is tuned to achieve a lower interrupt rate
[20 lines not shown]
debugnet: Use precise types when accessing mbuf contents
This might be useful when adding bounds checks to mtod(). No functional
change intended.
MFC after: 1 week
(cherry picked from commit 5c385a54fe9ccbd3f28f20b5a025a856d229fa05)
e1000: Re-add AIM
We originally left this out because iflib modulates interrupts and
accomplishes some level of batching versus the custom queues in the
older driver. Upon more detailed study of the Linux driver which has a
newer implementation, it finally became clear to me this is actually a
holdoff timer and not an interrupt limit as it is conventionally
(statically) programmed and displayed as an interrupt rate. The data
sheets also make this somewhat clear.
Thus, AIM accomplishes two beneficial things for a wide variety of
workloads[1]:
1. At low throughput/packet rates, it will significantly lower latency
(by counter-intuitively "increasing" the interrupt rate.. better
thought of as decreasing the holdoff timer because you will modulate
down before coming anywhere near these interrupt rates).
2. At bulk data rates, it is tuned to achieve a lower interrupt rate
(by increasing the holdoff timer) than the current static 8000/s. This
[23 lines not shown]
netpfil tests: run in parallel
Run these tests in their own (vnet) jail so we don't have to worry about IP
range or jail name conflicts.
Reviewed by: markj
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46040
(cherry picked from commit 4f752a1583dc97d166caae7f844bf42715e99978)
Approved by: kp (mentor), markj (mentor)
if_vlan: handle VID conflicts
If we fail to change the vlan id we have to undo the removal (and vlan id
change) in the error path. Otherwise we'll have removed the vlan object from the
hash table, and have the wrong vlan id as well. Subsequent modification attempts
will then try to remove an entry which doesn't exist, and panic.
Undo the vlan id modification if the insertion in the hash table fails, and
re-insert it under the original vlan id.
PR: 279195
Reviewed by: zlei
MFC atfer: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D45285
(cherry picked from commit bdd12889eaa64032b3d09ef47e9a6f7081863378)
ixgbe: add reset count field to HW struct
DPDK commit message
net/ixgbe/base: add reset count field to HW struct
Add fw_rst_cnt to store the number of resets after fw update.
This value is required to detect if the EICR.MNG event occurred
after firmware update reset.
Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
Obtained from: DPDK (9ab0e9c)
(cherry picked from commit 224f7ab8b4706653c7d3f78e624bc36c97679f30)
ixgbe: increase VF reset timeout
DPDK commit meesage
When VF issues a reset to PF there is a 50 msec wait plus an additional
max of 1 msec (200 * 5us) for the PF to indicate the reset is complete
before timeout.
In some cases, it is seen that the reset is timing out, in which case
the reset does not complete and an error is returned.
In order to account for this, continue to wait an initial 50 msecs, but
then allow a max of an additional 50 msecs (10,000 * 5us) for the
command to complete.
Fixes: af75078 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
[5 lines not shown]
ixgbe: fix PHY ID for X550
DPDK commit message
net/ixgbe/base: fix PHY ID for X550
Function ixgbe_get_phy_type_from_id() for X550_PHY_ID2 and
X550_PHY_ID3 always return ixgbe_phy_unknown instead of ixgbe_phy_aq
because phy ID's last 4 bits are always masked, and should not be
taken into account when selecting phy type.
This patch adds default PHY ID for X550 devices with mask on last 4
bits (0xFFFFFFF0), and fixes the switch statement to use it.
Fixes: 58ddc80 ("ixgbe/base: add new X550 PHY ids")
Cc: stable at dpdk.org
Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
[4 lines not shown]
ixgbe: improve Atom C3000 SWFW semaphore acq
DPDK commit message
net/ixgbe/base: improve SWFW semaphore acquisition
HWSW semaphore acquisition in Atom C3000 NIC is a two stage process.
Each time two semaphore acquisitions are required. Each second semaphore
failure requires re-acquisition of first semaphore. This patch decouples
the two acquisitions preventing potentially hundreds of thousands
of unnecessary loop iterations.
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Obtained from: DPDK (99f960c)
(cherry picked from commit cc9944183187308a71489651b11342d293aac7d1)
ixgbe: remove circular dependency in ixgbe_mbx.h
DPDK commit message
net/ixgbe/base: remove circular header dependency
Including one header file in second header file should be avoided, so
fix it by forward declaring the struct instead.
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Obtained from: DPDK (0bc2af5)
(cherry picked from commit 3167854b9d2188c4039239f741870e044b7507ac)
ixgbe: increase DCB BW calculation for MTU
Change max credit and credit refill to a maximum possible value, 9128.
Too small values cause the incorrect calculation of the bandwidth limits
to each traffic class for frames larger than 4088 bytes.
Signed-off-by: Radoslaw Tyl <radoslawx.tyl at intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
Reviewed-by: Alice Michael <alice.michael at intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski at intel.com>
Obtained from: DPDK (440823f)
(cherry picked from commit 1b80ac6fa64eaa575b99521cbd71a3780bf5139b)