sctp_core: Make sure to pass all primitives in all states to callback

the callback (sctp_sua/sctp_m2pa) can then either act on it by itself
or forward the message to the user
diff --git a/src/sctp_m2pa.erl b/src/sctp_m2pa.erl
index d31f7de..c42c16a 100644
--- a/src/sctp_m2pa.erl
+++ b/src/sctp_m2pa.erl
@@ -27,7 +27,7 @@
 
 -export([init/1, terminate/3, code_change/4, handle_event/3, handle_info/3]).
 
--export([rx_sctp/4, mtp_xfer/2, state_change/3]).
+-export([rx_sctp/4, mtp_xfer/2, state_change/3, prim_up/3]).
 
 -record(m2pa_state, {
 		last_bsn_received,
@@ -72,6 +72,11 @@
 % sctp_core callbacks
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
+prim_up(Prim, State, LoopDat) ->
+	% default: forward all primitives to the user 
+	{ok, Prim, LoopDat}.
+
+
 % sctp_core indicates that ew have received some data...
 rx_sctp(#sctp_sndrcvinfo{ppid = ?M2PA_PPID}, Data, State, LoopDat) ->
 	{ok, M2pa} = m2pa_codec:parse_msg(Data),