Skip to content
Snippets Groups Projects
Commit 469ded26 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Add ip_src_addr argument option to func_sdp_compose_cep_header().

parent 999e38fd
No related branches found
No related tags found
1 merge request!283Resolve L2SDP-696
Pipeline #36966 passed
......@@ -1372,7 +1372,8 @@ BEGIN
-- Prepare exp_sdp_cep_header before rx_beamlet_sosi.eop, so that
-- p_verify_cep_header can verify it at rx_beamlet_sosi.eop.
exp_sdp_cep_header <= func_sdp_compose_cep_header(c_exp_ip_header_checksum,
exp_sdp_cep_header <= func_sdp_compose_cep_header(c_cep_ip_src_addr,
c_exp_ip_header_checksum,
c_exp_sdp_info,
c_last_gn,
c_exp_beamlet_scale,
......
......@@ -60,6 +60,14 @@ PACKAGE tb_sdp_pkg is
-----------------------------------------------------------------------------
-- Beamlet output via 10GbE to CEP (= central processor)
-----------------------------------------------------------------------------
FUNCTION func_sdp_compose_cep_header(ip_src_addr : STD_LOGIC_VECTOR;
ip_header_checksum : NATURAL;
sdp_info : t_sdp_info; -- app header
gn_index : NATURAL;
beamlet_scale : NATURAL;
beamlet_index : NATURAL;
dp_bsn : NATURAL) RETURN t_sdp_cep_header;
FUNCTION func_sdp_compose_cep_header(ip_header_checksum : NATURAL;
sdp_info : t_sdp_info; -- app header
gn_index : NATURAL;
......@@ -248,8 +256,8 @@ PACKAGE BODY tb_sdp_pkg IS
RETURN TRUE;
END func_sdp_verify_stat_header;
FUNCTION func_sdp_compose_cep_header(ip_header_checksum : NATURAL;
FUNCTION func_sdp_compose_cep_header(ip_src_addr : STD_LOGIC_VECTOR;
ip_header_checksum : NATURAL;
sdp_info : t_sdp_info; -- app header
gn_index : NATURAL;
beamlet_scale : NATURAL;
......@@ -257,8 +265,6 @@ PACKAGE BODY tb_sdp_pkg IS
dp_bsn : NATURAL) RETURN t_sdp_cep_header IS
-- Use sim default dst and src MAC, IP, UDP port from sdp_pkg.vhd and based on gn_index
CONSTANT c_mac_15_0 : STD_LOGIC_VECTOR(15 DOWNTO 0) := func_sdp_gn_index_to_mac_15_0(gn_index);
CONSTANT c_ip_15_0 : STD_LOGIC_VECTOR(15 DOWNTO 0) := func_sdp_gn_index_to_ip_15_0(gn_index);
VARIABLE v_hdr : t_sdp_cep_header;
BEGIN
-- eth header
......@@ -277,7 +283,7 @@ PACKAGE BODY tb_sdp_pkg IS
v_hdr.ip.time_to_live := TO_UVEC( 127, c_network_ip_time_to_live_w);
v_hdr.ip.protocol := TO_UVEC( 17, c_network_ip_protocol_w);
v_hdr.ip.header_checksum := TO_UVEC( ip_header_checksum, c_network_ip_header_checksum_w);
v_hdr.ip.src_ip_addr := c_sdp_cep_ip_src_addr_31_16 & c_ip_15_0; -- c_network_ip_addr_w
v_hdr.ip.src_ip_addr := ip_src_addr; -- c_network_ip_addr_w
v_hdr.ip.dst_ip_addr := c_sdp_cep_ip_dst_addr; -- c_network_ip_addr_w
-- udp header
......@@ -312,6 +318,25 @@ PACKAGE BODY tb_sdp_pkg IS
RETURN v_hdr;
END func_sdp_compose_cep_header;
FUNCTION func_sdp_compose_cep_header(ip_header_checksum : NATURAL;
sdp_info : t_sdp_info; -- app header
gn_index : NATURAL;
beamlet_scale : NATURAL;
beamlet_index : NATURAL;
dp_bsn : NATURAL) RETURN t_sdp_cep_header IS
-- Use sim default dst and src MAC, IP, UDP port from sdp_pkg.vhd and based on gn_index
CONSTANT c_ip_15_0 : STD_LOGIC_VECTOR(15 DOWNTO 0) := func_sdp_gn_index_to_ip_15_0(gn_index);
CONSTANT c_ip_src_addr : STD_LOGIC_VECTOR(31 DOWNTO 0) := c_sdp_cep_ip_src_addr_31_16 & c_ip_15_0;
BEGIN
RETURN func_sdp_compose_cep_header(c_ip_src_addr,
ip_header_checksum,
sdp_info,
gn_index,
beamlet_scale,
beamlet_index,
dp_bsn);
END func_sdp_compose_cep_header;
FUNCTION func_sdp_verify_cep_header(in_hdr, exp_hdr : t_sdp_cep_header) RETURN BOOLEAN IS
VARIABLE v_beamlet_index : NATURAL;
BEGIN
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment