Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: intel/iotg_tsn_ref_sw
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.4
Choose a base ref
...
head repository: intel/iotg_tsn_ref_sw
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Feb 21, 2023

  1. script: Remove 5 second interval in napi switch on/off

    Changes List:
    - Remove 5 second interval in napi switch on/off to avoid
      extra latency.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Feb 21, 2023
    Copy the full SHA
    1e32682 View commit details
  2. Version update: 0.9.5

    Changes List:
    - Remove 5 second interval in napi switch on/off to avoid
      extra latency.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Feb 21, 2023
    Copy the full SHA
    0ee32cd View commit details

Commits on Jun 23, 2023

  1. config: Add ADL-N SKU5 configuration settings for i225

    Changes List:
    - ADL-N support on SKU5 that only has 2 cores for i225.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jun 23, 2023
    Copy the full SHA
    efc04c2 View commit details
  2. txrx-tsn: Update deprecated pthread function

    Changes:
    - Update deprecated pthread function in TXRX-AFXDP test script
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jun 23, 2023
    Copy the full SHA
    5d149c2 View commit details
  3. txrx-tsn: Update deprecated bpf_xdp function in TXRX-AFXDP test script

    Changes:
    - Update deprecated bpf_xdp function in TXRX-AFXDP test script
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jun 23, 2023
    Copy the full SHA
    a6b6b4a View commit details
  4. txrx-tsn: Refactor xdp cleanup routine

    Changes:
    - Remove remove_xdp_program due to no bpf program
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jun 23, 2023
    Copy the full SHA
    5a116de View commit details
  5. Version update: 0.9.6

    Changes List:
    - ADL-N support on SKU5 that only has 2 cores for i225
    - Update deprecated pthread function in TXRX-AFXDP test script
    - Update deprecated bpf_xdp function in TXRX-AFXDP test script
    - Refactor xdp cleanup routine
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jun 23, 2023
    Copy the full SHA
    c8e7bef View commit details

Commits on Jul 17, 2023

  1. txrx-tsn: Refactor AF_XDP execution flow to support on kernel 6.* and…

    … above
    
    In kernel 6.* there are implementation change that will reset the settings
    during the AF_XDP run. Therefore, refactor on AF_XDP execution flow to
    support on kernel 6.* and above. In kernel 6.* and above AF_XDP will be run
    after configured the settings, while the rest remain the same implementation.
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    64e8ffc View commit details
  2. script: Fix syntax error in build.sh for Ubuntu system

    Changes:
    - Fix syntax error in build.sh to compatible with Ubuntu system
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    347bce6 View commit details
  3. script: Introduce new packages installer

    Changes:
    - New packages installer is introduce to install
      all the required dependencies
    - Deprecate old installer
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    d3cd3c6 View commit details
  4. doc: Update README.md

    Changes:
    - Update README.md on require dependencies and
      method to use new packages installer
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    20c1912 View commit details
  5. script: Add an exception handling for binary file checking

    Changes List:
    - Add exception handling for binary file checking before test initiate
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    7102c5c View commit details
  6. Version update: 0.9.7

    Changes List:
    - Refactor AF_XDP execution flow to support on kernel 6.* and above
    - Fix syntax error in build.sh for Ubuntu
    - Introduce new package installer
    - Update README.md
    - Add an exception handling for binary file checking
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Jul 17, 2023
    Copy the full SHA
    deafd98 View commit details

Commits on Aug 22, 2023

  1. config: Add EHL support for TI-PHY

    Changes:
    - Add EHL support for TI-PHY.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Aug 22, 2023
    Copy the full SHA
    29021b2 View commit details
  2. txrx-tsn: Add extra flush packets in TX thread

    Changes:
    - Extra flush packets are added in TX thread to ensure
      the original num of packets in TX ring is sent
      (similar to kick_tx()).
    - Initiate the packet RX from packet num 1
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Aug 22, 2023
    Copy the full SHA
    dd0fe82 View commit details
  3. txrx-tsn: Tuning NAPI Deferral to improve performance

    Changes:
    - Tune the gro_flush_timeout to 20000ns
    
    Signed-off-by: Goh Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Aug 22, 2023
    Copy the full SHA
    a0f5ed0 View commit details
  4. Version update 0.9.8

    Changes List:
    - Add EHL support for TI-PHY
    - txrx-tsn: Add extra flush packets in TX thread
    - txrx-tsn: Tuning NAPI Deferral to improve performance
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Aug 22, 2023
    Copy the full SHA
    0048337 View commit details

Commits on Sep 7, 2023

  1. config: Update i225 OPCUA-PKT1 mapping

    Update i225 OPCUA-PKT1 mapping to consistent with the TXRX-TSN
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Sep 7, 2023
    Copy the full SHA
    92accd8 View commit details
  2. gen_setup.py: Add eth flowtype proto rx filter processing to json

    i225/i226 is using ethtool flowtype proto filtering to steer receiving packets
    to the correct queue. We are now adding this functionality to support
    ethtool flowtype. It will filter packet according to proto type to the
    specific queue. For example, we are steering ptp packets to queue 0.
    
    Signed-off-by: Noor Azura Ahmad Tarmizi <noor.azura.ahmad.tarmizi@linux.intel.com>
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    Noor Azura Ahmad Tarmizi authored and ws-intel committed Sep 7, 2023
    Copy the full SHA
    c37d274 View commit details
  3. Version update 0.9.9

    Changes List:
    - Update i225 OPCUA-PKT1 mapping
    - Add eth flowtype proto rx filter to json
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Sep 7, 2023
    Copy the full SHA
    cfca981 View commit details

