Package Body >> nw_ethernet_pkg
|
t_slv_arr | f_eth_create_pkt ( header: in t_ethernet_header , payload: in t_slv_arr ) |
| Create ethernet packet.
|
natural | f_eth_create_pkt_len ( header: in t_ethernet_header , payload: in t_slv_arr ) |
| Return length of ethernet packet.
|
t_ethernet_header | f_eth_get_header ( eth_pkt: in t_slv_arr ) |
| Get ethernet header.
|
t_slv_arr | f_eth_get_payload ( eth_pkt: in t_slv_arr ) |
| Get ethernet payload.
|
natural | f_eth_get_payload_len ( eth_pkt: in t_slv_arr ) |
| Get ethernet payload length.
|
boolean | f_eth_crc_ok ( eth_pkt: in t_slv_arr ) |
| Check CRC.
|
t_slv_arr | f_eth_mac_2_slv_arr ( mac: in string( 1 to 17) ) |
| Convert MAC string to slv_array.
|
◆ f_eth_create_pkt()
t_slv_arr f_eth_create_pkt |
( |
|
header in t_ethernet_header , |
|
|
|
payload in t_slv_arr |
|
) |
| |
|
Function |
Create ethernet packet.
- Parameters
-
header | Ethernet header |
payload | Ethernet payload |
- Returns
- Ethernet packet (8bit array)
Create ethernet packet. Payload must be 8bit data array. Padding is added to achieve minimum frame size of 64 bytes. 4-byte FCS is added to the end of the packet. For VLAN tagging: Set header.vlan_tag.tpid = C_ET_VLAN.
Example use
v_eth_header := C_DEFAULT_ETH_HEADER;
v_packet_8bit := f_eth_create_pkt(v_eth_header, payload);
v_pkt_256bit := f_repack(f_concat(C_ETH_PREAMBLE, v_packet_8bit), 256);
◆ f_eth_create_pkt_len()
natural f_eth_create_pkt_len |
( |
|
header in t_ethernet_header , |
|
|
|
payload in t_slv_arr |
|
) |
| |
|
Function |
Return length of ethernet packet.
- Parameters
-
header | Ethernet header |
payload | Ethernet payload |
- Returns
- Length of ethernet packet
Return the length of the created ethernet packet.
Example use
v_len := f_eth_create_pkt_len(v_eth_header, payload);
v_pkt_8bit(0 to v_len - 1) := f_eth_create_pkt(v_eth_header, payload);
◆ f_eth_get_header()
t_ethernet_header f_eth_get_header |
( |
|
eth_pkt in t_slv_arr |
|
) |
| |
|
Function |
Get ethernet header.
- Parameters
-
eth_pkt | Ethernet packet (8bit) |
- Returns
- Ethernet header
Extract ethernet header from ethernet packet. Assumes that first byte in packet is first byte after start frame delimiter.
Example use
v_eth_header := f_eth_get_header(data_array_8bit);
◆ f_eth_get_payload()
t_slv_arr f_eth_get_payload |
( |
|
eth_pkt in t_slv_arr |
|
) |
| |
|
Function |
Get ethernet payload.
- Parameters
-
eth_pkt | Ethernet packet (8bit) |
- Returns
- Ethernet payload
Extract ethernet payload from ethernet packet. Assumes that first byte in packet is first byte after start frame delimiter.
Example use
v_len := f_eth_get_payload_len(data_array_8bit);
v_payload(0 to v_len - 1) := f_eth_get_payload(data_array_8bit);
◆ f_eth_get_payload_len()
natural f_eth_get_payload_len |
( |
|
eth_pkt in t_slv_arr |
|
) |
| |
|
Function |
Get ethernet payload length.
- Parameters
-
eth_pkt | Ethernet packet (8bit) |
- Returns
- Ethernet payload length
Get ethernet payload length from ethernet packet. Assumes that first byte in packet is first byte after start frame delimiter.
Example use
v_len := f_eth_get_payload_len(data_array_8bit);
◆ f_eth_crc_ok()
boolean f_eth_crc_ok |
( |
|
eth_pkt in t_slv_arr |
|
) |
| |
|
Function |
Check CRC.
- Parameters
-
eth_pkt | Ethernet packet (8bit) |
- Returns
- CRC is OK (True), or not (False)
Check CRC of ethernet packet. Assumes that first byte in packet is first byte after start frame delimiter and the FCS are the last four bytes.
Example use
v_check := f_eth_crc_ok(data_array_8bit);
◆ f_eth_mac_2_slv_arr()
t_slv_arr f_eth_mac_2_slv_arr |
( |
|
mac in string( 1 to 17 ) |
|
) |
| |
|
Function |
Convert MAC string to slv_array.
- Parameters
-
mac | MAC address in string format |
- Returns
- MAC address as byte array
Convert MAC address in string format to byte array. The character separating the numbers is not checked, and can be any valid character.
Example use
v_mac := f_eth_mac_2_slv_arr("a2:34:56:f1:30:00");
v_mac := f_eth_mac_2_slv_arr("a2-34-56-f1-30-00");
The documentation for this design unit was generated from the following file: