diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index 2668b93b27041cb0af04bc4e7c717d0028f6279d..b434b86e188fba88d402d506328b46700be37eff 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -199,6 +199,58 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_reg_nw_10GbE_mac_addr_w    : NATURAL := 13;
   CONSTANT c_sdp_reg_nw_10GbE_eth10g_addr_w : NATURAL := 1;
 
+  -- statistics SST offload
+  CONSTANT c_sdp_stat_nof_hdr_fields : NATURAL := 3+12+4+20+1; -- 592b; 9.25 64b words
+  CONSTANT c_sdp_stat_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"11111111111111111110"&"1";  -- 0=data path, 1=MM controlled TODO
+
+  CONSTANT c_sdp_stat_hdr_field_arr : t_common_field_arr(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := (
+      ( field_name_pad("eth_dst_mac"                             ), "RW", 48, field_default(x"00074306C700") ), -- 00074306C700=DOP36-eth0 
+      ( field_name_pad("eth_src_mac"                             ), "RW", 48, field_default(0) ),
+      ( field_name_pad("eth_type"                                ), "RW", 16, field_default(x"0800") ),
+
+      ( field_name_pad("ip_version"                              ), "RW",  4, field_default(4) ),
+      ( field_name_pad("ip_header_length"                        ), "RW",  4, field_default(5) ),
+      ( field_name_pad("ip_services"                             ), "RW",  8, field_default(0) ),
+      ( field_name_pad("ip_total_length"                         ), "RW", 16, field_default(7868) ), 
+      ( field_name_pad("ip_identification"                       ), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_flags"                                ), "RW",  3, field_default(2) ),
+      ( field_name_pad("ip_fragment_offset"                      ), "RW", 13, field_default(0) ),
+      ( field_name_pad("ip_time_to_live"                         ), "RW",  8, field_default(127) ),
+      ( field_name_pad("ip_protocol"                             ), "RW",  8, field_default(17) ),
+      ( field_name_pad("ip_header_checksum"                      ), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_src_addr"                             ), "RW", 32, field_default(0) ),
+      ( field_name_pad("ip_dst_addr"                             ), "RW", 32, field_default(x"C0A80001") ), -- C0A80001=DOP36-eth0 '192.168.0.1'
+      
+      ( field_name_pad("udp_src_port"                            ), "RW", 16, field_default(0) ), 
+      ( field_name_pad("udp_dst_port"                            ), "RW", 16, field_default(0) ), 
+      ( field_name_pad("udp_total_length"                        ), "RW", 16, field_default(7848) ), 
+      ( field_name_pad("udp_checksum"                            ), "RW", 16, field_default(0) ),
+      
+      ( field_name_pad("sdp_marker"                              ), "RW",  8, field_default(0) ),
+      ( field_name_pad("sdp_version_id"                          ), "RW",  8, field_default(1) ),
+      ( field_name_pad("sdp_observation_id"                      ), "RW", 32, field_default(0) ),
+      ( field_name_pad("sdp_station_id"                          ), "RW", 16, field_default(0) ),
+      
+      ( field_name_pad("sdp_source_info_antenna_band_id"         ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_nyquist_zone_id"         ), "RW",  2, field_default(0) ),
+      ( field_name_pad("sdp_source_info_f_adc"                   ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_fsub_type"               ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_payload_error"           ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_beam_repositioning_flag" ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_subband_calibrated_flag" ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_reserved"                ), "RW",  3, field_default(0) ),
+      ( field_name_pad("sdp_source_info_gn_id"                   ), "RW",  5, field_default(0) ),
+      
+      ( field_name_pad("sdp_reserved"                            ), "RW",  8, field_default(0) ),
+      ( field_name_pad("sdp_integration_interval"                ), "RW", 24, field_default(0) ),
+      ( field_name_pad("sdp_data_id"                             ), "RW", 32, field_default(0) ),
+      ( field_name_pad("sdp_nof_signal_inputs"                   ), "RW",  8, field_default(0) ),
+      ( field_name_pad("sdp_nof_bytes_per_statistics"            ), "RW",  8, field_default(8) ),
+      ( field_name_pad("sdp_nof_statistics_per_package"          ), "RW", 16, field_default(0) ),
+      ( field_name_pad("sdp_block_period"                        ), "RW", 16, field_default(5120) ),
+
+      ( field_name_pad("dp_bsn"                                  ), "RW", 64, field_default(0) )
+  );
 END PACKAGE sdp_pkg;
 
 PACKAGE BODY sdp_pkg IS
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
index 1e364d312a7e91a0a00f14098c023513f7769ef5..397b3b9d9d33b65619a5150c445a7dc4951a787a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
@@ -86,7 +86,9 @@ ENTITY sdp_statistics_offload IS
     reg_hdr_dat_miso : OUT t_mem_miso;
 
     in_sosi     : IN t_dp_sosi;  -- from selector (sst_sosi_arr[0])
+    
     out_sosi    : OUT t_dp_sosi;  -- output from SST UDP offload (sst_udp_sosi)
+    out_siso    : IN t_dp_siso;   -- input from SST UDP offload (sst_udp_siso)
 
     -- inputs from other blocks
     eth_src_mac  : IN STD_LOGIC_VECTOR(c_network_eth_mac_addr_w-1 DOWNTO 0);
@@ -127,8 +129,9 @@ ARCHITECTURE str OF sdp_statistics_offload IS
   SIGNAL r : t_reg;
   SIGNAL d : t_reg;
 
-  SIGNAL m_mosi : t_mem_mosi;
-  SIGNAL m_miso : t_mem_miso;
+  SIGNAL m_mosi   : t_mem_mosi;
+  SIGNAL m_miso   : t_mem_miso;
+
   SIGNAL trigger                  : STD_LOGIC := '0';
   SIGNAL nof_cycles_dly           : NATURAL   := 0;
   SIGNAL mm_done                  : STD_LOGIC := '0';
@@ -140,65 +143,11 @@ ARCHITECTURE str OF sdp_statistics_offload IS
   SIGNAL dp_header_info           : STD_LOGIC_VECTOR(1023 DOWNTO 0):= (OTHERS => '0');
   SIGNAL payload_err              : STD_LOGIC := '0';
   SIGNAL integration_interval_cnt : NATURAL   := 0;
-  SIGNAL integration_interval     : STD_LOGIC_VECTOR(24-1 DOWNTO 0) := (OTHERS => '0');
-  SIGNAL bsn_at_sync              : STD_LOGIC_VECTOR(64-1 DOWNTO 0) := (OTHERS => '0');
-
-  SIGNAL sdp_data_id : STD_LOGIC_VECTOR(32-1 DOWNTO 0);
-
-  -------------------------------------------------------------------------------
-  -- dp_offload_tx
-  -------------------------------------------------------------------------------
-  CONSTANT c_nof_hdr_fields : NATURAL := 3+12+4+20+1; -- 592b; 9.25 64b words
-  -- c_hdr_field_sel for each field: 0=data path, 1=MM controlled
-  CONSTANT c_hdr_field_sel  : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"00000000000000000000"&"0";  -- TODO
-
-  CONSTANT c_hdr_field_arr : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 0) := ( ( field_name_pad("eth_dst_mac"                             ), "RW", 48, field_default(x"00074306C700") ), -- 00074306C700=DOP36-eth0 
-                                                                                  ( field_name_pad("eth_src_mac"                             ), "RW", 48, field_default(0) ),
-                                                                                  ( field_name_pad("eth_type"                                ), "RO", 16, field_default(x"0800") ),
-
-                                                                                  ( field_name_pad("ip_version"                              ), "RO",  4, field_default(4) ),
-                                                                                  ( field_name_pad("ip_header_length"                        ), "RO",  4, field_default(5) ),
-                                                                                  ( field_name_pad("ip_services"                             ), "RO",  8, field_default(0) ),
-                                                                                  ( field_name_pad("ip_total_length"                         ), "RO", 16, field_default(7868) ), 
-                                                                                  ( field_name_pad("ip_identification"                       ), "RO", 16, field_default(0) ),
-                                                                                  ( field_name_pad("ip_flags"                                ), "RO",  3, field_default(2) ),
-                                                                                  ( field_name_pad("ip_fragment_offset"                      ), "RO", 13, field_default(0) ),
-                                                                                  ( field_name_pad("ip_time_to_live"                         ), "RO",  8, field_default(127) ),
-                                                                                  ( field_name_pad("ip_protocol"                             ), "RO",  8, field_default(17) ),
-                                                                                  ( field_name_pad("ip_header_checksum"                      ), "RW", 16, field_default(0) ),
-                                                                                  ( field_name_pad("ip_src_addr"                             ), "RW", 32, field_default(0) ),
-                                                                                  ( field_name_pad("ip_dst_addr"                             ), "RW", 32, field_default(x"C0A80001") ), -- C0A80001=DOP36-eth0 '192.168.0.1'
-                                                                                  
-                                                                                  ( field_name_pad("udp_src_port"                            ), "RW", 16, field_default(0) ), 
-                                                                                  ( field_name_pad("udp_dst_port"                            ), "RW", 16, field_default(0) ), 
-                                                                                  ( field_name_pad("udp_total_length"                        ), "RO", 16, field_default(7848) ), 
-                                                                                  ( field_name_pad("udp_checksum"                            ), "RO", 16, field_default(0) ),
-                                                                                  
-                                                                                  ( field_name_pad("sdp_marker"                              ), "RO",  8, field_default(c_marker) ),
-                                                                                  ( field_name_pad("sdp_version_id"                          ), "RO",  8, field_default(c_version) ),
-                                                                                  ( field_name_pad("sdp_observation_id"                      ), "RW", 32, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_station_id"                          ), "RW", 16, field_default(0) ),
-                                                                                  
-                                                                                  ( field_name_pad("sdp_source_info_antenna_band_id"         ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_nyquist_zone_id"         ), "RW",  2, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_f_adc"                   ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_fsub_type"               ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_payload_error"           ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_beam_repositioning_flag" ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_subband_calibrated_flag" ), "RW",  1, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_reserved"                ), "RO",  3, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_source_info_gn_id"                   ), "RW",  5, field_default(0) ),
-                                                                                  
-                                                                                  ( field_name_pad("sdp_reserved"                            ), "RO",  8, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_integration_interval"                ), "RW", 24, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_data_id"                             ), "RW", 32, field_default(0) ),
-                                                                                  ( field_name_pad("sdp_nof_signal_inputs"                   ), "RO",  8, field_default(c_nof_signal_inputs) ),
-                                                                                  ( field_name_pad("sdp_nof_bytes_per_statistics"            ), "RO",  8, field_default(8) ),
-                                                                                  ( field_name_pad("sdp_nof_statistics_per_package"          ), "RO", 16, field_default(c_nof_statistics_per_package) ),
-                                                                                  ( field_name_pad("sdp_block_period"                        ), "RO", 16, field_default(5120) ),
-                                         
-                                                                                  ( field_name_pad("dp_bsn"                                  ), "RW", 64, field_default(0) ) );
+  SIGNAL integration_interval     : STD_LOGIC_VECTOR(23 DOWNTO 0) := (OTHERS => '0');
+  SIGNAL bsn_at_sync              : STD_LOGIC_VECTOR(63 DOWNTO 0) := x"f0f0f0f0f0f0f0f0"; -- (OTHERS => '0');
 
+  SIGNAL sdp_data_id : STD_LOGIC_VECTOR(31 DOWNTO 0);
+  
 BEGIN
   
   m_mosi <= master_mosi;
@@ -208,7 +157,7 @@ BEGIN
   p_bsn_at_sync : PROCESS(in_sosi)
   BEGIN
     IF in_sosi.sync = '1' THEN
-      bsn_at_sync <= in_sosi.bsn(63 DOWNTO 0);
+      bsn_at_sync(63 DOWNTO 0) <= in_sosi.bsn(63 DOWNTO 0);
     END IF;
   END PROCESS;
 
@@ -243,27 +192,30 @@ BEGIN
   -------------------------------------------------------------------------------
   -- Assemble offload info
   -------------------------------------------------------------------------------
-  dp_header_info(field_hi(c_hdr_field_arr, "eth_src_mac" ) DOWNTO field_lo(c_hdr_field_arr, "eth_src_mac" )) <= eth_src_mac;
-  dp_header_info(field_hi(c_hdr_field_arr, "udp_src_port") DOWNTO field_lo(c_hdr_field_arr, "udp_src_port")) <= udp_src_port;
-  dp_header_info(field_hi(c_hdr_field_arr, "ip_src_addr" ) DOWNTO field_lo(c_hdr_field_arr, "ip_src_addr" )) <= ip_src_addr;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "eth_src_mac" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "eth_src_mac" )) <= eth_src_mac;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "udp_src_port") DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "udp_src_port")) <= udp_src_port;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "ip_src_addr" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr, "ip_src_addr" )) <= ip_src_addr;
   
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_observation_id"                      ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_observation_id"                      )) <= sdp_info.observation_id;
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_station_id"                          ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_station_id"                          )) <= sdp_info.station_id;
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_antenna_band_id"         ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_antenna_band_id"         )) <= SLV(sdp_info.antenna_band_index);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_nyquist_zone_id"         ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_nyquist_zone_id"         )) <= sdp_info.nyquist_zone_index;
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_f_adc"                   ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_f_adc"                   )) <= SLV(sdp_info.f_adc);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_fsub_type"               ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_fsub_type"               )) <= SLV(sdp_info.fsub_type);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_payload_error"           ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_payload_error"           )) <= SLV(payload_err);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_beam_repositioning_flag" )) <= SLV(sdp_info.beam_repositioning_flag);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_subband_calibrated_flag" )) <= SLV(sdp_info.subband_calibrated_flag);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_reserved"                ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_reserved"                )) <= (OTHERS => '0');
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_source_info_gn_id"                   ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_source_info_gn_id"                   )) <= TO_UVEC(gn_index, 5);
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_reserved"                            ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_reserved"                            )) <= (OTHERS => '0');
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_integration_interval"                ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_integration_interval"                )) <= integration_interval;
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_data_id"                             ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_data_id"                             )) <= sdp_data_id;
-  dp_header_info(field_hi(c_hdr_field_arr, "sdp_block_period"                        ) DOWNTO field_lo(c_hdr_field_arr,  "sdp_block_period"                        )) <= sdp_info.block_period;
-
-  dp_header_info(field_hi(c_hdr_field_arr, "dp_bsn"                                  ) DOWNTO field_lo(c_hdr_field_arr,  "dp_bsn"                                   )) <= bsn_at_sync; 
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_marker"                              ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_marker"                              )) <= TO_UVEC(c_marker, 8);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_observation_id"                      ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_observation_id"                      )) <= sdp_info.observation_id;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_station_id"                          ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_station_id"                          )) <= sdp_info.station_id;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_antenna_band_id"         ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_antenna_band_id"         )) <= SLV(sdp_info.antenna_band_index);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_nyquist_zone_id"         ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_nyquist_zone_id"         )) <= sdp_info.nyquist_zone_index;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_f_adc"                   ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_f_adc"                   )) <= SLV(sdp_info.f_adc);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type"               ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_fsub_type"               )) <= SLV(sdp_info.fsub_type);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error"           ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_payload_error"           )) <= SLV(payload_err);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_beam_repositioning_flag" )) <= SLV(sdp_info.beam_repositioning_flag);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_subband_calibrated_flag" ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_subband_calibrated_flag" )) <= SLV(sdp_info.subband_calibrated_flag);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_reserved"                ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_reserved"                )) <= (OTHERS => '0');
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id"                   ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_gn_id"                   )) <= TO_UVEC(gn_index, 5);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_reserved"                            ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_reserved"                            )) <= (OTHERS => '0');
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_integration_interval"                ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_integration_interval"                )) <= integration_interval;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_data_id"                             ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_data_id"                             )) <= sdp_data_id;
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_signal_inputs"                   ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_nof_signal_inputs"                   )) <= TO_UVEC(c_nof_signal_inputs, 8);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_statistics_per_package"          ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_nof_statistics_per_package"          )) <= TO_UVEC(c_nof_statistics_per_package, 16);
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_block_period"                        ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "sdp_block_period"                        )) <= sdp_info.block_period;
+
+  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "dp_bsn"                                  ) DOWNTO field_lo(c_sdp_stat_hdr_field_arr,  "dp_bsn"                                  )) <= bsn_at_sync; 
 
 
 
