diff --git a/boards/uniboard2c/designs/unb2c_test/unb2c_test.fpga.yaml b/boards/uniboard2c/designs/unb2c_test/unb2c_test.fpga.yaml
index 0b33ed4c02331e284be62af8c60356aebc66870d..0b9e4ee9e907f520e4536c7349178049645881b4 100644
--- a/boards/uniboard2c/designs/unb2c_test/unb2c_test.fpga.yaml
+++ b/boards/uniboard2c/designs/unb2c_test/unb2c_test.fpga.yaml
@@ -6,9 +6,8 @@ hdl_library_name: unb2c_test
 fpga_name       : unb2c_test
 fpga_description: "FPGA design unb2c_test"
 parameters:
-  - { name: c_nof_streams_1GbE_UDP,             value: 2 }  
-  - { name: c_def_1GbE_block_size,              value: 20 }  
-  - { name: c_nof_streams_10GbE_UDP,            value: 72 }  
+  - { name: c_nof_streams_eth0_UDP,             value: 4 }
+  - { name: c_nof_streams_10GbE_UDP,            value: 72 }
   - { name: c_def_10GbE_block_size,             value: 900 }  
   - { name: c_nof_streams_qsfp,                 value: 24 }  
   - { name: c_nof_streams_ring,                 value: 24 }  
@@ -39,6 +38,7 @@ peripherals:
       - RAM_SCRAP
 
   - peripheral_name: eth/eth
+    peripheral_group: eth0
     mm_port_names:
       - AVS_ETH_0_TSE
       - AVS_ETH_0_REG
@@ -71,47 +71,106 @@ peripherals:
     mm_port_names:
       - REG_HEATER
 
-  # 1GbE
+  # 1GbE-I
   - peripheral_name: diag/diag_block_gen
-    peripheral_group: eth_1gbe
+    peripheral_group: eth0_tx
     parameter_overrides:
-      - { name: g_nof_streams, value: c_nof_streams_1GbE_UDP }
-      - { name: g_buf_dat_w, value: 32 }
-      - { name: g_buf_addr_w, value: ceil_log2(c_def_1GbE_block_size) }
+      - { name: g_nof_streams, value: c_nof_streams_eth0_UDP }
+      - { name: g_nof_reg, value: c_nof_streams_eth0_UDP }
+      - { name: g_buf_addr_w, value: 8 }
     mm_port_names:
-      - REG_DIAG_BG_1GBE
-      - RAM_DIAG_BG_1GBE
+      - REG_ETH1G_I_BG_CTRL
+      - RAM_ETH1G_I_BG_CTRL  # not used in eth_tester_tx
 
-  - peripheral_name: diag/diag_tx_seq
-    peripheral_group: eth_1gbe
+  - peripheral_name: eth_tester_offload_hdr_dat
+    peripheral_group: eth0_tx
+    number_of_peripherals: c_nof_streams_eth0_UDP
+    peripheral_span: ceil_pow2(c_nof_streams_eth0_UDP) * 32 * MM_BUS_SIZE  # number_of_ports = 4, mm_port_span = 32 words
+    mm_port_names:
+      - REG_ETH1G_I_HDR_DAT
+
+  - peripheral_name: dp/dp_bsn_monitor_v2
+    peripheral_group: eth0_tx
     parameter_overrides:
-      - { name: g_nof_streams, value: c_nof_streams_1GbE_UDP }
+      - { name: g_nof_streams, value: c_nof_streams_eth0_UDP }
     mm_port_names:
-      - REG_DIAG_TX_SEQ_1GBE
+      - REG_ETH1G_I_BSN_MONITOR_V2_TX
 
-  - peripheral_name: dp/dp_bsn_monitor
-    peripheral_group: eth_1gbe
+  - peripheral_name: dp/dp_strobe_total_count
+    peripheral_group: eth0_tx
+    number_of_peripherals: c_nof_streams_eth0_UDP
+    peripheral_span: ceil_pow2(c_nof_streams_eth0_UDP) * 32 * MM_BUS_SIZE  # number_of_ports = 4, mm_port_span = 32 words
     parameter_overrides:
-      - { name: g_nof_streams, value: c_nof_streams_1GbE_UDP }
+      - { name: g_nof_counts, value: 1 }  # actual nof counts, <= g_nof_counts_max = 15
+                                          # 0 = nof_sop
     mm_port_names:
