MPTCP 源码分析(一) MPTCP的三次握手
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
844 unsigned *remaining)
845 {
846 struct tcp_sock *tp = tcp_sk(sk);
847
848 opts->options |= OPTION_MPTCP;
849 if (is_master_tp(tp)) {
850 opts->mptcp_options |= OPTION_MP_CAPABLE | OPTION_TYPE_SYN;
851 *remaining -= MPTCP_SUB_LEN_CAPABLE_SYN_ALIGN;
852 opts->mp_capable.sender_key = tp->mptcp_loc_key;
853 opts->dss_csum = !!sysctl_mptcp_checksum;
854 } else {
855 struct mptcp_cb *mpcb = tp->mpcb;
856
857 opts->mptcp_options |= OPTION_MP_JOIN | OPTION_TYPE_SYN;
858 *remaining -= MPTCP_SUB_LEN_JOIN_SYN_ALIGN;
859 opts->mp_join_syns.token = mpcb->mptcp_rem_token;
860 opts->mp_join_syns.low_prio = tp->mptcp->low_prio;
861 opts->addr_id = tp->mptcp->loc_id;
862 opts->mp_join_syns.sender_nonce = tp->mptcp->mptcp_loc_nonce;
863 }
864 }
转载于:https://www.cnblogs.com/lxgeek/p/4329922.html
MPTCP 源码分析(一) MPTCP的三次握手相关推荐
- MPTCP 源码分析(五) 接收端窗口值
简述: 在TCP协议中影响数据发送的三个因素分别为:发送端窗口值.接收端窗口值和拥塞窗口值. 本文主要分析MPTCP中各个子路径对接收端窗口值rcv_wnd的处理. 接收端窗口值的初始化 根据< ...
- 【JUC】JDK1.8源码分析之ArrayBlockingQueue(三)
一.前言 在完成Map下的并发集合后,现在来分析ArrayBlockingQueue,ArrayBlockingQueue可以用作一个阻塞型队列,支持多任务并发操作,有了之前看源码的积累,再看Arra ...
- 【Zookeeper】源码分析之持久化(三)之FileTxnSnapLog
一.前言 前面分析了FileSnap,接着继续分析FileTxnSnapLog源码,其封装了TxnLog和SnapShot,其在持久化过程中是一个帮助类. 二.FileTxnSnapLog源码分析 2 ...
- Lucene 源码分析之倒排索引(三)
上文找到了 collect(-) 方法,其形参就是匹配的文档 Id,根据代码上下文,其中 doc 是由 iterator.nextDoc() 获得的,那 DefaultBulkScorer.itera ...
- WinCE6.0学习之EBoot源码分析----startup.s(三)
下面将详细叙述MMU的设置,也是本人花费时间最多的一部分内容,无论是2410.6410甚至是Cortex-A8核的ARM,MMU的设置基本都一样,所以移植时这部分可以直接搬过来,只需要更改全局内存映射 ...
- Webbench源码分析之多进程(三)
概述:前面我们把参数输入,http协议以及socket客户端编程部分都说了,今天就把多进程这一块内容学习过程记录一下.同时今天学习的这一部分也是webbench的核心部分了. 知识点: 1,多进程的创 ...
- MPTCP 源码分析(三) 子路径选择
简述: 支持MPTCP的链路中存在多条子路径,因此在发送数据的时候需要选择最优路径来进行操作. MPTCP利用内核通知链对MPTCP中各子路径进行增加路径.删除路径.修改路径优先级的操作.MPTCP根 ...
- ConcurrentHashMap的源码分析-put方法第三阶段
如果对应的节点存在,判断这个节点的hash是不是等于MOVED(-1),说明当前节点是ForwardingNode节点,意味着有其他线程正在进行扩容,那么当前现在直接帮助它进行扩容,因此调用helpT ...
- Linux进程里运行新代码,linux调度器源码分析 - 新进程加入(三)
中专门描述了copy_process()这个创建函数,而里面有一个函数专门用于进程调度的初始化,就是sched_fork(),其代码如下 int sched_fork(unsigned long cl ...
最新文章
- 解决IDEA中进行maven install报:系统资源不足的问题
- 做外贸如何获取同行的价格体系?转至【【Mr.Harris 原创】
- 二,八,十,十六进制之间转换的相应方法
- Help View修复
- [C++] - C++11 多线程 - Thread
- MySQL练习题和代码附录
- python3 获取文件目录_python3--os.path获取当前文件的绝对路径和所在目录
- MODBUS调试工具 C#源码 包含MODBUS主站调试工具和MODBUS从站调试工具
- windows操作系统与linux操作系统相比各有什么优缺点
- 大学,学会这样上网才有意义!
- C语言入门教程,C语言学习教程
- linux添加雅黑字体,linux安装微软雅黑等字体
- linux php 验证码不显示_怎么解决php linux验证码不显示的问题
- SVM-sklearn
- matlab 双均线,[转载]百年一人的双均线系统及双均线系统公式
- (四)Kotlin加密/解密之RSA算法和数字签名
- 苹果园助力爱奇艺各业务协同作战,视频平台的战争将走向何方?
- 计算机怎么打出钱的符号,人民币符号怎么打,教您电脑怎么打人民币符号
- WiFi开启热点冲突
- Shuffle failed with too many fetch failures and insufficient progress!
热门文章
- 年仅46岁,西交大人工智能学院首任院长、孙剑博士突发疾病去世
- c语言for求一个数得n次方,C语言中表示一个数的次方怎样表?
- 科诚Godex EZPi1200 打印机驱动
- Intel公司的CPU发展史简述
- 【面向计算机科学的数理逻辑 系统建模与推理 笔记】命题逻辑
- Win10将某个软件/快捷方式添加到开始菜单(磁贴)
- 进行图像相似度对比的几种办法
- (精简稳定版)win8系统下装win7系统
- java char数组转string数组_Java中char数组(字符数组)与字符串String类型的转换方法...
- 在python中二进制位取反运算如何进行_Python位运算符详解