@@ -319,7 +271,7 @@ BEGIN
 
   u_mms_common_variable_delay : ENTITY common_lib.mms_common_variable_delay
   GENERIC MAP (
-    g_max_delay => 1 
+    g_max_delay => 4 
   )
   PORT MAP (
     mm_rst => mm_rst,
@@ -359,8 +311,8 @@ BEGIN
     g_nof_streams   => c_nof_streams,
     g_data_w        => c_word_w,
     g_symbol_w      => c_byte_w,
-    g_hdr_field_arr => c_hdr_field_arr,
-    g_hdr_field_sel => c_hdr_field_sel
+    g_hdr_field_arr => c_sdp_stat_hdr_field_arr,
+    g_hdr_field_sel => c_sdp_stat_hdr_field_sel
   )
   PORT MAP(
     mm_rst               => mm_rst,
@@ -372,6 +324,7 @@ BEGIN
     snk_in_arr(0)        => dp_block_from_mm_src_out,
     snk_out_arr(0)       => dp_block_from_mm_src_in,
     src_out_arr(0)       => out_sosi,
+    src_in_arr(0)        => out_siso,
     hdr_fields_in_arr(0) => r.dp_header_info -- hdr_fields_in_arr(i) is considered valid @ snk_in_arr(i).sop
   );
 END str;
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
index 0f95f9a467771a3254ac791b060cee4769931b32..b03f7979aab618b8831e1bd8ca58965b0e382d7e 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
@@ -92,14 +92,17 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
   SIGNAL hdr_dat_miso : t_mem_miso;
 
   SIGNAL in_sosi             : t_dp_sosi := c_dp_sosi_rst;
