Network Wizard for VHDL Test Benches
nw_icmpv4_pkg Package Body Reference
Package >> nw_icmpv4_pkg

Functions

t_slv_arr   f_icmpv4_create_pkt (
icmp_header: in t_icmpv4_header
add_payload: in boolean
payload: in t_slv_arr
get_length: in boolean
)
t_slv_arr   f_icmpv4_create_pkt ( icmp_header: in t_icmpv4_header , payload: in t_slv_arr )
 Create ICMPv4 packet.
t_slv_arr   f_icmpv4_create_pkt ( icmp_header: in t_icmpv4_header )
 Create ICMPv4 packet (no payload)
natural   f_icmpv4_create_pkt_len ( icmp_header: in t_icmpv4_header , payload: in t_slv_arr )
 Return length of ICMP packet.
natural   f_icmpv4_create_pkt_len ( icmp_header: in t_icmpv4_header )
 Return length of ICMP packet (no payload)
t_icmpv4_header   f_icmpv4_get_header ( icmp_pkt: in t_slv_arr )
 Get ICMP header.
t_slv_arr   f_icmpv4_get_payload ( icmp_pkt: in t_slv_arr , get_length: in boolean false )
t_slv_arr   f_icmpv4_get_payload ( icmp_pkt: in t_slv_arr )
 Get ICMP payload.
natural   f_icmpv4_get_payload_len ( icmp_pkt: in t_slv_arr )
 Get ICMP payload length.
boolean   f_icmpv4_chksum_ok ( icmp_pkt: in t_slv_arr )
 Check ICMP checksum.

Member Function Documentation

◆ f_icmpv4_create_pkt() [1/2]

t_slv_arr f_icmpv4_create_pkt (   icmp_header in t_icmpv4_header ,
  payload in t_slv_arr  
)
Function

Create ICMPv4 packet.

Parameters
icmp_headerICMP header
payloadICMP payload
Returns
ICMP packet (8bit array) or length of ICMP packet

Create ICMPv4 packet. Payload must be 8bit data array.

Example use

v_packet_8bit := f_icmpv4_create_pkt(C_DEFAULT_ICMPV4_HEADER); -- echo request
v_packet2_8bit := f_icmpv4_create_pkt(C_DEFAULT_ICMPV4_HEADER, payload); -- with payload

◆ f_icmpv4_create_pkt() [2/2]

t_slv_arr f_icmpv4_create_pkt (   icmp_header in t_icmpv4_header  
)
Function

Create ICMPv4 packet (no payload)

Parameters
icmp_headerICMP header
Returns
ICMP packet (8bit array) or length of ICMP packet

Create ICMPv4 packet. Payload must be 8bit data array.

Example use

v_packet_8bit := f_icmpv4_create_pkt(C_DEFAULT_ICMPV4_HEADER); -- echo request

◆ f_icmpv4_create_pkt_len() [1/2]

natural f_icmpv4_create_pkt_len (   icmp_header in t_icmpv4_header ,
  payload in t_slv_arr  
)
Function

Return length of ICMP packet.

Parameters
icmp_headerICMP header
payloadICMP payload
Returns
Length of ICMP packet

Return the length of the created ICMP packet.

Example use

v_len := f_icmpv4_create_pkt_len(v_icmp_header, payload);
v_pkt_8bit(0 to v_len - 1) := f_icmpv4_create_pkt(v_icmp_header, payload);

◆ f_icmpv4_create_pkt_len() [2/2]

natural f_icmpv4_create_pkt_len (   icmp_header in t_icmpv4_header  
)
Function

Return length of ICMP packet (no payload)

Parameters
icmp_headerICMP header
Returns
Length of ICMP packet

Return the length of the created ICMP packet.

Example use

v_len := f_icmpv4_create_pkt_len(v_icmp_header);
v_pkt_8bit(0 to v_len - 1) := f_icmpv4_create_pkt(v_icmp_header);

◆ f_icmpv4_get_header()

t_icmpv4_header f_icmpv4_get_header (   icmp_pkt in t_slv_arr  
)
Function

Get ICMP header.

Parameters
icmp_pktICMP packet (8bit)
Returns
ICMP header

Extract ICMP header from ICMP packet.

Example use

v_icmp_header := f_icmpv4_get_header(data_array_8bit);

◆ f_icmpv4_get_payload()

t_slv_arr f_icmpv4_get_payload (   icmp_pkt in t_slv_arr  
)
Function

Get ICMP payload.

Parameters
icmp_pktICMP packet (8bit)
Returns
t_slv_arr

Extract ICMP payload from ICMP packet.

Example use

v_len := f_icmpv4_get_payload_len(data_array_8bit);
v_payload(0 to v_len - 1) := f_icmpv4_get_payload(data_array_8bit);

◆ f_icmpv4_get_payload_len()

natural f_icmpv4_get_payload_len (   icmp_pkt in t_slv_arr  
)
Function

Get ICMP payload length.

Parameters
icmp_pktICMP packet (8bit)
Returns
ICMP payload length

Get ICMP payload length from ICMP packet.

Example use

v_len := f_icmpv4_get_payload_len(data_array_8bit); -- determine size of payload

◆ f_icmpv4_chksum_ok()

boolean f_icmpv4_chksum_ok (   icmp_pkt in t_slv_arr  
)
Function

Check ICMP checksum.

Parameters
icmp_pktICMP packet (8bit)
Returns
Checksum is OK (True), or not (False)

Check checksum of ICMP packet.

Example use

v_check := f_icmpv4_chksum_ok(data_array_8bit);

The documentation for this class was generated from the following file: