diff --git a/libraries/io/eth/eth.peripheral.yaml b/libraries/io/eth/eth.peripheral.yaml
index b887db31986ab67e390213cd6b06844e5147cedb..083ec80cfba988b8619e5670e503529677c8e853 100644
--- a/libraries/io/eth/eth.peripheral.yaml
+++ b/libraries/io/eth/eth.peripheral.yaml
@@ -233,5 +233,48 @@ peripherals:
               number_of_fields: 1024    # = c_eth_ram_nof_words in eth_pkg.vhd
               access_mode: RO
 
-         
-    
+  - peripheral_name: eth_tester_offload_hdr_dat
+    peripheral_description: "UDP offload header for the eth tester [1]."
+    mm_ports:
+      # MM port for eth_tester.vhd / dp_offload_tx_v3.vhd
+      - mm_port_name: REG_DP_OFFLOAD_TX_HDR_DAT
+        mm_port_type: REG
+        mm_port_span: 32 * MM_BUS_SIZE
+        mm_port_description: |
+          "The ETH/IP/UDP/application header fields for the 1GbE eth_tester offload UDP packets.
+
+           The RO value reads the MM value, not the used data path value. Therefore simply use access
+           mode RW for all fields. Whether the write RW MM value is used in the packet header depends
+           on the c_eth_tester_hdr_field_sel bit selection setting in eth_tester_pkg.vhd.
+
+           [1] https://support.astron.nl/confluence/display/L2M/L6+FWLIB+Design+Document%3A+ETH+tester+unit+for+1GbE
+          "
+        fields:
+          # eth field group
+          - - { field_name: word_align,             mm_width: 16,                                access_mode: RW, address_offset: 0x64 }
+          - - { field_name: eth_destination_mac,    mm_width: 32, user_width: 48, radix: uint64, access_mode: RW, address_offset: 0x5c }
+          - - { field_name: eth_source_mac,         mm_width: 32, user_width: 48, radix: uint64, access_mode: RW, address_offset: 0x54 }
+          - - { field_name: eth_type,               mm_width: 16,                                access_mode: RW, address_offset: 0x50 }
+          # ip field group
+          - - { field_name: ip_version,             mm_width:  4,                                access_mode: RW, address_offset: 0x4c }
+          - - { field_name: ip_header_length,       mm_width:  4,                                access_mode: RW, address_offset: 0x48 }
+          - - { field_name: ip_services,            mm_width:  8,                                access_mode: RW, address_offset: 0x44 }
+          - - { field_name: ip_total_length,        mm_width: 16,                                access_mode: RW, address_offset: 0x40 }
+          - - { field_name: ip_identification,      mm_width: 16,                                access_mode: RW, address_offset: 0x3c }
+          - - { field_name: ip_flags,               mm_width:  3,                                access_mode: RW, address_offset: 0x38 }
+          - - { field_name: ip_fragment_offset,     mm_width: 13,                                access_mode: RW, address_offset: 0x34 }
+          - - { field_name: ip_time_to_live,        mm_width:  8,                                access_mode: RW, address_offset: 0x30 }
+          - - { field_name: ip_protocol,            mm_width:  8,                                access_mode: RW, address_offset: 0x2c }
+          - - { field_name: ip_header_checksum,     mm_width: 16,                                access_mode: RW, address_offset: 0x28 }
+          - - { field_name: ip_source_address,      mm_width: 32,                                access_mode: RW, address_offset: 0x24 }
+          - - { field_name: ip_destination_address, mm_width: 32,                                access_mode: RW, address_offset: 0x20 }
+          # udp field group
+          - - { field_name: udp_source_port,        mm_width: 16,                                access_mode: RW, address_offset: 0x1c }
+          - - { field_name: udp_destination_port,   mm_width: 16,                                access_mode: RW, address_offset: 0x18 }
+          - - { field_name: udp_length,             mm_width: 16,                                access_mode: RW, address_offset: 0x14 }
+          - - { field_name: udp_checksum,           mm_width: 16,                                access_mode: RW, address_offset: 0x10 }
+          # application field group
+          - - { field_name: dp_reserved,            mm_width: 31,                                access_mode: RW, address_offset: 0xC }
+          - - { field_name: dp_sync,                mm_width:  1,                                access_mode: RW, address_offset: 0x8 }
+          - - { field_name: dp_bsn,                 mm_width: 32, user_width: 64, radix: uint64, access_mode: RW, address_offset: 0x0 }
+