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

Functions

t_slv_arr   f_ipv6_create_pkt (
header: in t_ipv6_header
payload: in t_slv_arr
ext_header_list: in t_ext_header_list C_DEFAULT_EXT_HEADER_LIST
)
natural   f_ipv6_create_pkt_len (
header: in t_ipv6_header
payload: in t_slv_arr
ext_header_list: in t_ext_header_list C_DEFAULT_EXT_HEADER_LIST
)
 Create IPv6 packet.
t_ext_header_list   f_ipv6_add_ext_header ( ext_header_list: in t_ext_header_list , ext_header: in t_extension_header )
 Return length of IPv6 packet.
t_ipv6_header   f_ipv6_get_header ( ipv6_pkt: in t_slv_arr )
 Create IPv6 extension header list.
t_ext_header_list   f_ipv6_get_ext_headers ( ipv6_pkt: in t_slv_arr )
 Get IPv6 header.
t_slv_arr   f_ipv6_get_payload ( ipv6_pkt: in t_slv_arr )
 Get IPv6 extension header list.
natural   f_ipv6_get_payload_len ( ipv6_pkt: in t_slv_arr )
 Get IPv6 payload.
t_slv_arr   f_ipv6_addr_2_slv_arr ( addr: in string )
 Get IPv6 payload length.

Member Function Documentation

◆ f_ipv6_create_pkt_len()

natural f_ipv6_create_pkt_len (   header in t_ipv6_header ,
  payload in t_slv_arr ,
  ext_header_list in t_ext_header_list C_DEFAULT_EXT_HEADER_LIST  
)
Function

Create IPv6 packet.

Parameters
headerIPv6 header
payloadIPv6 payload
ext_header_listIPv6 extension header list (default none)
Returns
IPv6 packet (8bit array) or length of IPv6 packet

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

Example use

v_ipv6_header := C_DEFAULt_IPV66_HEADER;
v_len := f_ipv6_create_pkt_len(v_ipv6_header, payload); -- get total packet length
v_ipv6_pkt(0 to v_len - 1) := f_ipv6_create_pkt(v_ipv6_header, payload);

◆ f_ipv6_add_ext_header()

t_ext_header_list f_ipv6_add_ext_header (   ext_header_list in t_ext_header_list ,
  ext_header in t_extension_header  
)
Function

Return length of IPv6 packet.

Parameters
headerIPv6 header
payloadIPv6 payload
ext_header_listIPv6 extension header list (default none)
Returns
Length of IPv6 packet

Return the length of the created IPv6 packet.

Example use

v_len := f_ipv6_create_pkt_len(v_ipv6_header, payload);

◆ f_ipv6_get_header()

t_ipv6_header f_ipv6_get_header (   ipv6_pkt in t_slv_arr  
)
Function

Create IPv6 extension header list.

Parameters
ext_header_listList of IPv6 extension headers
ext_headerExtension header to be added to list
Returns
List of IPv6 extension headers

Add an extension header to a extension header list.

Example use

v_ext_header_list := C_DEFAULT_EXT_HEADER_LIST; -- start with empty list
v_ext_header_list := f_ipv6_add_ext_header(ext_header_list, ext_header1); -- add first header
v_ext_header_list := f_ipv6_add_ext_header(ext_header_list, ext_header2); -- add second header

◆ f_ipv6_get_ext_headers()

t_ext_header_list f_ipv6_get_ext_headers (   ipv6_pkt in t_slv_arr  
)
Function

Get IPv6 header.

Parameters
ipv6_pktIPv6 packet (8bit)
Returns
IPv6 header

Extract IPv6 header from IPv6 packet.

Example use

v_ipv6_header := f_ipv6_get_header(ipv6_pkt);

◆ f_ipv6_get_payload()

t_slv_arr f_ipv6_get_payload (   ipv6_pkt in t_slv_arr  
)
Function

Get IPv6 extension header list.

Parameters
ipv6_pktIPv6 packet (8bit)
Returns
IPv6 extension header list

Extract IPv6 extension headers from IPv6 packet. The number of extension headers found in the packet is indicated by the "header_cnt" field in returned record.

Example use

v_ext_headers := f_ipv6_get_ext_headers(ipv6_pkt); -- v_ext_headers.header_cnt now has the # of ext headers found in the packet

◆ f_ipv6_get_payload_len()

natural f_ipv6_get_payload_len (   ipv6_pkt in t_slv_arr  
)
Function

Get IPv6 payload.

Parameters
ipv6_pktIPv6 packet (8bit)
get_lengthGet length of payload, default False
Returns
t_slv_arr

Extract IPv6 payload from IPv6 packet. Extension headers are not part of the payload retunred.

Example use

v_len := f_ipv6_get_payload_len(ipv6_pkt);
v_payload(0 to v_len - 1) := f_ipv6_get_payload(ipv6_pkt);

◆ f_ipv6_addr_2_slv_arr()

t_slv_arr f_ipv6_addr_2_slv_arr (   addr in string  
)
Function

Get IPv6 payload length.

Parameters
ipv6_pktIPv6 packet (8bit)
Returns
IPv6 payload length

Get IPv6 payload length from IPv6 packet.

Example use

v_len := f_ipv6_get_payload_len(ipv6_pkt); -- determine size of payload

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