Commits on Oct 9, 2023

  1. src: Code enhancement

    Opportunistic code enhancing done to ease code viewing
    and understanding. No functional changed.
    
    Signed-off-by: Gan, Yi Fang <yi.fang.gan@intel.com>
    ganyifang authored and ws-intel committed Oct 9, 2023
    Copy the full SHA
    c69b3b3 View commit details
  2. Version update 0.9.10

    Changes List:
    - Code enchancement to ease code viewing and understanding
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Oct 9, 2023
    Copy the full SHA
    8d5d298 View commit details

Commits on Nov 8, 2023

  1. script: Update libbpf symbolic link

    On Ubuntu, the symbolic-filename libbpf.so.0 is linked to
    wrong source-filename and causing compilation failed.
    This fix is to make sure the libbpf.so.0 is softlink to
    libbpf.so.0.7.0.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    JunAnnLaiIntel authored and ws-intel committed Nov 8, 2023
    Copy the full SHA
    821d859 View commit details
  2. Version update 0.9.11

    Changes List:
    - Update libbpf symbolic link in packages installer
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Nov 8, 2023
    Copy the full SHA
    135f5ca View commit details

Commits on Dec 18, 2023

  1. script: Remove L2 Foward and Boomerang mode

    Changes:
    - Remove components related to L2 Foward and Boomerang mode
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Dec 18, 2023
    Copy the full SHA
    8d2e014 View commit details
  2. script: Execute with Bash

    Current reference software is running with Bash. Execute the script
    with sh might causing unexpected output on Ubuntu.
    This patch modify the sh to Bash so the script running in Bash.
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    JunAnnLaiIntel authored and ws-intel committed Dec 18, 2023
    Copy the full SHA
    f5b5827 View commit details
  3. json/shell: Add preliminary ASL support

    This is a placeholder for ASL support.
    As per now ASL will have the same configuration as ADL-N.
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    JunAnnLaiIntel authored and ws-intel committed Dec 18, 2023
    Copy the full SHA
    a63d850 View commit details
  4. Version update 0.9.12

    Changes List:
    - Update script to run in bash to avoid unexpected output on Ubuntu
    - Add preliminary ASL support
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Dec 18, 2023
    Copy the full SHA
    a7b880a View commit details

