OPTION psf_version = 2.1; BEGIN LIBRARY lwip140 OPTION drc = lwip_drc; OPTION copyfiles = all; OPTION desc = "lwIP TCP/IP Stack library: lwIP v1.4.0, Xilinx adapter v2.0"; OPTION app_linker_flags = "-Wl,--start-group,-lxil,-llwip4,-lgcc,-lc,--end-group"; OPTION requires_os = (standalone xilkernel freertos_zynq); OPTION NAME = lwip140; PARAM name = api_mode, desc = "Mode of operation for lwIP (RAW API/Sockets API)", type = enum, values = ("RAW API" = RAW_API, "SOCKET API" = SOCKET_API), default = RAW_API; PARAM name = socket_mode_thread_prio, desc = "Priority of threads in socket mode", type = int, default = 2; PARAM name = use_axieth_on_zynq, desc = "Option if set to 1 ensures axiethernet adapter being used in Zynq. Valid only for Zynq", type = int, default = 1; PARAM name = use_emaclite_on_zynq, desc = "Option if set to 1 ensures emaclite adapter being used in Zynq. Valid only for Zynq", type = int, default = 1; BEGIN CATEGORY temac_adapter_options PARAM name = temac_adapter_options, desc = "Settings for xps-ll-temac/Axi-Ethernet/Gem lwIP adapter", type = bool, default = true, permit = none; PARAM name = n_tx_descriptors, desc = "Number of TX Buffer Descriptors to be used in SDMA mode", type = int, default = 64; PARAM name = n_rx_descriptors, desc = "Number of RX Buffer Descriptors to be used in SDMA mode", type = int, default = 64; PARAM name = n_tx_coalesce, desc = "Setting for TX Interrupt coalescing. Applicable only for Axi-Ethernet/xps-ll-temac.", type = int, default = 1; PARAM name = n_rx_coalesce, desc = "Setting for RX Interrupt coalescing.Applicable only for Axi-Ethernet/xps-ll-temac.", type = int, default = 1; PARAM name = tcp_rx_checksum_offload, desc = "Offload TCP Receive checksum calculation (hardware support required).Applicable only for Axi-Ethernet/xps-ll-temac.", type = bool, default = false; PARAM name = tcp_tx_checksum_offload, desc = "Offload TCP Transmit checksum calculation (hardware support required).Applicable only for Axi-Ethernet/xps-ll-temac.", type = bool, default = false; PARAM name = tcp_ip_rx_checksum_offload, desc = "Offload TCP and IP Receive checksum calculation (hardware support required).Applicable only for Axi-Ethernet.", type = bool, default = false; PARAM name = tcp_ip_tx_checksum_offload, desc = "Offload TCP and IP Transmit checksum calculation (hardware support required).Applicable only for Axi-Ethernet.", type = bool, default = false; PARAM name = phy_link_speed, desc = "link speed as negotiated by the PHY", type = enum, values = ("10 Mbps" = CONFIG_LINKSPEED10, "100 Mbps" = CONFIG_LINKSPEED100, "1000 Mbps" = CONFIG_LINKSPEED1000, "Autodetect" = CONFIG_LINKSPEED_AUTODETECT), default = CONFIG_LINKSPEED_AUTODETECT; PARAM name = temac_use_jumbo_frames, desc = "use jumbo frames", type = bool, default = false; PARAM name = emac_number, desc = "Zynq Ethernet Interface number", type = int, default = 0; END CATEGORY BEGIN CATEGORY lwip_memory_options PROPERTY desc = "lwIP memory options" PARAM name = lwip_memory_options, desc = "Options controlling lwIP memory usage" PARAM name = mem_size, desc = "Size of the heap memory (bytes).", type = int, default = 131072; PARAM name = memp_n_pbuf, desc = "Number of memp struct pbufs. Set this high if application sends lot of data out of ROM", type = int, default = 16; PARAM name = memp_n_udp_pcb, desc = "Number of active UDP PCBs. One per active UDP connection", type = int, default = 4; PARAM name = memp_n_tcp_pcb, desc = "Number of active TCP PCBs. One per active TCP connection", type = int, default = 32; PARAM name = memp_n_tcp_pcb_listen, desc = "Number of listening TCP connections", type = int, default = 8; PARAM name = memp_n_tcp_seg, desc = "Number of simultaneously queued TCP segments", type = int, default = 256; PARAM name = memp_n_sys_timeout, desc = "Number of simultaneously active timeouts", type = int, default = 8; PARAM name = memp_num_netbuf, desc = "Number of struct netbufs (socket mode only)", type = int, default = 8; PARAM name = memp_num_netconn, desc = "Number of struct netconns (socket mode only)", type = int, default = 16; PARAM name = memp_num_api_msg, desc = "Number of api msg structures (socket mode only)", type = int, default = 16; PARAM name = memp_num_tcpip_msg, desc = "Number of tcpip msg structures (socket mode only)", type = int, default = 64; END CATEGORY BEGIN CATEGORY pbuf_options PROPERTY desc = "Pbuf Related Options"; PARAM name = pbuf_options, desc = "Pbuf Options", type = bool, default = true, permit = none; PARAM name = pbuf_pool_size, desc = "Number of buffers in pbuf pool.", type = int, default = 256; PARAM name = pbuf_pool_bufsize, desc = "Size of each pbuf in pbuf pool.", type = int, default = 1700; PARAM name = pbuf_link_hlen, desc = "Number of bytes that should be allocated for a link level header.", type = int, default = 16, permit = none; END CATEGORY BEGIN CATEGORY arp_options PROPERTY desc = "ARP Options"; PARAM name = arp_options, desc = "ARP Options", type = bool, default = true, permit = none; PARAM name = arp_table_size, desc = "Number of active hardware address IP address pairs cached.", type = int, default = 10; PARAM name = arp_queueing, desc = "If enabled outgoing packets are queued during hardware address resolution.", type = int, default = 1, range = (0, 1); END CATEGORY BEGIN CATEGORY lwip_ip_options PROPERTY desc = "IP Options"; PARAM name = lwip_ip_options, desc = "IP Options", type = bool, default = true, permit = none; PARAM name = ip_forward, desc = "Enable forwarding IP packets across network interfaces.", type = int, default = 0, range = (0, 1); PARAM name = ip_options, desc = "1 = IP options are allowed (but not parsed). 0 = packets with IP options are dropped", type = int, default = 0, range = (0, 1); PARAM name = ip_reassembly, desc = "Reassemble incoming fragmented IP packets", type = int, default = 1, range = (0, 1); PARAM name = ip_frag, desc = "Fragment outgoing IP packets if their size exceeds MTU", type = int, default = 1, range = (0, 1); PARAM name = ip_reass_max_pbufs, desc = "Reassembly PBUF Queue Length", type = int, default = 128; PARAM name = ip_frag_max_mtu, desc = "Assumed max MTU on any interface for IP frag buffer", type = int, default = 1500; PARAM name = ip_default_ttl, desc = "Global default TTL used by transport layers", type = int, default = 255; END CATEGORY BEGIN CATEGORY icmp_options PROPERTY desc = "ICMP Options"; PARAM name = icmp_options, desc = "ICMP Options", type = bool, default = true, permit = none; PARAM name = icmp_ttl, desc = "ICMP TTL value", type = int, default = 255; END CATEGORY BEGIN CATEGORY igmp_options PROPERTY desc = "IGMP Options"; PARAM name = igmp_options, desc = "IGMP Options", type = bool, default = false; END CATEGORY BEGIN CATEGORY udp_options PROPERTY desc = "UDP Options"; PARAM name = udp_options, desc = "Is UDP required ?", type = bool, default = true, permit = none; PARAM name = lwip_udp, desc = "Is UDP required ?", type = bool, default = true; PARAM name = udp_ttl, desc = "UDP TTL value", type = int, default = 255; END CATEGORY BEGIN CATEGORY tcp_options PROPERTY desc = "lwIP TCP options"; PARAM name = tcp_options, desc = "Is TCP required ?", type = bool, default = true, permit = none; PARAM name = lwip_tcp, desc = "Is TCP required ?", type = bool, default = true; PARAM name = tcp_wnd, desc = "TCP Window (bytes)", type = int, default = 2048; PARAM name = tcp_snd_buf, desc = "TCP sender buffer space (bytes)", type = int, default = 8192; PARAM name = tcp_mss, desc = "TCP Maximum segment size (bytes)", type = int, default = 1460; PARAM name = tcp_ttl, desc = "TCP TTL value", type = int, default = 255; PARAM name = tcp_maxrtx, desc = "TCP Maximum retransmission value", type = int, default = 12; PARAM name = tcp_synmaxrtx, desc = "TCP Maximum SYN retransmission value", type = int, default = 4; PARAM name = tcp_queue_ooseq, desc = "Should TCP queue segments arriving out of order. Set to 0 if your device is low on memory", type = int, default = 1, range = (0,1) END CATEGORY BEGIN CATEGORY dhcp_options PROPERTY desc = "lwIP DHCP options"; PARAM name = dhcp_options, desc = "Is DHCP required?", type = bool, default = true, permit = none; PARAM name = lwip_dhcp, desc = "Is DHCP required?", type = bool, default = false; PARAM name = dhcp_does_arp_check, desc = "ARP check on offered addresses?", type = bool, default = false; END CATEGORY BEGIN CATEGORY stats_options PARAM name = stats_options, desc = "Turn on lwIP statistics?", type = bool, default = true, permit = none; PARAM name = lwip_stats, desc = "Turn on lwIP statistics?", type = bool, default = false; END CATEGORY BEGIN CATEGORY debug_options PARAM name = debug_options, desc = "Turn on lwIP Debug?", type = bool, default = true, permit = none; PARAM name = lwip_debug, desc = "Turn on lwIP Debug?", type = bool, default = false; PARAM name = ip_debug, desc = "Debug IP layer", type = bool, default = false; PARAM name = tcp_debug, desc = "Debug TCP layer", type = bool, default = false; PARAM name = udp_debug, desc = "Debug UDP layer", type = bool, default = false; PARAM name = icmp_debug, desc = "Debug ICMP protocol", type = bool, default = false; PARAM name = igmp_debug, desc = "Debug IGMP protocol", type = bool, default = false; PARAM name = netif_debug, desc = "Debug network interface layer", type = bool, default = false; PARAM name = sys_debug, desc = "Debug sys arch layer", type = bool, default = false; PARAM name = pbuf_debug, desc = "Debug pbuf layer", type = bool, default = false; END CATEGORY END LIBRARY