1.background:
The SCTP protocol does not match the resulting kernel compilation.
The company's Sigtrans is that Huawei's HSTP in the hstp of the SCTP layer of Huawei found that the INIT message did not know our SCTP the ecn\forward tsn\adaptation parameter in the INIT message in the layer.
over the network with search engines repeatedly find LINUX\SCTP related data only to discover linux kernel 2.6.18 version sctpinit mandatory additions ECN , adaptation entry, FORWRD TSN parameter can be /PROC/SYS/NET/SCTP for switch configuration (0 Carry 1 does not carry . init_ack message is forced to carry ECN , adaptation parameter. Experienced a lot of misunderstandings before finding this result, such as modify lksctp , OPENSS7 and so on. These are all in vain.
After locating the LINUX kernel 2.6.18 kernel issue, modify the 2.6.18 kernel code downloaded from ftp://ftp.kernel.org/pub/linux/kernel/. Modify the sctp_make_init function in sm_make_chunk.c, modify the sctp_make_init_ack function, remove more parameters, and then upload the code to the server. for kernel compilation.
2.Kernel compilation steps:
The following steps are mainly for the 2.6 kernel, and for the 2,4 kernel, please find the search engine for help.
1: Prep work
Link /usr/include/asm,/usr/inlude/linux,/usr/include/scsi to /home/kernel/ Linux-2.6.18/include(to the kernel file path) directory in the corresponding directory .
# cd/usr/include
#rm-rf ASM Linux scsi // I have done backup before deleting
# ln-s /home/kernel/linux-2.6.18/arch/x86/include/asm asm// arm  
should be ln- s /home/kernel/linux-2.6.18 /arch/arm/include/asm asm
#ln-S/home/kernel/linux-2.6.18/include/linux linux
# ln-s /home/kernel/linux-2.6.18/INCLUDE/SCSISCSI
Note: /usr/include/asm should be correctly linked to the appropriate location, it is possible Asm-generic also to link, or to run Make menuconfig try again when you make an error by locating the file with the error , copy to /usr/include/asm-generic the next.
2: kernel compilation steps
2.1make Menuconfig
2.2make
2.3make Modules_install
2.4make Install
3. Direct reboot to enjoy the new kernel
3.Errors and Workarounds
1: Just one make makes a mistake
Workaround:/usr/include/asm /usr/include/linux /usr/include/generic directory is not configured correctly
2:make to the last error
information such as the following:make[3]: * * * No rules can be created "net/ipv4/netfilter/ipt_tos. o" desired target " net/ipv4/netfilter/ipt_tos.c". Stop it.
make[2]: * * [Net/ipv4/netfilter] error 2
make[1]: * * [Net/ipv4] error 2
Make : * * * [NET] error 2
...............
Make[3]: * * * no rules can create "net/ipv4/netfilter/ipt_tos.o" required targets "NET/IPV4/NETFILTER/IPT_TOS.C ”。 Stop it.
make[2]: * * [Net/ipv4/netfilter] error 2
make[1]: * * [Net/ipv4] error 2
Make : * * * [NET] error 2
Workaround: Microsoft's system case is not sensitive when uncompressed under Windows. One of these two files is overwritten when extracting, resulting in a compile error. Unzip under Linux, the. c. h file of the file that will prompt for the error is found in the extracted files from Linux and copied to the kernel-specific path to be compiled. As follows:
[Email protected] ~]# cp/home/kernel/linux-2.6.18/net/ipv4/netfilter/ipt_tos.c/usr/src/linux/net/ipv4/netfilter/ Ipt_tos.c
[Email protected] ~]# cp/home/kernel/linux-2.6.18/include/linux/netfilter_ipv4/ipt_tos.h/usr/src/linux/include/ Linux/netfilter_ipv4/ipt_tos.h
How to re-compile the Linux kernel to adjust the SCTP parameters