Commits on Feb 8, 2024

  1. shell: Automate core configuration settings for i225 and stmmac (#166)

    * json: Update variable name
    
    Change variable name from cpu_affinity to iperf_cpu_affinity for
    clearer understanding that this cpu affinity is for iperf process.
    
    Suggested-by: Noor Azura Ahmad Tarmizi <noor.azura.ahmad.tarmizi@linux.intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * shell: Update variable name
    
    Change variable name from CPU_AFFINITY to IPERF_CPU_AFFINITY for
    clearer understanding that this cpu affinity is for iperf process.
    
    Suggested-by: Noor Azura Ahmad Tarmizi <noor.azura.ahmad.tarmizi@linux.intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * json: Introduce variable for ptp cpu affinity
    
    Introduce new variable that configure cpu affinity that used by ptp
    process.
    
    Suggested-by: Song, Yoong Siang <yoong.siang.song@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * shell: Introduce variable for ptp cpu affinity
    
    Introduce new variable that configure cpu affinity that used by ptp
    process.
    
    Suggested-by: Song, Yoong Siang <yoong.siang.song@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * shell: Introduce variable for txrx-tsn cpu affinity
    
    Introduce new variable that configure cpu affinity that used by txrn-tsn
    process.
    
    Suggested-by: Song, Yoong Siang <yoong.siang.song@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * json: Automate core configuration settings based on total number of cpu
    
    Some platform SKU has only 2 cores (e.g. ADL-N). With
    this changes it will automatically detect cores number
    that available and select the corresponding
    IRQ_AFFINITY_FILE and CPU_AFFINITY for i225 and stmmac.
    
    Note: When TSN reference software is run with less than
    three cores, the performance will no longer be guaranteed.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * shell: Automate core configuration settings based on total number of cpu
    
    Some platform SKU has only 2 cores (e.g. ADL-N). With
    this changes it will automatically detect cores number
    that available and select the corresponding
    IRQ_AFFINITY_FILE and CPU_AFFINITY for i225 and stmmac.
    
    Note: When TSN reference software is run with less than
    three cores, the performance will no longer be guaranteed.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * shell: Rearrange running process sequence
    
    Align the process sequence for both AFP and XDP that running iperf before
    txrx-tsn.
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    ---------
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    JunAnnLaiIntel authored and ws-intel committed Feb 8, 2024
    Copy the full SHA
    023ba70 View commit details
  2. Automate core configuration settings for ASL platform (#169)

    * shell: Automate core configuration settings for ASL platform
    
    With this changes, it will automatically detect cores number
    that available and select the corresponding IRQ_AFFINITY_FILE
    and CPU_AFFINITY for ASL platform.
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    * json: Automate core configuration settings for ASL platform
    
    With this changes, it will automatically detect cores number
    that available and select the corresponding IRQ_AFFINITY_FILE
    and CPU_AFFINITY for ASL platform.
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    
    ---------
    
    Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
    JunAnnLaiIntel authored and ws-intel committed Feb 8, 2024
    Copy the full SHA
    ea09eaf View commit details
  3. Intel Security Policy and Guideline (#170)

    Intel is committed to rapidly addressing security vulnerabilities
    affecting our customers and providing clear guidance on the
    solution, impact, severity and mitigation.
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Feb 8, 2024
    Copy the full SHA
    1d13d76 View commit details
  4. mount temp_file_dir directory to tmpfs (#165)

    When the `temp_file_dir` directory is not mounted under tmpfs then
    it affects the test result on the tsn ref sw test cases.
    
    By solving the issue, we will check on the `temp_file_dir` folder,
    if it is not mounted under tmpfs then we will create and mount it.
    
    Signed-off-by: Choong Yong Liang <yong.liang.choong@intel.com>
    YongLiang2022 authored and ws-intel committed Feb 8, 2024
    Copy the full SHA
    64b7493 View commit details
  5. Version update 0.9.13

    Changes List:
    - Automate core configuration settings for i225 and stmmac
    - Automate core configuration settings for ASL platform
    - Add Intel security policy and guideline
    - Mount temp_file_dir directory to tmpfs
    
    Signed-off-by: Goh, Wei Sheng <wei.sheng.goh@intel.com>
    ws-intel committed Feb 8, 2024
    Copy the full SHA
    d03a8f7 View commit details

Commits on May 6, 2024

  1. feat(packages_installer): Proxy options on cli

    - Remove hardcoded private intel's proxy
    - Add command line options for insert proxy if needed.
    - Improve documentation on packages_installer.
    - Add's usage description on optional command line args.
    
    Signed-off-by: Lincoln Wallace <lincoln.wallace@canonical.com>
    locnnil authored and HongAun-Intel committed May 6, 2024
    Copy the full SHA
    16bfcfe View commit details
  2. doc(README_json): fixes board names on 1-port instructions.

    The "Usage: 1-port* of OPCUA json runner has wrong description about
    which board to run each command.
    As indicates in the commands itself,
    e.g.: `opcua-pkt1b` that should be run in board B and not in board A.
    
    Signed-off-by: Lincoln Wallace <lincoln.wallace@canonical.com>
    locnnil authored and HongAun-Intel committed May 6, 2024
    Copy the full SHA
    eba220c View commit details
  3. feat(packages_installer): Add Iperf3 and linuxptp on deb dependencies

    * Add iperf3 and linuxptp debian packages as dependencies on package_installer.sh
    * Document the need for iperf3 and linuxptp on README.md
    
    Signed-off-by: Lincoln Wallace <lincoln.wallace@canonical.com>
    locnnil authored and HongAun-Intel committed May 6, 2024
    Copy the full SHA
    73fda84 View commit details
  4. doc(README): Add Ubuntu runtime dependencies

    * Add ethtool dependency with link to needed patches
    * Add link to needed patches for iproute2
    * Add reference to Real time Ubuntu
    
    Signed-off-by: Lincoln Wallace <lincoln.wallace@canonical.com>
    locnnil authored and HongAun-Intel committed May 6, 2024
    Copy the full SHA
    7732a89 View commit details
  5. doc(README_json README_shell): clarify the usage of PLAT argument

    - Add note clarifying the usage of <PLAT> command line argument
    
    Co-authored-by: Farshid Tavakolizadeh <email@farshid.ws>
    Signed-off-by: Lincoln Wallace <lincoln.wallace@canonical.com>
    2 people authored and HongAun-Intel committed May 6, 2024
    Copy the full SHA
    8bbc470 View commit details

Commits on Aug 28, 2024

  1. txrx.c: vlan socket priority handling

    Changes:
    - vlan socket priority value limited to 4
    - for both stmmac and i226
    
    Signed-off-by: mpsuresh <sureshkumar.mp@intel.com>
    mpsuresh-intel authored and HongAun-Intel committed Aug 28, 2024
    Copy the full SHA
    3665974 View commit details

Commits on Aug 30, 2024

  1. Version update 0.9.14

    Changes List:
    - Change vlan socket priority value to be limited to 4 for both stmmac and i226
    - Added support for proxy server input via command line option
    - Fixed description of board information in OPCUA json script runner
    - Add iperf3 and linuxptp debian packages as dependencies on package_installer.sh
    - Added ethtool, iproute2 and ubuntu RT dependencies with links to required patches in README.md
    - Added note clarifying the usage of <PLAT> command line argument in README_json.md
    
    Signed-off-by: Looi, Hong Aun <hong.aun.looi@intel.com>
    HongAun-Intel committed Aug 30, 2024
    Copy the full SHA
    6704440 View commit details

Commits on Jan 14, 2025

  1. json/shell: Enable feature that disable EEE before test execution

    Kernel 6.12 has implemented fix for Energy Efficient Ethernet which
    this fix enable EEE by default for all interfaces. Executing tsnrefsw
    testcases with EEE enabled will affect the performance.
    
    This commit update all config file in shell directory and shell script in
    json directory to enable the feature that ensure EEE is disabled before
    executing tsnrefsw testcases.
    
    Signed-off-by: KhaiWenTan <khai.wen.tan@intel.com>
    KhaiWenTan authored and HongAun-Intel committed Jan 14, 2025
    Copy the full SHA
    64576ca View commit details
  2. script: Change command from lscpu to nproc to get CPU count

    Change command from lscpu to nproc when trying to get
    number of physical CPU. Later versions of lspcu has an
    additional scaling parameter information added, thus
    causing parsing error due to the flow of run.sh.
    
    Using nproc --all will always return a number, which
    represents the number of processors available for use
    to the app.
    
    Signed-off-by: Looi Hong Aun <hong.aun.looi@intel.com>
    Tested-by: Sathiaseelan Mummoorthy <sathiaseelan.mummoorthy@intel.com>
    HongAun-Intel committed Jan 14, 2025
    Copy the full SHA
    bd199c3 View commit details
  3. script: Update liveplot to use replot

    Reread has been deprecated since gnuplot 5.4. Complete
    support of the command has been obsolete starting version
    6.0. Replot is now the expected command to be used, in favour
    of explicit iteration.
    
    This change currently impacts tsq test cases. Plotting behaviour
    and results are identical between replot and reread.
    
    More info can be found here: http://www.gnuplot.info/docs/loc9792.html
    
    Signed-off-by: Looi Hong Aun <hong.aun.looi@intel.com>
    Tested-by: Sathiaseelan Mummoorthy <sathiaseelan.mummoorthy@intel.com>
    HongAun-Intel committed Jan 14, 2025
    Copy the full SHA
    adc43e9 View commit details
  4. shell: Make plot persist after tsq1a exits

    When using replot, it was found that the plot window closes
    after the main application exits. This results in a different
    user experience compared to prior releases. Adding a -persist
    argument restores this user experience.
    
    This command is backward compatible with previous releases
    of gnuplot.
    
    Signed-off-by: Looi Hong Aun <hong.aun.looi@intel.com>
    HongAun-Intel committed Jan 14, 2025
    Copy the full SHA
    04588cb View commit details
  5. Version update 0.9.15

    Changelist:
    - Enable feature that disable EEE before test execution
    - Change command from lscpu to nproc to get CPU count
    - Make plot persist after tsq1a exits
    - Update liveplot to use replot
    
    Signed-off-by: Looi, Hong Aun <hong.aun.looi@intel.com>
    HongAun-Intel committed Jan 14, 2025
    Copy the full SHA
    14ca2bb View commit details
Showing with 1,788 additions and 616 deletions.
  1. +56 −0 CHANGELOG.md
  2. +77 −50 README.md
  3. +7 −2 README_json.md
  4. +4 −0 README_shell.md
  5. +5 −0 Security.md
  6. +1 −1 build.sh
  7. +3 −2 common/irq_affinity_2c_4TxRx.map
  8. +6 −2 common/liveplot.gnu
  9. 0 dependencies/{ → deprecated}/helpers.sh
  10. 0 dependencies/{ → deprecated}/libbpf_open62541_installer.sh
  11. +432 −0 dependencies/packages_installer.sh
  12. +6 −4 json/adln/opcua-A.config
  13. +6 −4 json/adln/opcua-B.config
  14. +4 −2 json/adln/opcua-pkt1a-tsn.json.i
  15. +1 −1 json/adln/opcua-pkt1a.json.i
  16. +4 −2 json/adln/opcua-pkt1b-tsn.json.i
  17. +1 −1 json/adln/opcua-pkt1b.json.i
  18. +4 −2 json/adls/opcua-pkt1a-tsn.json.i
  19. +1 −1 json/adls/opcua-pkt1a.json.i
  20. +4 −2 json/adls/opcua-pkt1b-tsn.json.i
  21. +1 −1 json/adls/opcua-pkt1b.json.i
  22. +2 −2 json/adls2/opcua-pkt2a.json.i
  23. +2 −2 json/adls2/opcua-pkt2b.json.i
  24. +1 −1 json/adls2/opcua-pkt3a-tsn.json.i
  25. +2 −2 json/adls2/opcua-pkt3a.json.i
  26. +1 −1 json/adls2/opcua-pkt3b-tsn.json.i
  27. +2 −2 json/adls2/opcua-pkt3b.json.i
  28. +2 −2 json/adls2/opcua-xdp2a.json.i
  29. +2 −2 json/adls2/opcua-xdp2b.json.i
  30. +1 −1 json/adls2/opcua-xdp3a-tsn.json.i
  31. +2 −2 json/adls2/opcua-xdp3a.json.i
  32. +1 −1 json/adls2/opcua-xdp3b-tsn.json.i
  33. +2 −2 json/adls2/opcua-xdp3b.json.i
  34. +23 −0 json/asl/opcua-A.config
  35. +23 −0 json/asl/opcua-B.config
  36. +63 −0 json/asl/opcua-pkt1a-tsn.json.i
  37. +26 −0 json/asl/opcua-pkt1a.json.i
  38. +44 −0 json/asl/opcua-pkt1b-tsn.json.i
  39. +26 −0 json/asl/opcua-pkt1b.json.i
  40. +4 −2 json/ehl/opcua-pkt1a-tsn.json.i
  41. +1 −1 json/ehl/opcua-pkt1a.json.i
  42. +4 −2 json/ehl/opcua-pkt1b-tsn.json.i
  43. +1 −1 json/ehl/opcua-pkt1b.json.i
  44. +2 −2 json/ehl2/opcua-pkt2a.json.i
  45. +2 −2 json/ehl2/opcua-pkt2b.json.i
  46. +1 −1 json/ehl2/opcua-pkt3a-tsn.json.i
  47. +2 −2 json/ehl2/opcua-pkt3a.json.i
  48. +1 −1 json/ehl2/opcua-pkt3b-tsn.json.i
  49. +2 −2 json/ehl2/opcua-pkt3b.json.i
  50. +2 −2 json/ehl2/opcua-xdp2a.json.i
  51. +2 −2 json/ehl2/opcua-xdp2b.json.i
  52. +1 −1 json/ehl2/opcua-xdp3a-tsn.json.i
  53. +2 −2 json/ehl2/opcua-xdp3a.json.i
  54. +1 −1 json/ehl2/opcua-xdp3b-tsn.json.i
  55. +2 −2 json/ehl2/opcua-xdp3b.json.i
  56. +53 −5 json/gen_setup.py
  57. +19 −5 json/helpers.sh
  58. +6 −1 json/i225/opcua-A.config
  59. +6 −2 json/i225/opcua-B.config
  60. +18 −5 json/i225/opcua-pkt1a-tsn.json.i
  61. +1 −1 json/i225/opcua-pkt1a.json.i
  62. +18 −5 json/i225/opcua-pkt1b-tsn.json.i
  63. +1 −1 json/i225/opcua-pkt1b.json.i
  64. +19 −2 json/opcua-run.sh
  65. +4 −2 json/rplp/opcua-pkt1a-tsn.json.i
  66. +1 −1 json/rplp/opcua-pkt1a.json.i
  67. +4 −2 json/rplp/opcua-pkt1b-tsn.json.i
  68. +1 −1 json/rplp/opcua-pkt1b.json.i
  69. +4 −2 json/rpls/opcua-pkt1a-tsn.json.i
  70. +1 −1 json/rpls/opcua-pkt1a.json.i
  71. +4 −2 json/rpls/opcua-pkt1b-tsn.json.i
  72. +1 −1 json/rpls/opcua-pkt1b.json.i
  73. +2 −2 json/rpls2/opcua-pkt2a.json.i
  74. +2 −2 json/rpls2/opcua-pkt2b.json.i
  75. +1 −1 json/rpls2/opcua-pkt3a-tsn.json.i
  76. +2 −2 json/rpls2/opcua-pkt3a.json.i
  77. +1 −1 json/rpls2/opcua-pkt3b-tsn.json.i
  78. +2 −2 json/rpls2/opcua-pkt3b.json.i
  79. +2 −2 json/rpls2/opcua-xdp2a.json.i
  80. +2 −2 json/rpls2/opcua-xdp2b.json.i
  81. +1 −1 json/rpls2/opcua-xdp3a-tsn.json.i
  82. +2 −2 json/rpls2/opcua-xdp3a.json.i
  83. +1 −1 json/rpls2/opcua-xdp3b-tsn.json.i
  84. +2 −2 json/rpls2/opcua-xdp3b.json.i
  85. +4 −2 json/tglh/opcua-pkt1a-tsn.json.i
  86. +1 −1 json/tglh/opcua-pkt1a.json.i
  87. +4 −2 json/tglh/opcua-pkt1b-tsn.json.i
  88. +1 −1 json/tglh/opcua-pkt1b.json.i
  89. +2 −2 json/tglh2/opcua-pkt2a.json.i
  90. +2 −2 json/tglh2/opcua-pkt2b.json.i
  91. +1 −1 json/tglh2/opcua-pkt3a-tsn.json.i
  92. +2 −2 json/tglh2/opcua-pkt3a.json.i
  93. +1 −1 json/tglh2/opcua-pkt3b-tsn.json.i
  94. +2 −2 json/tglh2/opcua-pkt3b.json.i
  95. +2 −2 json/tglh2/opcua-xdp2a.json.i
  96. +2 −2 json/tglh2/opcua-xdp2b.json.i
  97. +1 −1 json/tglh2/opcua-xdp3a-tsn.json.i
  98. +2 −2 json/tglh2/opcua-xdp3a.json.i
  99. +1 −1 json/tglh2/opcua-xdp3b-tsn.json.i
  100. +2 −2 json/tglh2/opcua-xdp3b.json.i
  101. +4 −2 json/tglu/opcua-pkt1a-tsn.json.i
  102. +1 −1 json/tglu/opcua-pkt1a.json.i
  103. +4 −2 json/tglu/opcua-pkt1b-tsn.json.i
  104. +1 −1 json/tglu/opcua-pkt1b.json.i
  105. +25 −5 run.sh
  106. +10 −6 shell/adln/tsq1a.config
  107. +10 −6 shell/adln/tsq1b.config
  108. +19 −6 shell/adln/vs1a.config
  109. +18 −6 shell/adln/vs1b.config
  110. +3 −1 shell/adls/tsq1a.config
  111. +3 −1 shell/adls/tsq1b.config
  112. +4 −2 shell/adls/vs1a.config
  113. +4 −2 shell/adls/vs1b.config
  114. +44 −0 shell/asl/tsq1a.config
  115. +44 −0 shell/asl/tsq1b.config
  116. +99 −0 shell/asl/vs1a.config
  117. +85 −0 shell/asl/vs1b.config
  118. +3 −3 shell/clock-setup.sh
  119. +5 −1 shell/ehl/tsq1a.config
  120. +5 −1 shell/ehl/tsq1b.config
  121. +6 −2 shell/ehl/vs1a.config
  122. +6 −2 shell/ehl/vs1b.config
  123. +23 −10 shell/helpers.sh
  124. +10 −3 shell/i225/tsq1a.config
  125. +10 −3 shell/i225/tsq1b.config
  126. +20 −3 shell/i225/vs1a.config
  127. +18 −3 shell/i225/vs1b.config
  128. +3 −1 shell/rplp/tsq1a.config
  129. +3 −1 shell/rplp/tsq1b.config
  130. +4 −2 shell/rplp/vs1a.config
  131. +4 −2 shell/rplp/vs1b.config
  132. +3 −1 shell/rpls/tsq1a.config
  133. +3 −1 shell/rpls/tsq1b.config
  134. +4 −2 shell/rpls/vs1a.config
  135. +4 −2 shell/rpls/vs1b.config
  136. +3 −1 shell/tglh/tsq1a.config
  137. +3 −1 shell/tglh/tsq1b.config
  138. +4 −2 shell/tglh/vs1a.config
  139. +4 −2 shell/tglh/vs1b.config
  140. +3 −1 shell/tglu/tsq1a.config
  141. +3 −1 shell/tglu/tsq1b.config
  142. +4 −2 shell/tglu/vs1a.config
  143. +4 −2 shell/tglu/vs1b.config
  144. +1 −1 shell/tsq1a.sh
  145. +66 −38 shell/vs1a.sh
  146. +52 −21 shell/vs1b.sh
  147. +1 −1 src/opcua-tsn/multicallback_server.c
  148. +4 −4 src/opcua-tsn/opcua_common.c
  149. +2 −2 src/opcua-tsn/opcua_datasource.c
  150. +5 −5 src/tsq.c
  151. +5 −1 src/txrx-afpkt.c
  152. +11 −189 src/txrx-afxdp.c
  153. +0 −2 src/txrx-afxdp.h
  154. +10 −44 src/txrx.c
  155. +2 −4 src/txrx.h
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -79,3 +79,59 @@ For prior version, please refer to the tag commit message. Sorry guys.

## [0.9.4] - 2023-1-17
- I225 Fix packet routing for AF_PACKET TBS

## [0.9.5] - 2023-2-21
- Remove 5 second interval in napi switch on/off to avoid
extra latency.

## [0.9.6] - 2023-6-23
- ADL-N support on SKU5 that only has 2 cores for i225
- Update deprecated pthread function in TXRX-AFXDP test script
- Update deprecated bpf_xdp function in TXRX-AFXDP test script
- Refactor xdp cleanup routine

## [0.9.7] - 2023-7-17
- Refactor AF_XDP execution flow to support on kernel 6.* and above
- Fix syntax error in build.sh for Ubuntu
- Introduce new package installer
- Update README.md
- Add an exception handler for binary file checking

## [0.9.8] - 2023-8-10
- Add EHL support for TI-PHY
- txrx-tsn: Add extra flush packets in TX thread
- txrx-tsn: Tuning NAPI Deferral to improve performance

## [0.9.9] - 2023-9-5
- Update i225 OPCUA-PKT1 mapping
- Add eth flowtype proto rx filter to json

## [0.9.10] - 2023-10-9
- Code enhancement to ease code viewing and understanding

## [0.9.11] - 2023-11-8
- Update libbpf symbolic link in packages installer

## [0.9.12] - 2023-12-15
- Update script to run in bash to avoid unexpected output on Ubuntu
- Add preliminary ASL support

## [0.9.13] - 2024-02-07
- Automate core configuration settings for i225 and stmmac
- Automate core configuration settings for ASL platform
- Add Intel security policy and guideline
- Mount temp_file_dir directory to tmpfs

## [0.9.14] - 2024-08-26
- Change vlan socket priority value to be limited to 4 for both stmmac and i226
- Added support for proxy server input via command line option
- Fixed description of board information in OPCUA json script runner
- Add iperf3 and linuxptp debian packages as dependencies on package_installer.sh
- Added ethtool, iproute2 and ubuntu RT dependencies with links to required patches in README.md
- Added note clarifying the usage of <PLAT> command line argument in README_json.md

## [0.9.15] - 2025-01-10
- Enable feature that disable EEE before test execution
- Change command from lscpu to nproc to get CPU count
- Make plot persist after tsq1a exits
- Update liveplot to use replot
127 changes: 77 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
@@ -65,13 +65,76 @@ Method 2:

### General

#### *For system clock:*
```
# Please ensure the system clock is set to current date before using the installer script to install the required dependencies.
# Otherwise the installation will failed.
# Set the system clock to current date using command below:
date -s YY/MM/DD
```

#### *For system shell:*
```
# Bash are required as system shell in order to compile and run TSN Reference Software.
# Install bash using command below:
sudo apt-get install bash
```

#### *Packages Installer:*
```
# All the TSN Ref Sw App required dependencies can be install by using the packages installer below:
IMPORTANCE: Please read and follow the instruction below before using the packages installer!
# In order to ease the installation of generic packages and IOTG customized helper libraries (libbpf-iotg and sopen62541-iotg) needed,
# we have provide a installation script.
# The script will check out a specific version of the libraries from upstream git and apply our patches on top of it.
# Suggestion is to use the installer script (after having kept the original libbpf and libopen62541 in a safe place).
# This will ensure the tsn ref sw will be able to find/use correct libraries.
NOTE: If your kernel support for Intel XDP+TBS, please ensure the '__u64 txtime' descriptor is available in struct xdp_desc() in /usr/include/linux/if_xdp.h as example below:
/* Rx/Tx descriptor */
struct xdp_desc {
__u64 addr;
__u32 len;
__u32 options;
__u64 txtime;
};
WARNING: You are able to install libbpf & open62541 without the 'txtime' descriptor but you might facing error/failure during the tests.
# The packages installer branch : https://github.com/intel/iotg_tsn_ref_sw
# Branch name : **master**
# Use the commands below to install the packages:
cd dependencies
./packages_installer.sh --proxy=<your.proxy.if.necessary.com> --git-proxy=<your.git.proxy.if.necessary.com>
# NOTE: The proxy and git-proxy are optional arguments, provide if necessary.
# NOTE: The packages installer only support the overwrite installation.
# NOTE: Refer to the below
# NOTE: If you are installing the libbpf and libopen62541-iotg manually, there is a chance the related open62541-iotg.pc file is not there.
# Hence, you might have to comment out this line in **configure.ac**.
**AM_CONDITIONAL([WITH_OPCUA], [test "x$no_open62541_iotg_fork" = "x0"] && test "x${HAVE_XDP}" = "xyes")**
# Disclaimer
* The packages installers only serves to install dependencies for TSN Ref Sw App.
* This project is not for intended for production use.
* This project is intended to be used with specific platforms and bsp, other HW/SW combinations YMMV
* Users are responsible for their own products' functionality and performance.
# FAQ
If git clone fail, try the solution below:
* Please configure the proxy according to your proxy setting before git clone
* Please configure the system date up-to-date before git clone
* Please reboot your system before git clone
```

### Yocto

#### *For compilation:*
@@ -125,65 +188,30 @@ Method 2:
# In order to compile under Ubuntu, these packages need to be installed first (using sudo apt-get install ....) :
* autoconf
* build-essential
* cmake
* gawk
* gcc
* gnuplot
* pkg-config
* zlib1g
* zlib1g-dev
* libelf-dev
* libjson-c-dev
* xterm
* iperf3
* linuxptp
NOTE: ensure your proxy settings are correct.
NOTE: All the packages can be install by using the packages_installer.sh above.
```

### IOTG Custom Libbpf & Open62541

#### *Installation script:*
#### *For run-time:*
```
# In order to ease the installation of the customized helper libraries needed, we have provide a installation scripts to install libbpf and open62541.
# The scripts will check out a specific version of the libraries from upstream git and apply our patches on top of it.
# Suggestion is to use the overwriting installer script (after having kept the original libbpf and libopen62541 in a safe place).
# This will ensure the tsn ref sw will be able to find/use correct libraries.
NOTE: If your kernel support for Intel XDP+TBS, please ensure the '__u64 txtime' descriptor is available in struct xdp_desc() in /usr/include/linux/if_xdp.h as example below:
/* Rx/Tx descriptor */
struct xdp_desc {
__u64 addr;
__u32 len;
__u32 options;
__u64 txtime;
};
WARNING: You are able to install libbpf & open62541 without the 'txtime' descriptor but you might facing error/failure during the tests.
# The dependencies installer branch : https://github.com/intel/iotg_tsn_ref_sw
# Branch name : **master**
# Use the commands below to install the dependencies:
cd dependencies
./libbpf_open62541_installer.sh --overwrite
# Currently the dependencies installer only support the overwrite installation.
# WIP to enhance the installer in a better way.
# NOTE: If you are installing the libbpf and libopen62541-iotg manually, there is a chance the related open62541-iotg.pc file is not there.
# Hence, you might have to comment out this line in **configure.ac**.
**AM_CONDITIONAL([WITH_OPCUA], [test "x$no_open62541_iotg_fork" = "x0"] && test "x${HAVE_XDP}" = "xyes")**
# Disclaimer
* The dependencies installers only serves to install dependencies for libbpf and open62541
* This project is not for intended for production use.
* This project is intended to be used with specific platforms and bsp, other
hardware/software combinations YMMV
* Users are responsible for their own products' functionality and performance.
# FAQ
If git clone fail, try the solution below:
* Please configure the proxy according to your proxy setting before git clone
* Please configure the system date up-to-date before git clone
* Please reboot your system before git clone
* [Real-Time Ubuntu 22.04](https://ubuntu.com/real-time)
* iproute2 v5.15.0 [with real-time patches](https://github.com/intel/iotg-yocto-ese-main/tree/master/recipes-connectivity/iproute2/iproute2)
* [ethtool](https://salsa.debian.org/kernel-team/ethtool) [with real-time patches](https://github.com/intel/iotg-yocto-ese-main/tree/master/recipes-extended/ethtool/ethtool)
* linuxptp [v3.0 or later](https://github.com/richardcochran/linuxptp/releases/tag/v3.0)
* Python 3.8.2
```

## Build
@@ -252,8 +280,7 @@ For details information please refer to the documentation below:

* This project is not for intended for production use.

* This project is intended to be used with specific platforms and bsp, other
hardware/software combinations YMMV
* This project is intended to be used with specific platforms and bsp, other HW/SW combinations YMMV

* Users are responsible for their own products' functionality and performance.

9 changes: 7 additions & 2 deletions README_json.md
Original file line number Diff line number Diff line change
@@ -49,6 +49,11 @@ OPCUA-SERVER is a C-application that can transmit and receive ETH_UADP packets u
AF_PACKET or AF_XDP sockets using libopen62541 (OPCUA-based library) APIs. It
accepts only 1 .json.i file as input.


**NOTE:** The `PLAT` command line argument refers to either the CPU platform
or the ethernet controller (e.g. the [i225](json/i225)), see in [json folder](json)
the available platforms.

### About: 1-port

Very simple, just 1 pub/sub thread
@@ -76,7 +81,7 @@ each other via a single-ethernet connection.
./run.sh $PLAT $IFACE opcua-pkt1a setup
```

2. [Board A] Run the setup script to initialize IP and MAC address, then start
2. [Board B] Run the setup script to initialize IP and MAC address, then start
clock synchronization and setup ingress qdisc.

```sh
@@ -91,7 +96,7 @@ each other via a single-ethernet connection.
./run.sh $PLAT $IFACE opcua-pkt1b run
```

4. [Board B] Immediately after step 3, start transmitting packets. The
4. [Board A] Immediately after step 3, start transmitting packets. The
application will terminate itself after completion. Note that AF_PACKET or
opcua-pkt* configurations will take longer as they use much higher packet
intervals compared to AF_XDP or opuca-xdp* configurations.
4 changes: 4 additions & 0 deletions README_shell.md
Original file line number Diff line number Diff line change
@@ -29,6 +29,10 @@ to each other via an Ethernet connection and user has a terminal open in the
This example requires multiple pin header connections for (pulse-per-second)
PPS and (auxiliary timestamping) AUXTS.

**NOTE:** The `PLAT` command line argument refers to either the CPU platform
or the ethernet controller (e.g. the [i225](shell/i225)), see in [shell folder](shell)
the available platforms.

0. [Board A & B] Build the project.

```sh
5 changes: 5 additions & 0 deletions Security.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Security Policy
Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation.

## Reporting a Vulnerability
Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html).
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
@@ -56,7 +56,7 @@ echo "OS Distro: $os_distro"

# Check for default shell
echo -e "\nBUILD.SH: Checking for Bash shell"
if [ "$os_distro" == "\"Ubuntu"\" ]; then
if [[ "$os_distro" == '"Ubuntu"' ]]; then
bash_shell=$(ls -la /usr/bin | grep -i 'bash' > /dev/null && echo 0 || echo 1)
else
bash_shell=$(ls -la /bin/sh | grep -i 'bash' > /dev/null && echo 0 || echo 1)
5 changes: 3 additions & 2 deletions common/irq_affinity_2c_4TxRx.map
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
TxRx-0,01,PTP (highest priority)
TxRx-2,01,af_xdp/af_packet
TxRx-3,02,iperf3 (least priority)
TxRx-1,01,unused
TxRx-2,02,af_xdp/af_packet
TxRx-3,01,iperf3 (least priority)
8 changes: 6 additions & 2 deletions common/liveplot.gnu
Original file line number Diff line number Diff line change
@@ -36,6 +36,10 @@ set ylabel "PHC difference (ns)"
set xlabel "t(s)"

plot filename using ($3) with lines title "nano-seconds"
pause 1
reread

do for [i=0:100] {
pause 1
replot
}

set autoscale
File renamed without changes.
File renamed without changes.
Loading