diff --git a/libraries/io/eth/src/vhdl/eth_ihl_to_20.vhd b/libraries/io/eth/src/vhdl/eth_ihl_to_20.vhd
index 6cc81235533a942371dbe752392b227419641a5d..33e66f76aeac3e4ed53ebaba59d7a326ffe038c7 100644
--- a/libraries/io/eth/src/vhdl/eth_ihl_to_20.vhd
+++ b/libraries/io/eth/src/vhdl/eth_ihl_to_20.vhd
@@ -80,6 +80,7 @@ END eth_ihl_to_20;
 ARCHITECTURE rtl OF eth_ihl_to_20 IS
 
   SIGNAL i_src_out        : t_dp_sosi;
+  SIGNAL i_src_in         : t_dp_siso;
   
   TYPE state_type IS (Idle, Eth_DestMAC0, Eth_DestMAC1, Eth_SrcMAC0, Eth_SrcMAC1, IPv4_lengths, IPv4_ID, IPv4_TTL, IPv4_SrcIP, IPv4_DestIP, IPv4_Options, IPv4_Payload);
   SIGNAL state   : state_type;
@@ -88,14 +89,31 @@ ARCHITECTURE rtl OF eth_ihl_to_20 IS
   
 BEGIN
 
-  src_out <= i_src_out;
-  --i_src_out <= snk_in;
 
   -- Pass on frame level flow control
-  snk_out.xon <= src_in.xon;
+  snk_out.xon <= i_src_in.xon;
   
   -- No change in ready latency, c_this_snk_latency = c_this_src_latency
-  snk_out.ready <= src_in.ready;
+  snk_out.ready <= i_src_in.ready;
+
+  u_dp_fifo_sc : ENTITY dp_lib.dp_fifo_sc
+  GENERIC MAP (
+    g_data_w    => c_eth_data_w,
+    g_use_bsn   => FALSE,
+    g_use_sync  => FALSE,
+    g_fifo_size => 10 
+   )
+  PORT MAP (
+    rst        => rst,
+    clk        => clk,
+  
+    snk_in     => i_src_out,
+    snk_out    => i_src_in,
+  
+    src_out    => src_out,
+    src_in     => src_in
+  );
+
   
 
   PROCESS(clk, rst)