diff --git a/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd b/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd
index b33203559a0bc10516fead222645b160f4f47da4..4e5eb22cb66268b4d144dacfe287207737c1bf92 100644
--- a/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd
+++ b/libraries/base/dp/src/vhdl/dp_stream_pkg.vhd
@@ -334,6 +334,9 @@ PACKAGE dp_stream_pkg Is
   -- Functions to combinatorially handle the error field
   FUNCTION func_dp_stream_error_set(st_sosi : t_dp_sosi; n : NATURAL) RETURN t_dp_sosi;  -- force err = 0, is OK
   
+  -- Functions to combinatorially handle the BSN field
+  FUNCTION func_dp_stream_bsn_set(st_sosi : t_dp_sosi; bsn : STD_LOGIC_VECTOR) RETURN t_dp_sosi;
+  
   -- Functions to combine sosi fields
   FUNCTION func_dp_stream_combine_info_and_data(info, data : t_dp_sosi) RETURN t_dp_sosi;
   
@@ -1144,12 +1147,22 @@ PACKAGE BODY dp_stream_pkg IS
     RETURN v_rec;
   END func_dp_stream_channel_remove;
   
+  
   FUNCTION func_dp_stream_error_set(st_sosi : t_dp_sosi; n : NATURAL) RETURN t_dp_sosi IS
     VARIABLE v_rec : t_dp_sosi := st_sosi;
   BEGIN
     v_rec.err := TO_UVEC(n, c_dp_stream_error_w);
     RETURN v_rec;
   END func_dp_stream_error_set;
+  
+  
+  FUNCTION func_dp_stream_bsn_set(st_sosi : t_dp_sosi; bsn : STD_LOGIC_VECTOR) RETURN t_dp_sosi IS
+    VARIABLE v_rec : t_dp_sosi := st_sosi;
+  BEGIN
+    v_rec.bsn := RESIZE_DP_BSN(bsn);
+    RETURN v_rec;
+  END func_dp_stream_bsn_set;
+  
     
   FUNCTION func_dp_stream_combine_info_and_data(info, data : t_dp_sosi) RETURN t_dp_sosi IS
     VARIABLE v_rec : t_dp_sosi := data;  -- Sosi data fields