Now that you are able to build a vanilla system, you can start experimenting with different optional configurations. The following gives a list of things you might try. Consult the Programmer's Manual for more information on each item.
trace=TR_MAJOR_EVENTSto the end of each of the following four lines
name=eth protocols=simeth;For example, the first line would become
name=arp protocols=eth;
name=ip protocols=vnet;
name=tcp protocols=ip;
name=eth protocols=simeth trace=TR_MAJOR_EVENTS;Similarly with the other lines. Once this edit is done, repeat steps 9 and 10 from above. This change will increase the amount of tracing information that is output when the x-kernel runs. This output will now include events from TCP, IP, ARP, and the Ethernet driver (ETH). To see an even greater level of trace detail, change TR_MAJOR_EVENTS to TR_FUNCTIONAL_TRACE in each of the above lines, and repeat steps 8 and 9 again.
HOWTOCOMPILE = DEBUGand un-commenting the line
#HOWTOCOMPILE = OPTIMIZEThen repeat steps 9 and 10 from above. (You will also need to repeat step 8 if this is the first time the x-kernel has been built in OPTIMIZE mode on this platform.) This will build an optimized version of the x-kernel that does not include the trace statements that generated much of the output you saw before. Typically, you want to run the x-kernel in OPTIMIZED mode when you care about the performance measurements it generates.
name=tcp protocols=ip;with the lines
name=tcptest protocols=tcp;
name=udp protocols=ip;Then repeat steps 9 and 10 from above. You can also play with OPTIMIZE versus DEBUG mode, as well as the trace level while in DEBUG mode.
name=udptest protocols=udp;
Note that /usr/xkernel/user_level/build/Template contains various example_* subdirectories, each of which contains configuration files for various protocol stacks you can try. For example, try running an RPC protocol stack, or the MSP or SWP protocols.
Of course, the hard work is to write the x-kernel code that implements the desired functionality. You will need to study the x-kernel Programmer's Manual [1] and Tutorial [2] to help you with this task. It will be especially helpful to study protocol ASP, which is described in detail in the Tutorial. We recommend you start with something simple, like changing the header format.