当前位置: 首页 > news >正文

TCP BBR 拥塞控制模块编译

Linux 内核中的 TCP BBR 拥塞控制模块源码,它不能像普通用户态程序那样用gcc bbr.c直接编译。
它必须在内核源码树环境下,以外部模块内建模块的方式编译,且依赖运行内核的版本和头文件。


1. 编译为独立内核模块(针对当前运行的内核)

假设你的系统已安装了内核头文件(linux-headers-$(uname -r)),可以按以下步骤操作:

步骤 1:创建工作目录并放入源码

mkdir-p~/bbr_modulecptcp_bbr.c ~/bbr_module/# 源码文件重命名或保持原名cd~/bbr_module

如果你习惯使用bbr.c,可以:
cp tcp_bbr.c bbr.c
但模块名称仍由源码中的tcp_congestion_ops .name = "bbr"决定,不影响最终模块名。

步骤 2:编写 Makefile

创建Makefile文件,内容如下:

obj-m := tcp_bbr.o # 如果文件已重命名为 bbr.c,则改为 obj-m := bbr.o

如果保持文件名为tcp_bbr.c,模块对象会自动是tcp_bbr.o
模块最终会被编译为tcp_bbr.ko,加载时使用的名称是tcp_bbr

步骤 3:编译模块

# 一般用下述方法编译即可:make-C/lib/modules/$(uname-r)/buildM=$(pwd)modules# 开启-O3编译(需要优化):# make -C /lib/modules/$(uname -r)/build M=$(pwd) modules EXTRA_CFLAGS="-O3"
  • -C指向当前内核的构建目录(由linux-headers包提供)。
  • M=$(pwd)指定模块源码所在目录。

如果成功,会生成tcp_bbr.ko

步骤 4:加载/测试模块

sudomodprobe tcp_bbr# 或 insmod tcp_bbr.kosysctlnet.ipv4.tcp_congestion_control=bbr# 启用 BBR

2. 常见问题说明

问题原因解决
提示缺少net/tcp.h等头文件直接gcc编译会失败必须使用内核构建系统(make -C /lib/modules/...
头文件版本不匹配内核版本与头文件不一致安装正确版本的linux-headers
sudo apt install linux-headers-$(uname -r)
需要修改内核配置才能使用当前内核可能已有 BBR 模块如果有,直接modprobe tcp_bbr即可,无需编译

多数现代 Linux 发行版已内置 BBR 模块,你只需:

sudomodprobe tcp_bbrsudosysctl-wnet.ipv4.tcp_congestion_control=bbr
http://www.jsqmd.com/news/780171/

相关文章:

  • MoE-LLM性能瓶颈分析与优化实践
  • 如何构建支持多账号并发的企微 API 分布式管理系统
  • 什么是RGM收入增长管理?RGM收入增长管理工具怎么选?
  • GNSS授时与PPS技术
  • 开源量化框架autoxd:从数据到实盘的全栈自动化交易实践
  • 使用Taotoken CLI工具一键配置多开发环境与团队协作密钥
  • 7nm FinFET技术解析:三维晶体管架构与工艺挑战
  • 3090 本地跑 Qwen 3.6 27B:踩完所有坑后的完整部署方案
  • Vue3 + Pinia 实现企业级 RBAC 权限控制系统(学生实战笔记)
  • 【回眸】系统读书笔记(十一)
  • 模拟信号数字化中的混叠现象与抗混叠滤波器设计
  • 2026年知名的路沿石多家厂家对比分析 - 行业平台推荐
  • STL: list的底层实现(下)
  • 解决 Git 推送/拉取报错:Could not resolve host: gitee.com
  • AI开发提效:构建可复用的系统提示词库与模型配置实战
  • 基于Cursor IDE与Claude 3.5 Sonnet打造结构化AI数字秘书工作流
  • 视频会议,正在成为新的泄密通道
  • 【AI】通用 Skill 模板-实时保存经验
  • ZAP-GPT:基于大语言模型的自动化安全测试报告智能生成方案
  • 树莓派部署区块链全节点:低成本参与链上治理实战指南
  • ARM GICv5 ITS架构解析与中断管理优化
  • 初探 Kubernetes (k8s) 时简介部分重点是什么?
  • 数字人一体机:企业降本增效的智能利器
  • 量子退火在混合变量优化中的编码策略与应用
  • 认知神经科学研究报告【20260032】
  • NextChat - 87,942 Stars 的 AI 助手,1 分钟部署,全平台可用 (2026-05-09 01:48)
  • LangGraph 核心概念全解笔记
  • 大模型推理效率优化:预填充阶段与滑动窗口注意力实践
  • 接地与隔离:电子系统安全与性能的平衡艺术
  • 2026年企业GEO优化服务的选型逻辑与高性价比避坑指南