In order to support additional parameter definitions, both the MLD and Tcl files in the data folder under the lwIP source directory need to be modified.
- Copy the lwIP library from the installation area:
C:\Xilinx\12.1\ISE_DS\EDK\sw\ThirdParty\sw_services\lwip130_v2_00_a
to a sw_services directory in your project directory:
< project >\sw_services
or to a sw_services directory in your global repository:
< Global_Repository >\< library >\sw_services
- If you copy the lwIP library into a global repository, be sure to set the global repository in XPS by selecting Edit > Preferences > Application and filling in the data entry field with the location of your global repository.
- Make modifications to the newly copied lwIP library files.
- Edit the lwip130_v2_1_0.mld file
BEGIN CATEGORY igmp_options
PARAM name = lwip_igmp, desc = "Turn on lwIP IGMP?", type = bool, default = false, permit = none;
END CATEGORY
The above code adds a new parameter name called lwip_igmp of type Boolean.
- Edit the lwip130_v2_1_0.tcl file
# IGMP options
set lwip_igmp [expr [xget_value $libhandle "PARAMETER" "lwip_igmp"] == true]
puts $lwipopts_fd "\#define LWIP_IGMP $lwip_igmp"
puts $lwipopts_fd ""
The above code sources the lwip_igmp option from the MSS defintion and write it into the lwipopts.h file.
For more details on the syntax of the MLD file, refer to the Platform Specification Format Guide (psf_rm.pdf).