Huawei/TCP_option_address

A kernel module to obtain source IP address in the TCP option section.

Owned by Huawei

View on GitHub ↗Jump to charts ↓

Huawei/TCP_option_address has 200+ stars and 60+ forks on GitHub, is written in C, and was last pushed on Jun 5, 2023. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 10th, 2026
Created on December 11th, 2017
Open Issues & Pull Requests: 13 (+0)
GitHub issues: Enabled
Number of forks: 64
Total Stargazers: 203 (+0)
Total Subscribers: 15 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 12.0 days
Mean response time: 161.4 days
90th percentile: 489.5 days
Tracked items: 6

Most active contributors

Sign in to see contributor activity.
Sign in

Related repositories by overlapping contributors

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 10
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,420 days
Stale 30+ days: 10
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

TCP Option Address is a kernel module that extracts source IPv4 addresses from TCP option headers.

The module solves the problem of recovering the original client IP address when traffic passes through a load balancer or proxy that preserves this information in TCP options rather than in the standard source address field. By operating at the kernel level, the module intercepts TCP packets and reads the option section of the TCP header to retrieve the actual source IP, making it available to applications running on the system.

This tool is suited for environments where load balancers or proxies insert client IP information into TCP options, particularly in high-performance networking scenarios where preserving the original client address is critical. It requires a Linux kernel with available headers and development tools, and the compilation process follows standard kernel module build procedures. The module is most relevant for operators managing infrastructure where standard IP forwarding mechanisms do not preserve client identity.

The project maintains a straightforward codebase with minimal external dependencies beyond standard kernel development tools. Development activity centers on the core kernel module implementation without evidence of frequent updates or active feature expansion.