diff --git a/rtos-docs/netx-duo/chapter3.md b/rtos-docs/netx-duo/chapter3.md index 720777f..ead3c93 100644 --- a/rtos-docs/netx-duo/chapter3.md +++ b/rtos-docs/netx-duo/chapter3.md @@ -1454,3 +1454,72 @@ A driver function is needed for each IP interface. Refer to [Chapter 5](chapter5 - Only TCP and UDP sockets are supported - DHCP is usually done by underlayer TCP/IP stack not NetX Duo - Other limitations from underlayer TCP/IP stack + +## TSN Components + +Time-Sensitive Networking (TSN) is a suite of standards crafted by the IEEE 802.1 working group aimed at augmenting the capabilities of Ethernet networks. These standards define mechanisms for transmitting time-sensitive data over deterministic Ethernet networks. + +In this section, the TSN compents in below frame work in colour blue are described. + +![Diagram of TSN Framework](./media/user-guide/tsn-framework.png) + +**FIGURE 15. TSN Framework** + +### Link layer +In NetxDuo, the Link Layer component offers a range of essential functionalities, These include: + +VLAN Interface Creation: NetxDuo allows for the seamless creation of Virtual Local Area Network (VLAN) interfaces, enabling the segmentation of network traffic into distinct logical networks. + +VLAN ID Modification: It provides the capability to modify VLAN IDs on specific VLAN interface, facilitating the customization and management of VLAN configurations to suit specific network requirements. + +Raw Packet Transmission: NetxDuo provides a Raw Packet transmission interface for direct transmission of network packets at the Link Layer. This is particularly useful for specialized network communication needs, such as the direct sending of packets by MRP and ptp components using raw packet transmission. + +Packet Distribution for Received Packets: The Link Layer in NetxDuo efficiently handles the reception of network packets, distributing them appropriately based on packet types. This includes the distribution of VLAN-tagged packets to the corresponding VLAN interfaces and the distribution of untagged packets to the default interface. + +Above functionalities are used by TSN components to implement TSN features. + +### Credit-based shaper (CBS) - IEEE 802.1Qav Forwarding and Queuing Enhancements for Time-Sensitive Stream +Credit-based shaper (CBS) is a traffic shaping mechanism that is in audio video bridge(AVB) network, to ensure/control the bandwidth of specific audio and video traffic streams. this mechanism can ensure that the data is transmitted at a constant rate and to avoid congestion in the network. + +In CBS module of NetxDuo, following functionalities are provided: +- CBS shaper creation and deletion. +- The Mapping configuration of PCP on VLAN tag to related hardware queue. +- CBS parameters Setting, such as idle slope, send slope, and CBS credit limit. + +By utilizing these functionalities, we can assign different SR class traffic to specific hardware queues and control the bandwidth of the traffic by setting the CBS parameters on related hardware queues. + +### Time-Aware Shaper (TAS) - IEEE 802.1Qbv Enhancements to Traffic Scheduling +TAS (Time-Aware Scheduler) in TSN (Time-Sensitive Networking) is designed to ensures deterministic and prioritized communication by controlling the bandwidth allocation for high-priority streams through gate control and regulating cycles. + +The IEEE 802.1Qbv time-aware scheduler orchestrates Ethernet network communication by dividing it into fixed-length, repeating time cycles. Within these cycles, customizable time slices are allocated to one or multiple of the eight Ethernet priorities. This approach enables exclusive utilization of the Ethernet transmission medium for time-sensitive traffic classes, ensuring uninterrupted transmission guarantees when needed. Operating on a time-division multiple access (TDMA) scheme, the scheduler establishes virtual communication channels for specific time periods, effectively segregating time-critical communication from non-critical background traffic. + +In TAS module of NetxDuo, following functionalities are provided: +- TAS shaper creation and deletion. (Shared with CBS and FPE) +- The Mapping configuration of PCP on VLAN tag to related hardware queue.(Shared with CBS) +- TAS parameters setting. Include base time, cycle time, time slot and associated gate control settings. + +By leveraging these functionalities, high-priority traffic can be directed to specific hardware queues with allocated time slots, enabling precise bandwidth control. Furthermore, through synchronized TAS settings across the entire TSN infrastructure and time synchronization facilitated by gPTP (generalized Precision Time Protocol), we can effectively manage end-to-end latency for traffic, ensuring timely and reliable communication. + +### Frame preemption (FPE) - 802.1Qbu +Frame Preemption (FPE) is a TSN feature that allows high-priority frames to interrupt the transmission of lower-priority frames. This feature is particularly useful in time-sensitive applications, where the timely delivery of high-priority frames is critical. By preempting the transmission of lower-priority frames, high-priority frames can be transmitted without delay, ensuring that they are delivered within the required time frame. + +In FPE module of NetxDuo, following functionalities are provided: +- FPE shaper creation and deletion. (Shared with CBS and TAS) +- FPE parameters setting. such as enable/disable the FPE verification, express queue bitmap setting, ha/ra time setting, express queue guard band enable/disable. + +FPE (Frame Preemption Engine) is typically utilized in conjunction with TAS (Time-Aware Scheduler). By fragmenting preemptable frames, the guard band required for preemptable frame slots is reduced, thus increasing bandwidth utilization efficiency. + +### Time synchronization(gPTP) +The gPTP (Generalized Precision Time Protocol), as described in the IEEE 1588 Precision Time Protocol standard, is utilized within Time-Sensitive Networks (TSN) to synchronize time across network devices. + + +### Stream reservation protocol (SRP) + + +### Multiple streams reservation protocol (MSRP) + + +### Multiple vlan registration protocol (MVRP) + + +### Multiple registration protocol (MRP) diff --git a/rtos-docs/netx-duo/chapter6.md b/rtos-docs/netx-duo/chapter6.md deleted file mode 100644 index 43ce3b8..0000000 --- a/rtos-docs/netx-duo/chapter6.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Chapter 6 - TSN components of NetX Duo -description: This chapter contains an introduction to TSN components and a description of its applications and benefits. ---- - -# Chapter 6 - TSN Components of NetX Duo - -This chapter contains an introduction to TSN components and a description of its applications and benefits. - -## Protocol framework -Time-Sensitive Networking (TSN) is a set of standards developed by the IEEE 802.1 working group. These standards define the mechanisms for transmitting time-sensitive data effectively over Ethernet networks. - -In this chapter, the TSN compents in below frame work in colour blue are described. -![TSN Framework](./media/user-guide/tsn-framework.png) - -## Link layer - - - -## Credit-based shaper (CBS) -### Introduction -Credit-based shaper (CBS) is a traffic shaping mechanism that is in audio video bridge(AVB) network, to ensure/control the bandwidth of specific audio and video traffic streams. this mechanism can ensure that the data is transmitted at a constant rate and to avoid congestion in the network. - -### APIs -#### API to set the CBS parameters -```c -UINT nx_shaper_cbs_parameter_set(NX_INTERFACE *interface_ptr, NX_SHAPER_CBS_PARAMETER *cbs_parameter, UCHAR pcp); -``` -This API sets the CBS parameters for the specified interface and priority. The CBS parameters include the maximum burst size, the time interval, and the credit limit. - -#### API to get the CBS parameters -```c -UINT nx_shaper_cbs_parameter_get(NX_INTERFACE *interface_ptr, NX_SHAPER_CBS_PARAMETER *cbs_parameter, UCHAR pcp); -``` -This API gets the CBS parameters for the specified interface and priority. - - -## IEEE 802.1Qbv Enhancements to Traffic Scheduling: Time-Aware Shaper (TAS) -The IEEE 802.1Qbv time-aware scheduler is designed to separate the communication on the Ethernet network into fixed length, repeating time cycles. Within these cycles, different time slices can be configured that can be assigned to one or several of the eight Ethernet priorities. By doing this, it is possible to grant exclusive use - for a limited time - to the Ethernet transmission medium for those traffic classes that need transmission guarantees and can't be interrupted. The basic concept is a time-division multiple access (TDMA) scheme. By establishing virtual communication channels for specific time periods, time-critical communication can be separated from non-critical background traffic. - -## Frame preemption (FPE) -Frame preemption defines two MAC services for an egress port, preemptable MAC (pMAC) and express MAC (eMAC). Express frames can interrupt transmission of preemptable frames. On resume, MAC merge sublayer re-assembles frame fragments in the next bridge. - -## Time synchronization(gPTP) -IEEE 802.1AS-2011 defines the Generalized Precision Time Protocol (gPTP) profile which, like all profiles of IEEE 1588, selects among the options of 1588, but also generalizes the architecture to allow PTP to apply beyond wired Ethernet networks. - -To account for data path delays, the gPTP protocol measures the frame residence time within each bridge (the time required for receiving, processing, queuing and transmission of timing information from the ingress to egress ports), and the link latency of each hop (a propagation delay between two adjacent bridges). These calculated delays are then referenced to the GrandMaster (GM) clock in a bridge elected by the Best Master Clock Algorithm, a clock spanning tree protocol to which all from Clock Master (CM) and endpoint devices attempt to synchronize. Any device which does not synchronize to timing messages is outside of the timing domain boundaries. - -## Stream reservation protocol (SRP) - - - -## Multiple streams reservation protocol (MSRP) - -## Multiple vlan registration protocol (MVRP) - -## Multiple registration protocol (MRP) \ No newline at end of file