# lwIP

lwIP is a small independent implementation of the TCP/IP protocol suite designed for resource-constrained embedded systems.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## GNU/Hurd development updates for Q4 2025

DevFeed: [GNU/Hurd development updates for Q4 2025](<https://devfeed.tech/articles/2025-q4-32747.md>)

Original publisher: [Read original article](<http://www.gnu.org/software/hurd/news/2025-q4.html>)

Published: 2026-01-02T06:07:00Z

Content type: news

Language: en

Sources: [GNU Hurd](<https://devfeed.tech/sources/gnu-hurd.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [Network](<https://devfeed.tech/topics/network.md>), [Ethernet](<https://devfeed.tech/topics/ethernet.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [ethernet](<https://devfeed.tech/tags/ethernet.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [network](<https://devfeed.tech/tags/network.md>), [porting](<https://devfeed.tech/tags/porting.md>)

### AI overview

The Q4 2025 GNU/Hurd update reports progress on porting dhcpcd, including IPv4 and Ethernet support over lwIP, while noting limitations such as the lack of IPv6 and unfinished interface-change notifications. It also covers GNU Mach timeout improvements, interrupt and rumpnet fixes, and progress on SMP support.

### Source excerpt

Hello! Welcome to a new qoth. This qoth covers new and interesting GNU/Hurd developments in Q4 of 2025! Details. Joan Lledó worked on porting dhcpcd to the hurd. He also made some changes so that lwip would work with dhcpcd. In this message he writes: This is the current state of the port: Support only for IPv4. IPv6 not supported yet. It works only over lwip. First, because dhcpcd requires some definitions from headers and pfinet doesn't provide them AFAIK, but lwip provide the headers through the liblwip-dev package. Second, because both pfinet and lwip need changes in the translator in order to be fully compatible with dhcpcd, and I made the changes in lwip since I know it better. Only Ethernet is supported. This is because the Hurd doesn't define AF_LINK so dhcpcd can't get any data from the interface other thant what is returned by getifaddrs(). I'm manually providing the MAC address and hardcoding the interface type to Ethernet in the if_init function. I assume this is correct because the Hurd only supports ethernet interfaces AFAIK. dhcpcd monitors the interfaces and gets notified when there are changes in routes or network configurations. This is not working yet for the Hurd. dhcpcd implements some privilege separation by which the process spawns new processes that run as a non-privileged user. Or that's what I understood. It's not implemented for the Hurd because I've deferred this for now. Access to BPF is provided by libpcap. libpcap and liblwip-dev are dependencies for the Hurd. This has been tested only in a 32-bit Hurd. Damien Zammit worked on fixing some interrupt bugs in the acpi server. He also made some fixes for rumpnet. He also worked on adding a callwheel to GNU Mach's clock. This would make GNU Mach faster in certain ways. He writes: Timeouts are now very fast to look up, at the expense of more memory, a much shorter list is traversed rather than all of them. See [1]. Timeouts that are stopped before expiry are now faster to remove, and inserti

## Google SoC lwIP Conclusion

DevFeed: [Google SoC lwIP Conclusion](<https://devfeed.tech/articles/google-soc-lwip-conclusion-32782.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-conclusion/>)

Published: 2016-08-23T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [TCP/IP](<https://devfeed.tech/topics/tcp-ip.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [conclusion](<https://devfeed.tech/tags/conclusion.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [tcp-ip](<https://devfeed.tech/tags/tcp-ip.md>), [threading](<https://devfeed.tech/tags/threading.md>), [udp](<https://devfeed.tech/tags/udp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A Google Summer of Code participant reports on developing TCP and UDP support for ReactOS using lwIP. The project did not achieve full browser support or a Windows Server 2003 driver replacement, but produced a fairly robust TCP/IP driver for C console applications using TCP and UDP sockets, with extensive testing on loopback.

### Source excerpt

My Google Summer of Code project proposal stated that I would add TCP support to the network branch of ReactOS, which sought to integrate lwIP 1.4.1 as the protocol level network driver for the operating system, to ultimately be tested by replacing the network driver in an installation of Windows Server 2003 with my driver. The full proposal can be found here. At the time of my proposal, I underestimated the amount of effort a fully working network driver would take.

## Google SoC lwIP Report Week 13

DevFeed: [Google SoC lwIP Report Week 13](<https://devfeed.tech/articles/google-soc-lwip-report-week-13-32788.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-13/>)

Published: 2016-08-22T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [C](<https://devfeed.tech/topics/c.md>), [Network](<https://devfeed.tech/topics/network.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [c](<https://devfeed.tech/tags/c.md>), [driver](<https://devfeed.tech/tags/driver.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [report](<https://devfeed.tech/tags/report.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [threads](<https://devfeed.tech/tags/threads.md>), [udp](<https://devfeed.tech/tags/udp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A final-week Google Summer of Code report describes fixes to lwIP driver issues involving TCP port freeing, IRP cancellation, multithreaded tests, and restored UDP support. TCP became mostly usable for simple network C programs, but missing TDI_QUERY_INFORMATION support prevented full web-browser support.

### Source excerpt

In this final week, I tried to do as much as possible to get my driver to some sort of usable state for simple network C programs. My first task this week was to fix a problem with port freeing. When a TCP connection dies, its lwIP PCB would sometimes remain, preventing new sockets from binding to the ports they are taking up. After a lot of tracing, I discovered that an lwIP internal semantic was at play.

## Google SoC lwIP Report Week 12

DevFeed: [Google SoC lwIP Report Week 12](<https://devfeed.tech/articles/google-soc-lwip-report-week-12-32787.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-12/>)

Published: 2016-08-15T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [multithreading](<https://devfeed.tech/tags/multithreading.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [thread](<https://devfeed.tech/tags/thread.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week 12 progress report on rewriting a driver to address lwIP's thread-safety problems. The author redesigns mutex usage to manage protocol control block lifetimes while balancing safe pointer access against performance and deadlock risks.

### Source excerpt

In week 10, I had completed a major rewrite of my driver. In week 11, I dove into the problem of lwIP not being thread-safe once again. While I was able to deal with most of the individual bugs that kept popping up, each one was taking me more time to solve due to the haphazard nature of my previous fixes. At the beginning of last week, it was quickly becoming more apparent that I would need to rework most of my code once again if I wanted to have any hope of circumventing the multithreeading issue once and for all.

## Google SoC lwIP Report Week 11

DevFeed: [Google SoC lwIP Report Week 11](<https://devfeed.tech/articles/google-soc-lwip-report-week-11-32786.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-11/>)

Published: 2016-08-08T00:00:00Z

Content type: opinion

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [concurrent](<https://devfeed.tech/tags/concurrent.md>), [free](<https://devfeed.tech/tags/free.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [mutex](<https://devfeed.tech/tags/mutex.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [threads](<https://devfeed.tech/tags/threads.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week 11 development report describing efforts to address thread-safety problems in lwIP and the author's TCP_CONTEXT structures. The author used mutexes to serialize access and modified semaphore behavior so that lwIP threads could not run concurrently.

### Source excerpt

This past week, I have primarily focused on thread-safety. Three weeks ago, I discovered that lwIP's core code is not thread-safe. When left unmodified, each lwIP thread will access several unprotected global linked lists as well as use a set of global variables to process any and all incoming packets. One option to solve this problem was to modify the core code so the global data was protected from concurrent access.

## Google SoC lwIP Report Week 10

DevFeed: [Google SoC lwIP Report Week 10](<https://devfeed.tech/articles/google-soc-lwip-report-week-10-32785.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-10/>)

Published: 2016-08-01T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [Google](<https://devfeed.tech/topics/google.md>), [Network](<https://devfeed.tech/topics/network.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [bugs](<https://devfeed.tech/tags/bugs.md>), [code](<https://devfeed.tech/tags/code.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [soc](<https://devfeed.tech/tags/soc.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A Google Summer of Code progress report on rewriting lwIP driver functions and addressing bugs in TDI_LISTEN handling. It explains how TCP_CONTEXT and ADDRESS_FILE structures map to sockets, connections, local addresses, and listener behavior across lwIP and AFD/TDI.

### Source excerpt

Having rewritten all of the functions that I implemented and modified some of the functions that already existed before I started on this project at the end of last week, I now had to start flushing all of the bugs that invariably exist after a rewrite. The major issue I dealt with this past week revolved around properly handling a TDI_LISTEN. Part of the purpose for the rewrite was to reorganize my data so each TCP_CONTEXT struct represented a user socket or connection endpoint, and each ADDRESS_FILE struct only represented a local network address.

## Google SoC lwIP Report Week 9

DevFeed: [Google SoC lwIP Report Week 9](<https://devfeed.tech/articles/google-soc-lwip-report-week-9-32795.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-9/>)

Published: 2016-07-25T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Code review](<https://devfeed.tech/topics/code-review.md>)

Tags: [free](<https://devfeed.tech/tags/free.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [locking](<https://devfeed.tech/tags/locking.md>), [locks](<https://devfeed.tech/tags/locks.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [thread](<https://devfeed.tech/tags/thread.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week 9 Google Summer of Code report describes an unsuccessful attempt to make lwIP thread-safe. The author examines lwIP's TCP control-block lists and locking system, tests global-lock approaches, and finds that a kernel spin lock severely reduces performance in the ReactOS network-driver context.

### Source excerpt

Last week ended with my realization that lwIP was not thread-safe, and me reading up on various ways to get around that. Last weekend, I spent a lot of time tinkering with lwIP's core code to see how hard it would be to make it thread-safe. I ultimately failed to actually make the library thread-safe, but I did learn a lot of things about lwIP that I hadn't known before I started digging into the source code in so much depth.

## Google SoC lwIP Report Week 8

DevFeed: [Google SoC lwIP Report Week 8](<https://devfeed.tech/articles/google-soc-lwip-report-week-8-32794.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-8/>)

Published: 2016-07-18T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [client](<https://devfeed.tech/tags/client.md>), [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [memory](<https://devfeed.tech/tags/memory.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [testing](<https://devfeed.tech/tags/testing.md>), [thread](<https://devfeed.tech/tags/thread.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week-eight development report describes debugging memory errors in an lwIP-based driver. The author identifies missing callbacks for closed connections and discovers that lwIP's core libraries are not thread-safe, while multithreaded testing produces dead PCB dereferences. Attempts to serialize core calls with a lock do not resolve the issue, leading to further investigation of the netconn API and lwIP internals.

### Source excerpt

This past week started with me mindlessly chasing down memory bugs after having gotten WinDBG up and running. A particularly annoying bug involved an lwIP protocol control block being dereferenced by lwIP after it had been freed. I could not find a place in my drivere where I tried to use a dead PCB pointer, so I looked deeper. I did some stepping through of code, and read more of lwIP's source code.

## Google SoC lwIP Report Week 7

DevFeed: [Google SoC lwIP Report Week 7](<https://devfeed.tech/articles/google-soc-lwip-report-week-7-32793.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-7/>)

Published: 2016-07-11T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [ReactOS](<https://devfeed.tech/topics/reactos.md>), [C](<https://devfeed.tech/topics/c.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [c](<https://devfeed.tech/tags/c.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A Google SoC Week 7 report describes debugging a ReactOS driver involving lwIP. The author resolved a NULL pointer dereference, received a code review identifying locking and loop problems, and began setting up WinDBG to investigate further memory access violations.

### Source excerpt

Last week ended with Art going through decompiled assembly to find a bug for me, because the stack trace in the kernel debugger was pointing me to the wrong line in the C source code. It turns out that the problem was a NULL pointer dereference in the RECEIVE callback. As always in programming, a lot of effort went into catching a small oversight. With that leftover bug from last week resolved, I moved on to my tasks for this week - more debugging, a code review done by Thomas Faber, and finally setting up WinDBG.

## Google SoC lwIP Report Week 6

DevFeed: [Google SoC lwIP Report Week 6](<https://devfeed.tech/articles/google-soc-lwip-report-week-6-32792.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-6/>)

Published: 2016-07-03T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Code](<https://devfeed.tech/topics/code.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Server](<https://devfeed.tech/topics/server.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [bug](<https://devfeed.tech/topics/bug.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [callback](<https://devfeed.tech/tags/callback.md>), [client](<https://devfeed.tech/tags/client.md>), [code](<https://devfeed.tech/tags/code.md>), [free](<https://devfeed.tech/tags/free.md>), [function](<https://devfeed.tech/tags/function.md>), [google](<https://devfeed.tech/tags/google.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [state](<https://devfeed.tech/tags/state.md>), [test](<https://devfeed.tech/tags/test.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A weekly development report on restructuring a lwIP driver around connection and request state variables. The author describes queuing send and receive requests, handling callbacks, testing the state machine, and investigating a page fault during client closure.

### Source excerpt

I closed out last week by drawing a flow chart in preparation for restructuring my code for some new state variables. For most of this week, I was figuring out details about, and implementing, this chart. One of new state variable I added in is one variable in the CONNECTION_CONTEXT struct, specifying what that particular connection is doing. This way, my driver can easily identify a socket as bound or not, whether it is currently connected, and what operations it is trying to perform.

## Google SoC lwIP Report Week 5

DevFeed: [Google SoC lwIP Report Week 5](<https://devfeed.tech/articles/google-soc-lwip-report-week-5-32791.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-5/>)

Published: 2016-06-26T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Google](<https://devfeed.tech/topics/google.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [soc](<https://devfeed.tech/tags/soc.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A week-five Google SoC progress report on an lwIP-based Windows driver describes incorrect TDI_SEND and TDI_RECEIVE IRQ handlers, lost IRP pointers, memory leaks, hanging IRQs, and ongoing redesign using state variables and a state diagram.

### Source excerpt

Going into week 5, I started with a code-complete but very much incorrect implementation of the TDI_SEND and TDI_RECEIVE IRQ handlers. My TCP_CONTEXT data structure and the existing ADDRESS_FILE data structure both did not contain a way to keep track of pending IRQs, so I had no way of keeping track of outstanding pending IRQs and what connection contexts they were supposed to be associated with. Without a clear scheme for keeping track of the information, IRP pointers invariably got lost.

## Google SoC lwIP Report Week 4

DevFeed: [Google SoC lwIP Report Week 4](<https://devfeed.tech/articles/google-soc-lwip-report-week-4-32783.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-1-0/>)

Published: 2016-06-18T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Code](<https://devfeed.tech/topics/code.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Server](<https://devfeed.tech/topics/server.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [client](<https://devfeed.tech/tags/client.md>), [code](<https://devfeed.tech/tags/code.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [udp](<https://devfeed.tech/tags/udp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week-four Google Summer of Code report describes work on ReactOS's lwIP integration. The author investigated TDI connection contexts and backlog support, introduced TCP_CONTEXT storage for TCP connections, fixed pending IRQ cancellation, merged code into a branch based on trunk, and implemented TDI_SEND and TDI_RECEIVE IRQs, though the text ends before confirming completion.

### Source excerpt

This week, I started off chasing down how to handle TDI sending a new IRQ to create a connection context immediately after a connection has been accepted on the server end. At first, I thought it was for socket multiplexing. As I talked more with Art and looked more into the lwIP source code, I realized that this is an attempt by TDI to support backlogging. As such, this was not something I had to actively handle since lwIP has full backlogging support.

## Google SoC lwIP Report Week 3

DevFeed: [Google SoC lwIP Report Week 3](<https://devfeed.tech/articles/google-soc-lwip-report-week-3-32790.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-3/>)

Published: 2016-06-12T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [client](<https://devfeed.tech/topics/client.md>), [Google](<https://devfeed.tech/topics/google.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [client](<https://devfeed.tech/tags/client.md>), [crashes](<https://devfeed.tech/tags/crashes.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [report](<https://devfeed.tech/tags/report.md>), [server](<https://devfeed.tech/tags/server.md>), [soc](<https://devfeed.tech/tags/soc.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A week-three development report on integrating lwIP with a driver. The author corrected IP address extraction and achieved a successful TCP connection, then investigated operating-system crashes caused by incorrect socket binding and connection-context handling.

### Source excerpt

In week 3, I discovered a lot more about how data is being passed around. After more in depth inspection of the memory, I realized that Winsock was passing on the correct IP address; I just wasn't aware of the data structure it was using. After modifying my driver to correctly extract the IP address from the IRP, my test server and client performed a successful TCP connection hand shake, with my client program exiting correctly.

## Google SoC lwIP Report Week 2

DevFeed: [Google SoC lwIP Report Week 2](<https://devfeed.tech/articles/google-soc-lwip-report-week-2-32789.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-2/>)

Published: 2016-06-03T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [debug](<https://devfeed.tech/topics/debug.md>), [client](<https://devfeed.tech/topics/client.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [client](<https://devfeed.tech/tags/client.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [debug](<https://devfeed.tech/tags/debug.md>), [free](<https://devfeed.tech/tags/free.md>), [google](<https://devfeed.tech/tags/google.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A second-week Google Summer of Code progress report on ReactOS work linking Winsock listen() and connect() calls to lwIP implementations. The author reports successful listen() linking, freezing test programs, an OS crash during tcp_connect(), incorrect IP and port values, and plans to trace the problem and compare the branch with trunk.

### Source excerpt

In my second week of working on this project, I have made some progress in linking the Winsock listen() and connect() calls to their lwIP implementations. As with last week, Art Yerkes has been a great souce of information whenever I get stuck on anything. I spent the first part of the week figuring out how to extract the information I need from the IRP my driver receives in order to pass it along to lwIP.

## Google SoC lwIP Report Week 1

DevFeed: [Google SoC lwIP Report Week 1](<https://devfeed.tech/articles/google-soc-lwip-report-week-1-32784.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-1/>)

Published: 2016-05-27T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [TCP/IP](<https://devfeed.tech/topics/tcp-ip.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [debug](<https://devfeed.tech/tags/debug.md>), [free](<https://devfeed.tech/tags/free.md>), [google-summer-of-code](<https://devfeed.tech/tags/google-summer-of-code.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [programming](<https://devfeed.tech/tags/programming.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [systems](<https://devfeed.tech/tags/systems.md>), [tcp-ip](<https://devfeed.tech/tags/tcp-ip.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

A first-week report on integrating lwIP into ReactOS during Google Summer of Code. The author describes testing a Winsock TCP server-client pair, debugging ReactOS kernel-mode drivers, fixing a socket binding bug, and investigating TCP connection establishment while noting that many TCP functions remain unimplemented.

### Source excerpt

Note: I am publishing these but each student is responsible for actually writing them. I am Zuodian Hu or, as I like to be called, Dian (pronounced the same as Dan). I just finished my junior year at the University of Wisconsin at Madison, where I am working on an electrical engineering and computer science double major. My personal interest lies in systems programming and digital logic. In addition to my classes, I play violin in the UW-Madison symphony orchestra and do programming for Wisconsin Robotics and the UW-Madison team competing in the NASA Robotics Mining Competition.

## Network development branch

DevFeed: [Network development branch](<https://devfeed.tech/articles/network-development-branch-32872.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/network-development-branch/>)

Published: 2014-11-17T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Network](<https://devfeed.tech/topics/network.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>)

Tags: [development](<https://devfeed.tech/tags/development.md>), [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [udp](<https://devfeed.tech/tags/udp.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

This article provides background on ReactOS's network development branch. It explains that ReactOS had adopted the lightweight IP (lwIP) library for TCP while continuing to use its existing implementations for UDP and ICMP, and discusses a network stack rework.

### Source excerpt

People following the SVN logs may have noticed Jerome Gardou creating a network rework branch and ripping out massive chunks of the current code. To explain what prompted this requires a bit of history and background. Many years ago Cameron Gutman imported the lightweight IP (lwIP) library so that ReactOS could take advantage of its TCP implementation for the network stack. It was only used for TCP however, meaning ReactOS was still relying on its existing implementation for things like UDP and ICMP.

## ReactOS 0.3.14 Released

DevFeed: [ReactOS 0.3.14 Released](<https://devfeed.tech/articles/reactos-0-3-14-released-33176.md>)

Original publisher: [Read original article](<https://reactos.org/project-news/reactos-0314-released/>)

Published: 2012-02-08T00:00:00Z

Content type: release

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [networking](<https://devfeed.tech/topics/networking.md>), [TCP/IP](<https://devfeed.tech/topics/tcp-ip.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>)

Tags: [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [release](<https://devfeed.tech/tags/release.md>), [tcp-ip](<https://devfeed.tech/tags/tcp-ip.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

ReactOS 0.3.14 was released with networking, user-interface, kernel-testing, and build-toolchain improvements. The release adds a TCP/IP driver built around lwIP, wireless networking support, theme support, and MSVC-based builds.

### Source excerpt

The ReactOS team is proud to announce the release of ReactOS 0.3.14. This version includes a significant amount of changes including both user visible and architectural improvements. Also included in this release is the valuable work accomplished as part of the Google Summer of Code 2011 event, of which ReactOS was a mentoring project. One of the more significant sets of improvements was to ReactOS' networking stack. As part of the GSoC, ReactOS gained a new TCP/IP driver built around the LwIP project.

## ReactOS Newsletter 88: shell32 C++ conversion, shell extension registration, and loader fixes

DevFeed: [ReactOS Newsletter 88: shell32 C++ conversion, shell extension registration, and loader fixes](<https://devfeed.tech/articles/newsletter-88-32954.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/newsletter-88/>)

Published: 2011-10-13T00:00:00Z

Content type: news

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [C](<https://devfeed.tech/topics/c.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [Library](<https://devfeed.tech/topics/library.md>), [Test coverage](<https://devfeed.tech/topics/coverage.md>), [MSVC](<https://devfeed.tech/topics/msvc.md>), [Security](<https://devfeed.tech/topics/security.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [regression](<https://devfeed.tech/tags/regression.md>), [security](<https://devfeed.tech/tags/security.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>), [wine](<https://devfeed.tech/tags/wine.md>)

### AI overview

ReactOS Newsletter 88 reports the completion and remerging of the shell32 library as C++ code, fixes to control-applet command-line parsing, unresolved shell-extension registration issues, expanded tests, and a loader regression involving security cookies.

### Source excerpt

Shell32 Another recent accomplishment by Claudiu Mihail, the Google Summer of Code responsible for transforming the lwIP library into a driver, was the completion and remerging of the shell32 library as C++ code instead of C code. The effort was started originally by Ged Murphy and Andrew Hill as C++ was better suited to implementing the COM aspects of the library. Ged had originally tried to do the conversion in trunk, but that proved too disruptive and he moved the code into a branch.

## ReactOS Google Summer of Code Progress, Kernel Testing, and lwIP Integration

DevFeed: [ReactOS Google Summer of Code Progress, Kernel Testing, and lwIP Integration](<https://devfeed.tech/articles/newsletter-87-32953.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/newsletter-87/>)

Published: 2011-08-30T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [WINE](<https://devfeed.tech/topics/wine.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [free](<https://devfeed.tech/tags/free.md>), [google-summer-of-code](<https://devfeed.tech/tags/google-summer-of-code.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [networking](<https://devfeed.tech/tags/networking.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [testing](<https://devfeed.tech/tags/testing.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

This ReactOS newsletter reports progress on its Google Summer of Code projects, including a completed kernel-mode test framework and the integration of the lwIP networking library as a driver. It explains how kernel tests can compare Windows and ReactOS behavior and notes reported improvements in network stability and speed during testing.

### Source excerpt

Google Summer of Code Progress Of the six projects ReactOS entered as part of the Google Summer of Code, four are well on track to completion. Each of the completed projects will greatly help increase ReactOS' usability and provide a foundation for future enhancement. Many of the successful projects will help make ReactOS more usable from both a stability and UI perspective. The deadline for final submissions is already over and the project and Google are currently evaluating students.

## Accepted Summer of Code Projects

DevFeed: [Accepted Summer of Code Projects](<https://devfeed.tech/articles/accepted-summer-of-code-projects-33080.md>)

Original publisher: [Read original article](<https://reactos.org/project-news/accepted-summer-code-projects/>)

Published: 2011-04-26T00:00:00Z

Content type: release

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [ReactOS](<https://devfeed.tech/topics/reactos.md>), [TCP/IP](<https://devfeed.tech/topics/tcp-ip.md>), [lwIP](<https://devfeed.tech/topics/lwip.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Font](<https://devfeed.tech/topics/font.md>), [Streams](<https://devfeed.tech/topics/streams.md>)

Tags: [free](<https://devfeed.tech/tags/free.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [shell](<https://devfeed.tech/tags/shell.md>), [tcp-ip](<https://devfeed.tech/tags/tcp-ip.md>), [testing](<https://devfeed.tech/tags/testing.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

The ReactOS project accepted six Summer of Code projects covering TCP/IP stack work using lwIP, a new Explorer shell, theme support, audio stream mixing, kernel-mode testing, and a GDI font driver.

### Source excerpt

The ReactOS project has accepted six entries from the submitted projects, covering a wide range of functionality. The completion of some would have immediate, user visible effects on ReactOS, while others are more long term. TCP/IP Driver Rewrite of the current TCP/IP stack using the lwIP library. Student: Claudiu Mihail Mentor: Art Yerkes Completion of Explorer_New Complete the implementation of a new explorer shell for ReactOS. Student: Andrew Green Mentor: Aleksey Bragin Theme Support Implement the theme service for the user interface.