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

Functions

t_slv_arr   f_tcpv6_create_pkt (
ipv6_header: in t_ipv6_header
tcp_header: in t_tcp_header
payload: in t_slv_arr
add_payload: in boolean
get_length: in boolean false
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
t_slv_arr   f_tcpv6_create_pkt (
ipv6_header: in t_ipv6_header
tcp_header: in t_tcp_header
payload: in t_slv_arr
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
 Create TCP for IPv6 packet.
natural   f_tcpv6_create_pkt_len (
ipv6_header: in t_ipv6_header
tcp_header: in t_tcp_header
payload: in t_slv_arr
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
 Return length of TCP packet.
t_slv_arr   f_tcpv6_create_pkt (
ipv6_header: in t_ipv6_header
tcp_header: in t_tcp_header
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
 Create TCP for IPv6 packet.
natural   f_tcpv6_create_pkt_len (
ipv6_header: in t_ipv6_header
tcp_header: in t_tcp_header
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
 Return length of TCP packet.
t_tcp_header   f_tcpv6_get_header ( tcp_pkt: in t_slv_arr )
 Get TCP header.
t_slv_arr   f_tcpv6_get_payload ( tcp_pkt: in t_slv_arr , get_length: in boolean false )
t_slv_arr   f_tcpv6_get_payload ( tcp_pkt: in t_slv_arr )
 Get TCP payload.
natural   f_tcpv6_get_payload_len ( tcp_pkt: in t_slv_arr )
 Get TCP payload length.
boolean   f_tcpv6_chksum_ok (
ipv6_header: in t_ipv6_header
tcp_pkt: in t_slv_arr
routing_header: in t_extension_header C_DEFAULT_EXT_HEADER
)
 Check TCP checksum.

Member Function Documentation

◆ f_tcpv6_create_pkt() [1/2]

t_slv_arr f_tcpv6_create_pkt (   ipv6_header in t_ipv6_header ,
  tcp_header in t_tcp_header ,
  payload in t_slv_arr ,
  routing_header in t_extension_header C_DEFAULT_EXT_HEADER  
)
Function

Create TCP for IPv6 packet.

Parameters
ipv6_headerIPv6 header (required for checksum calculation)
udp_headerTCP header
payloadTCP payload
Returns
TCP packet (8bit array)
Parameters
routing_headerIPv6 routing extension header (default none)

Create TCPv4 packet. Payload must be 8bit data array. A pseudo-header is generated from the IPv4 header which is included in the checksum calculation.

Example use

v_ipv6_header := C_DEFAULT_ipv6_header;
v_tcp_header := C_DEFAULT_TCP_HEADER;
v_packet_8bit := f_tcpv6_create_pkt(v_ipv6_header, v_tcp_header, payload);

◆ f_tcpv6_create_pkt_len() [1/2]

natural f_tcpv6_create_pkt_len (   ipv6_header in t_ipv6_header ,
  tcp_header in t_tcp_header ,
  payload in t_slv_arr ,
  routing_header in t_extension_header C_DEFAULT_EXT_HEADER  
)
Function

Return length of TCP packet.

Parameters
ipv6_headerIPv6 header (required for checksum calculation)
tcp_headerTCP header
payloadTCP payload
routing_headerIPv6 routing extension header (default none)
Returns
Length of TCP packet

Return the length of the created TCP packet.

Example use

v_len := f_tcpv6_create_pkt_len(v_ipv6_header, v_tcp_header, payload);
v_pkt_8bit(0 to v_len - 1) := f_tcpv6_create_pkt(v_ipv6_header, v_tcp_header, payload);

◆ f_tcpv6_create_pkt() [2/2]

t_slv_arr f_tcpv6_create_pkt (   ipv6_header in t_ipv6_header ,
  tcp_header in t_tcp_header ,
  routing_header in t_extension_header C_DEFAULT_EXT_HEADER  
)
Function

Create TCP for IPv6 packet.

Parameters
ipv6_headerIPv6 header (required for checksum calculation)
udp_headerTCP header
routing_headerIPv6 routing extension header (default none)
Returns
TCP packet (8bit array)

Create TCP for IPv6 packet without payload.

Example use

v_ipv6_header := C_DEFAULT_ipv6_header;
v_tcp_header := C_DEFAULT_TCP_HEADER;
v_packet_8bit := f_tcpv6_create_pkt(v_ipv6_header, v_tcp_header);

◆ f_tcpv6_create_pkt_len() [2/2]

natural f_tcpv6_create_pkt_len (   ipv6_header in t_ipv6_header ,
  tcp_header in t_tcp_header ,
  routing_header in t_extension_header C_DEFAULT_EXT_HEADER  
)
Function

Return length of TCP packet.

Parameters
ipv6_headerIPv6 header (required for checksum calculation)
tcp_headerTCP header
routing_headerIPv6 routing extension header (default none)
Returns
Length of TCP packet

Return the length of the created TCP packet (no payload).

Example use

v_len := f_tcpv6_create_pkt_len(v_ipv6_header, v_tcp_header);
v_pkt_8bit(0 to v_len - 1) := f_tcpv6_create_pkt(v_ipv6_header, v_tcp_header);

◆ f_tcpv6_get_header()

t_tcp_header f_tcpv6_get_header (   tcp_pkt in t_slv_arr  
)
Function

Get TCP header.

Parameters
tcp_pktTCP packet (8bit)
Returns
TCP header

Extract TCP header from TCP packet.

Example use

v_tcp_header := f_tcpv6_get_header(data_array_8bit);

◆ f_tcpv6_get_payload()

t_slv_arr f_tcpv6_get_payload (   tcp_pkt in t_slv_arr  
)
Function

Get TCP payload.

Parameters
tcp_pktTCP packet (8bit)
Returns
t_slv_arr

Extract TCP payload from TCP packet.

Example use

v_len := f_tcpv6_get_payload_len(data_array_8bit);
v_payload(0 to v_len - 1) := f_tcpv6_get_payload(data_array_8bit);

◆ f_tcpv6_get_payload_len()

natural f_tcpv6_get_payload_len (   tcp_pkt in t_slv_arr  
)
Function

Get TCP payload length.

Parameters
tcp_pktTCP packet (8bit)
Returns
TCP payload length

Get TCP payload length from TCP packet.

Example use

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

◆ f_tcpv6_chksum_ok()

boolean f_tcpv6_chksum_ok (   ipv6_header in t_ipv6_header ,
  tcp_pkt in t_slv_arr ,
  routing_header in t_extension_header C_DEFAULT_EXT_HEADER  
)
Function

Check TCP checksum.

Parameters
ipv6_headerIPv6 header
tcp_pktTCP packet (8bit)
routing_headerIPv6 routing extension header (default none)
Returns
Checksum is OK (True), or not (False)

Check checksum of TCP packet. The IPv6 header is required for the pseudo-header fields.

Example use

v_check := f_tcpv6_chksum_ok(ipv6_header, data_array_8bit);

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