-  SIGNAL out_sosi            : t_dp_sosi;
+  SIGNAL offload_sosi        : t_dp_sosi;
+  SIGNAL offload_siso        : t_dp_siso := c_dp_siso_rst;
+
+  SIGNAL test_offload_sosi   : t_dp_sosi;
 
   -- signals used to change settings of sdp_info 
   SIGNAL gn_index  : NATURAL   := 15; 
   SIGNAL f_adc     : STD_LOGIC := '0'; 
   SIGNAL fsub_type : STD_LOGIC := '0';
 
-  SIGNAL sdp_info  : t_sdp_info; 
+  SIGNAL sdp_info  : t_sdp_info := ( x"0001", '0', x"00000003", b"01", '0', '0', '0', '0', x"00", x"00", x"00", x"00", x"0000", x"0000");
 
   -- signals used for response of mm bus
   SIGNAL mm_natural_response : NATURAL;
@@ -146,6 +149,8 @@ BEGIN
     -- enable common variabel delay
     proc_mem_mm_bus_wr(c_mm_addr_enable, 1, mm_clk, enable_miso, enable_mosi);
     proc_common_wait_some_cycles(mm_clk, c_cross_clock_domain_latency);
+    --offload_siso <= c_dp_siso_rdy;
+    proc_common_wait_some_cycles(mm_clk, 1);
     FOR i IN 0 TO g_nof_signal_inputs_per_pn LOOP
       in_sosi.sync  <= '1';
       in_sosi.valid <= '1';
