Provide a genetlink family to configure TSN features on NXP hardware.
Its user space consumer is https://github.com/nxp-qoriq/tsntool.
TSN guaranteed packet transport with bounded low latency, low packet
delay variation, and low packet loss by hardware and software methods.
The three basic components of TSN are:
1. Time synchronization: This is covered by the IEEE 1588 Precision Time
Protocol (or the 802.1AS profile). PTP has its own kernel subsystem
and is not covered by this netlink framework.
2. Scheduling, traffic shaping and per-stream filter and policing:
Qbv/Qci/Qbu/8021CB/Qav etc.
3. Selection of communication paths:
This framework does not support the pure software TSN protocols
(like Qcc), but hardware related configuration.
TSN features supported by this framework:
- 802.1Qbv (legacy - kernel equivalent: tc-taprio)
- 802.1Qci (partially legacy - less featured kernel equivalent:
tc-gate/tc-police)
- 802.1Qbu/802.3br (legacy - kernel equivalent: tc-mqprio/tc-taprio +
ethtool-mm)
- 802.1Qav (legacy - kernel equivalent: tc-cbs)
- 802.1CB
- VLAN PCP QoS classification
Where applicable, using the in-kernel equivalents for configuring TSN
features is highly preferable to using the NXP API variants.
Signed-off-by: Po Liu <Po.Liu@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>