-      - REG_BSN_MONITOR_1GBE
+      - REG_ETH1G_I_STROBE_TOTAL_COUNT_TX
 
-  - peripheral_name: diag/diag_data_buffer
-    peripheral_group: eth_1gbe
+  - peripheral_name: dp/dp_bsn_monitor_v2
+    peripheral_group: eth0_rx
     parameter_overrides:
-      - { name: g_nof_streams, value: c_nof_streams_1GbE_UDP }
-      - { name: g_data_w, value: 32 }
-      - { name: g_nof_data, value: c_def_1GbE_block_size }
+      - { name: g_nof_streams, value: c_nof_streams_eth0_UDP }
     mm_port_names:
-      - REG_DIAG_DATA_BUFFER_1GBE
-      - RAM_DIAG_DATA_BUFFER_1GBE
+      - REG_ETH1G_I_BSN_MONITOR_V2_RX
 
-  - peripheral_name: diag/diag_rx_seq
-    peripheral_group: eth_1gbe
+  - peripheral_name: dp/dp_strobe_total_count
+    peripheral_group: eth0_rx
+    number_of_peripherals: c_nof_streams_eth0_UDP
+    peripheral_span: ceil_pow2(c_nof_streams_eth0_UDP) * 32 * MM_BUS_SIZE  # number_of_ports = 4, mm_port_span = 32 words
+    parameter_overrides:
+      - { name: g_nof_counts, value: 3 }  # actual nof counts, <= g_nof_counts_max = 15
+                                          # 0 = nof_sop, 1 = nof_valid, 2 = nof_crc_corrupt
+    mm_port_names:
+      - REG_ETH1G_I_STROBE_TOTAL_COUNT_RX
+
+  # 1GbE-II
+  - peripheral_name: eth/eth  # eth_stream
+    peripheral_group: eth1
+    mm_port_names:
+      - AVS_ETH_1_TSE
+      - AVS_ETH_1_REG  # not used for eth_stream
+      - AVS_ETH_1_RAM  # not used for eth_stream
+
+  - peripheral_name: diag/diag_block_gen
+    peripheral_group: eth1_tx
+    parameter_overrides:
+      - { name: g_nof_streams, value: 1 }
+      - { name: g_nof_reg, value: 1 }
+      - { name: g_buf_addr_w, value: 8 }
+    mm_port_names:
+      - REG_ETH1G_I_BG_CTRL
+      - RAM_ETH1G_I_BG_CTRL  # not used in eth_tester_tx
+
+  - peripheral_name: eth_tester_offload_hdr_dat
+    peripheral_group: eth1_tx
+    mm_port_names:
+      - REG_ETH1G_I_HDR_DAT
+
+  - peripheral_name: dp/dp_bsn_monitor_v2
+    peripheral_group: eth1_tx
+    mm_port_names:
+      - REG_ETH1G_I_BSN_MONITOR_V2_TX
+
+  - peripheral_name: dp/dp_strobe_total_count
+    peripheral_group: eth1_tx
+    parameter_overrides:
+      - { name: g_nof_counts, value: 1 }  # actual nof counts, <= g_nof_counts_max = 15
+                                          # 0 = nof_sop
+    mm_port_names:
+      - REG_ETH1G_I_STROBE_TOTAL_COUNT_TX
+
+  - peripheral_name: dp/dp_bsn_monitor_v2
+    peripheral_group: eth1_rx
+    mm_port_names:
+      - REG_ETH1G_I_BSN_MONITOR_V2_RX
+
+  - peripheral_name: dp/dp_strobe_total_count
+    peripheral_group: eth1_rx
     parameter_overrides:
-      - { name: g_nof_streams, value: c_nof_streams_1GbE_UDP }
+      - { name: g_nof_counts, value: 3 }  # actual nof counts, <= g_nof_counts_max = 15
+                                          # 0 = nof_sop, 1 = nof_valid, 2 = nof_crc_corrupt
     mm_port_names:
-      - REG_DIAG_TX_SEQ_1GBE
+      - REG_ETH1G_I_STROBE_TOTAL_COUNT_RX
 
   # 10GbE
   - peripheral_name: diag/diag_block_gen