* TCP as a module
@ 2016-11-06 1:10 Md. Islam
2016-11-13 5:55 ` Valdis.Kletnieks at vt.edu
2016-11-14 12:17 ` Aruna Hewapathirane
0 siblings, 2 replies; 5+ messages in thread
From: Md. Islam @ 2016-11-06 1:10 UTC (permalink / raw)
To: kernelnewbies
Hi
Currently TCP is statically linked to the kernel. How can I make it a
loadable module? I need to modify TCP (tcp_input.c and tcp_output.c). It
would be easier for my development if it's just another module (I don't
need to restart every time).
I changed the *fs_initcall(inet_init)* to *module_init(inet_init)*, but
doesn't seem to help. Looking forward to your suggestions.
Many thanks
Tamim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161105/e4a28bbc/attachment.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* TCP as a module
2016-11-06 1:10 TCP as a module Md. Islam
@ 2016-11-13 5:55 ` Valdis.Kletnieks at vt.edu
2016-11-14 12:17 ` Aruna Hewapathirane
1 sibling, 0 replies; 5+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2016-11-13 5:55 UTC (permalink / raw)
To: kernelnewbies
On Sat, 05 Nov 2016 21:10:19 -0400, "Md. Islam" said:
> Currently TCP is statically linked to the kernel. How can I make it a
> loadable module? I need to modify TCP (tcp_input.c and tcp_output.c).
What problem are you trying to solve by modifying those two? There
may be other approaches to do it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161113/7dbbb4ba/attachment.bin
^ permalink raw reply [flat|nested] 5+ messages in thread
* TCP as a module
2016-11-06 1:10 TCP as a module Md. Islam
2016-11-13 5:55 ` Valdis.Kletnieks at vt.edu
@ 2016-11-14 12:17 ` Aruna Hewapathirane
2016-11-15 5:14 ` Md. Islam
1 sibling, 1 reply; 5+ messages in thread
From: Aruna Hewapathirane @ 2016-11-14 12:17 UTC (permalink / raw)
To: kernelnewbies
> Currently TCP is statically linked to the kernel.
Correct, so how is this done and where ? Once you figure that part
out you have what you need to do what you want to :)
> How can I make it a loadable module?
Change into your source tree, look for this file:
linux-4.7.2/linux-4.7.2/net/Kconfig
Kconfig is used by the KBuild system that menuconfig uses.
Look for the section:
config INET
bool "TCP/IP networking" <-- change bool to tristate, save and run make
menuconfig.
Now you can ask menuconfig to build TCP as a module.
But... it may be better to if you can use:
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
One last thing, heed the warnings in Kconfig they are there for a reason.
Good luck and what exactly are you trying to do ? Am curious.
Aruna ( Shrugs and gets ready to duck a flying trout Valdis may send my way
:)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161114/223b0a43/attachment.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* TCP as a module
2016-11-14 12:17 ` Aruna Hewapathirane
@ 2016-11-15 5:14 ` Md. Islam
2016-11-15 6:05 ` Valdis.Kletnieks at vt.edu
0 siblings, 1 reply; 5+ messages in thread
From: Md. Islam @ 2016-11-15 5:14 UTC (permalink / raw)
To: kernelnewbies
Hi Aruna
Thanks a lot! I changed the Kconfig to tristate and set the
config_INET=m. I also needed to add "depends on CONFIG_INET" to other
config options those depend on INET. I could build it. But when I
reboot, I got the following error and it doesn't boot. Giving up :-(
error getting socket: Address family not supported by protocol
error initializing udev control socket
I'm trying to write a Media-friendly TCP (by implementing a new
option). Please let me know if you have any suggestion.
Many thanks
Tamim
On Mon, Nov 14, 2016 at 7:17 AM, Aruna Hewapathirane
<aruna.hewapathirane@gmail.com> wrote:
>> Currently TCP is statically linked to the kernel.
>
> Correct, so how is this done and where ? Once you figure that part
> out you have what you need to do what you want to :)
>
>> How can I make it a loadable module?
>
> Change into your source tree, look for this file:
> linux-4.7.2/linux-4.7.2/net/Kconfig
>
> Kconfig is used by the KBuild system that menuconfig uses.
>
> Look for the section:
> config INET
> bool "TCP/IP networking" <-- change bool to tristate, save and run make
> menuconfig.
>
> Now you can ask menuconfig to build TCP as a module.
>
> But... it may be better to if you can use:
> https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
>
> One last thing, heed the warnings in Kconfig they are there for a reason.
>
> Good luck and what exactly are you trying to do ? Am curious.
>
> Aruna ( Shrugs and gets ready to duck a flying trout Valdis may send my way
> :)
--
Tamim
PhD Student/Graduate Assistant
CS Department, Kent State University
Kent, OH 44240
http://web.cs.kent.edu/~mislam4/
^ permalink raw reply [flat|nested] 5+ messages in thread
* TCP as a module
2016-11-15 5:14 ` Md. Islam
@ 2016-11-15 6:05 ` Valdis.Kletnieks at vt.edu
0 siblings, 0 replies; 5+ messages in thread
From: Valdis.Kletnieks at vt.edu @ 2016-11-15 6:05 UTC (permalink / raw)
To: kernelnewbies
On Tue, 15 Nov 2016 00:14:43 -0500, "Md. Islam" said:
> I'm trying to write a Media-friendly TCP (by implementing a new
> option). Please let me know if you have any suggestion.
Step 0: Figure out what the new option is, and why you think it will be
media-friendly. Hint: some 80% of internet traffic is streaming video, and
seems to be doing OK without any new options. So you may want to double-check
what you're planning to achieve. There's a pretty good chance that what you're
trying to do can *already* be done with an existing tunable parameter, or with
a traffic control module external to the main TCP stack (see the work on
fq_codel to stop bufferbloat for an example).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20161115/df43a5a2/attachment.bin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-11-15 6:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-06 1:10 TCP as a module Md. Islam
2016-11-13 5:55 ` Valdis.Kletnieks at vt.edu
2016-11-14 12:17 ` Aruna Hewapathirane
2016-11-15 5:14 ` Md. Islam
2016-11-15 6:05 ` Valdis.Kletnieks at vt.edu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).