@@ -172,9 +177,9 @@ BEGIN
     proc_common_wait_some_cycles(mm_clk, 100);
 
     -- station_id, antenna_band_index, observation_id, nyquist_zone_index, f_adc, fsub_type, beam_repositioning_flag, subband_calibrated_flag, O_si, N_si, O_rn, N_rn, block_period, beamlet_scale
-    sdp_info <= ( x"0001", '0', x"00000003", b"01", '0', '0', '0', '0', x"00", x"00", x"00", x"00", x"0000", x"0000");
+    --sdp_info <= ( x"0001", '0', x"00000003", b"01", '0', '0', '0', '0', x"00", x"00", x"00", x"00", x"0000", x"0000");
     proc_common_wait_some_cycles(mm_clk, 1);
-    out_sosi.sync <= '1';
+    --in_sosi.sync <= '1';
 
     proc_common_wait_some_cycles(mm_clk, 100);
     tb_end <= '1';
@@ -209,6 +214,21 @@ BEGIN
     rd_val_b  => OPEN
   ); 
 
+  p_test_offload : PROCESS(offload_sosi, in_sosi)
+  BEGIN
+    offload_siso <= c_dp_siso_rst;
+    IF init_ram_done = '1' THEN
+      test_offload_sosi       <= c_dp_sosi_rst;
+      test_offload_sosi.data  <= offload_sosi.data;
+      test_offload_sosi.empty <= offload_sosi.empty;
+      test_offload_sosi.valid <= offload_sosi.valid;
+      test_offload_sosi.sop   <= offload_sosi.sop;
+      test_offload_sosi.eop   <= offload_sosi.eop;
+      
+      offload_siso <= c_dp_siso_rdy;
+    END IF;
+  END PROCESS;
+
   -- SDP info
   u_dut: ENTITY work.sdp_statistics_offload
   GENERIC MAP (
@@ -236,7 +256,8 @@ BEGIN
     gn_index  => gn_index,
 
     in_sosi   => in_sosi,
-    out_sosi  => out_sosi,
+    out_sosi  => offload_sosi,
+    out_siso  => offload_siso,
 
     eth_src_mac  => c_eth_src_mac,
     udp_src_port => c_udp_src_port,