MPTCP(三) : 在内核中启用MPTCP相关模块
在内核中启用MPTCPv1相关的模块
1. 简介
本文所涉及的均为
MPTCPv1版本的MPTCP,采用的内核版本为5.18.19需要注意的是
- 虽然
MPTCP官方文档中提到在5.6之后的linux内核中均已集成了MPTCP相关源码,但是不同的linux发行版可能并没有启用MPTCP相关的内核模块,需要修改内核配置并重新编译内核 - 如何确定linux发行版是否启用了MPTCP,请参考前文: 《MPTCP(二):MPTCP版本说明》
- 实际测试过程中发现:(1)
ubuntu22.04中已经集成了MPTCP源码并使能了MPTCP相关的内核模块,不需要修改内核相关配置;(2)然而在树莓派raspberry OS中,虽然已经在内核中集成了MPTCP模块源码,但是并没有启用MPTCP内核模块,实际并没有生效
- 虽然
本文就以
树莓派5.18.19内核源码为例说明如何启用MPTCP内核模块,硬件平台为树莓派CM4
2. 获取内核源码
- 下载地址如下,选择分支
rpi-5.18.y
clone源码git clone https://github.com/raspberrypi/linux.git --single-branch --branch=rpi-5.18.y
或
git clone git@github.com:raspberrypi/linux.git --single-branch --branch=rpi-5.18.y
3. 安装交叉编译工具
- 不赘述,参考如下链接:
4. 编译内核
4.1 修改顶层Makefile
修改
Makefile,在顶层Makefile中添加如下内容ARCH := arm64
CROSS_COMPILE := aarch64-linux-gnu-
KBUILD_OUTPUT := ../linux_build

树莓派CM4使用的是
博通BCM2711 SoC, 因此使用默认配置文件bcm2711_defconfig$ ls arch/arm64/configs/
bcm2711_defconfig bcmrpi3_defconfig defconfig $ make bcm2711_defconfig
4.2 make menuconfig启用MPTCP内核模块
- 修改
make menuconfig中的如下配置-> Networking support
-> Networking options
-> The IPv6 protocol (选择编译进内核)
-> MPTCP: Multipath TCP (选择编译进内核或内核模块均可,编译为内核模块时每次开机都需要先加载相关驱动,较为麻烦)
-> MPTCP: IPv6... (可选可不选)

4.3 编译
$ make Image modules dtbs -j$(nproc)
MPTCP(三) : 在内核中启用MPTCP相关模块的更多相关文章
- linux内核中与进程相关的数据结构(基于linux3.16-rc4)
1.进程描述符 struct task_struct { volatile long state; ....... struct list_head tasks; ....... struct mm_ ...
- 第三十三节,sys解释器相关模块
首先要引入import sys模块 sys.argv 功能:获取向脚本文件传入的参数,返回的列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数 使用方法:sys.argv ...
- 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.
一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...
- linux内存(三)内核与用户空间交互
来自网址http://www.kerneltravel.net/jiaoliu/005.htm 用户程序和内核的信息交换是双向的,也就是说既可以主动从用户空间向内核空间发送信息,也可以从内核空间向用户 ...
- Linux内核学习--写一个c程序,并在内核中编译,运行
20140506 今天开始学习伟大的开源代表作:Linux内核.之前的工作流于几个简单命令的应用,因着对Android操作系统的情愫,“忍不住”跟随陈利君老师的步伐,开启OS内核之旅.学习路径之一是直 ...
- ansible的安装及命令相关模块
ansible 第一步:下载epel源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- ...
- Linux内核中影响tcp三次握手的一些协议配置
在Linux的发行版本中,都存在一个/proc/目录,有的也称它为Proc文件系统.在 /proc 虚拟文件系统中存在一些可调节的内核参数.这个文件系统中的每个文件都表示一个或多个参数,它们可以通过 ...
- TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现
题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...
- (笔记)Linux内核中内存相关的操作函数
linux内核中内存相关的操作函数 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) ...
- Linux内核中常见内存分配函数(三)
ioremap void * ioremap (unsigned long offset, unsigned long size) ioremap是一种更直接的内存“分配”方式,使用时直接指定物理起始 ...
随机推荐
- Atcoder Beginner Contest 321 G - Electric Circuit 题解 - 状压dp | 指定最低位
为了更好的阅读体验,请点击这里 题目链接:G - Electric Circuit 看到了 \(N\) 的数据范围,因此是显然的状压 dp. 不妨设 \(f_S\) 为仅使用 \(S\) 集合中的所有 ...
- AtCoder Beginner Contest 302 H. Ball Collector 题解 可撤销并查集
为了更好的阅读体验,请单击这里 AtCoder Beginner Contest 302 H. Ball Collector 题意跳过. 可以视作将 \(a_i, b_i\) 之间连了一条边,然后 \ ...
- Kubernetes(七)数据存储
数据存储 容器的生命周期可能很短,会被频繁地创建和销毁.容器在销毁时,保存在容器中的数据也会被清除.这种结果对用户来说,在某些情况下是不乐意看到的.为了持久化保存容器的数据,kubernetes引入了 ...
- uBrand | 更适合个人创业者,小公司的AI品牌创建平台
在跟一些辞职创业的朋友聊品牌,这个问题大家不约而同地都会提到:"我不会设计也没有资金请专业的设计师,有没有低成本打造品牌的方法呢?" 正好这段时间赶上AI的风潮,从众多AI工具中刚 ...
- Zabbix 5.0 LTS URL 健康监测
更多细节详情看[zabbix官方文档] 需求 Zabbix 的URL健康监测功能允许你检测 Web 地址是否可用.正常工作以及响应速度.这对于监控网站的可用性和性能非常有用.例如,你可以监控公司网站. ...
- 轻松掌握useAsyncData获取异步数据
title: 轻松掌握useAsyncData获取异步数据 date: 2024/7/12 updated: 2024/7/12 author: cmdragon excerpt: 摘要:本文详细介绍 ...
- C++使用gnuplot-cpp库绘制图像
最近想要对一些时变的变量进行可视化,搜索来搜索去选择了使用gnuplot这个工具. sudo apt-get install gnuplot sudo apt-get install gnuplot- ...
- oeasy教您玩转vim - 15 - # 行内查找
行头行尾 回忆上节课内容 上次学了直接跳到开头和结尾 最重要的就是 ^.$ ^ 到开头 $ 到结尾 I 相当于^i A 相当于$a 查找帮助 还有什么呢? 还是继续在 motion 里面 ^ .$ 之 ...
- AT_abc218_d 题解
洛谷链接&Atcoder 本篇题解为此题较简单做法及较少码量,并且码风优良,请放心阅读. 题目简述 给定一个平面内的 \(N\) 个点的坐标,求这 \(N\) 个点中选 \(4\) 个点可构成 ...
- CF1883B Chemistry 题解
原题传送门 思路: 如"aba","abba"这样的回文字符串, 每个字符的出现次数有以下两种情况: 1:全部是偶数(abba) 2:只有一个为奇数(aba) ...