Введение
NetWiz — это автономная библиотека VHDL для генерации и управления пакетами сетевых протоколов. NetWiz предлагает функциональный API без сохранения состояния.
NetWiz требует VHDL 2008 и предназначен только для использования в тестовых стендах, синтез не поддерживается. NetWiz лицензируется по лицензии MIT.
Библиотеки
Netwiz состоит из нескольких библиотек. Библиотеки, не связанные с конкретным сетевым протоколом:
- nw_adapt:
- nw_кодек:
- [nw_sl_codec](@ref nw_sl_codec): универсальный кодек без сохранения состояния.
- [nw_cobs](@ref nw_cobs): согласованное заполнение служебных байтов
- [nw_bitstuff](@ref nw_bstuff): вставка битов
- [nw_base](@ref nw_base): кодек Base64/32/16
- [nw_hamming](@ref nw_hamming): кодирование/декодирование по Хэммингу
- nw_pcap:
- [nw_pcap](@ref nw_pcap): чтение сетевых пакетов из файлов PCAP/PCAPNG (созданных Wireshark, tcmpdump и др.).
- nw_util:
- [nw_util](@ref nw_util): Функции для манипулирования массивами данных.
- [nw_crc](@ref nw_crc): CRC и генерация контрольной суммы.
- [nw_prbs](@ref nw_prbs): генерация псевдослучайной двоичной последовательности.
- [nw_nrs](@ref nw_nrs): генерация неслучайной последовательности
Библиотеки, специфичные для протокола:
- nw_ethernet:
- [nw_ethernet](@ref nw_ethernet): создание пакетов Ethernet и управление ими.
- [nw_arp](@ref nw_arp): создание пакетов ARP и управление ими.
- nw_ipv4:
- [nw_ipv4](@ref nw_ipv4): создание пакетов IPv4 и управление ими.
- [nw_udp](@ref nw_udpv4): создание и управление UDP-пакетами для IPv4.
- [nw_icmp](@ref nw_icmpv4): создание пакетов ICMPv4 и управление ими.
- [nw_tcp](@ref nw_tcpv4): создание TCP-пакетов для IPv4 и управление ими.
- nw_ipv6:
- [nw_ipv6](@ref nw_ipv6): создание пакетов IPv6 и управление ими.
- [nw_udp](@ref nw_udpv6): создание и управление UDP-пакетами для IPv6.
- [nw_icmp](@ref nw_icmpv6): создание пакетов ICMPv6 и управление ими.
- [nw_tcp](@ref nw_tcpv6): создание TCP-пакетов для IPv6 и управление ими.
- nw_ptp:
- [nw_ptpv2](@ref nw_ptp): создание пакетов IEEE1588v2 и управление ими.
- nw_usb:
- [nw_usb](@ref nw_usb): создание USB-пакетов и управление ими.
Ожидается, что в будущем будут добавлены дополнительные библиотеки протоколов.
Документация
API NetWiz документирован здесь .