SONiC Port MTU 更新流程详解(以 Tofino 芯片为例) 0.1. 场景 用户在 SONiC 设备上执行 sudo config interface mtu eth0 2000,把 eth0 端口的 MTU 改为 2000。 本文从 CLI 一路追踪到 ASIC 硬件寄存器写入,覆盖每一层涉及的进程、Redis 数据库变化、消息通道、关键代码与时间顺序。 本文中所有代码引用均基于本机 /Users/martinzhang/git/sonic/ 目录下的真 2026-06-30 AI #ai #sonic #sai
nftables Set:用 O(1) 哈希查找替代 O(N) 链表遍历 一句话核心:nftables 把”原本要逐条匹配的规则”抽象成”集合 (set) 元素”,数据面只需对集合做一次哈希/树查找就能拿到结果,从根本上消除了 iptables 时代”规则数 = 服务数 × k”带来的 O(N) 线性遍历瓶颈。 0.1. 一、问题起源:iptables 为何慢在 iptables 时代,K8s 5000 个 Service 会被翻译成几万条规则 2026-06-26 AI #ai #nftables
EBGP:跨AZ的路由学习心得 整理自实际配置场景的讨论笔记,覆盖:路由传播流水线、EBGP/IBGP 行为差异、next-hop-self、IBGP 建邻规则、扩展性问题与解法。 0.1. 一、拓扑12345678AS 100 (内部 OSPF + IBGP, R3 配 next-hop-self) AS 200┌──────────────────────────────────── 2026-06-26 AI #ai #bgp
RDMA学习2:memory window in rdma MR Window(Memory Window,MW,内存窗口) 是 RDMA 里绑定在 MR 上的、可动态授权/回收的细粒度访问控制对象,用来解决”大 MR、多租户、动态权限”问题。可以理解成:MR 是整片内存,MW 是从 MR 里切出来的、能单独控制权限的小窗口。 0.1. 一、MR 与 MW 的关系0.1.1. MR(Memory Region,内存区域) 把一段内存注册给 RNI 2026-05-20 AI #rdma #ai
rmda学习1:深入理解GID GID(Global Identifier)是 RDMA(特别是 RoCEv2)网络中用于唯一标识一个 RDMA 端点的 128 位标识符,其核心作用相当于 TCP/IP 协议栈中的 IP 地址。理解 GID 的生成、查询与使用,是调试 RDMA 连接问题的关键。 0.1. 1. GID 的生成与作用0.1.1. 1.1 GID 从哪里来? RoCEv1:GID 基于网卡端口的 MAC 2026-05-17 AI #rdma #ai
linux网口<UP> 和state UP 的区别 0.1. 常见问题场景我们在平常定位问题,经常会通过ip link或ifconfig查看网络环境和配置。其中网口的标志位是其中很重要的一个检查环节。在输出结果里,会有两组标志位信息 一组是尖括弧里包含的值<BROADCAST,MULTICAST,UP,LOWER_UP>,有很多标志位的组合。 另一组是 state UP。还有其他状态如DOWN, LOWERLAYERDOWN等。 2026-04-29 Netdev #netdev
ECMP Hash 计算详解: fib_multipath_hash() 四种策略全解析 0.1. 一、概述fib_multipath_hash() 是 ECMP 选路的第一阶段,负责根据数据包信息计算一个 hash 值,供第二阶段 fib_select_multipath() 据此选择 nexthop。 本文基于 Linux v6.16 源码(net/ipv4/route.c),逐一解析 4 种 hash 策略的完整实现。 关于 ECMP 选路机制的整体架构,参见 ECMP选路: f 2026-03-12 FIB #fib
Linux 内核 Nexthop 对象化: Patch 4c7e8084 深度解析 0.1. 一、问题起源 (Problem Origin)0.1.1. 2.1 性能瓶颈 (Performance Bottleneck)David Ahern 在 2017 年左右开始构思 nexthop 对象化 (nexthop objectification),核心动机来自大规模路由注入的性能瓶颈 (large-scale route injection performance bottlen 2026-03-10 FIB #fib
tcp_v4_connect 三次路由查询详解 0.1. 概述以 tcp_v4_connect() 为例,一次 TCP 连接建立会触发 3 次路由查询,每次的目的和 flowi4 参数不同。这三次查询与 ECMP 多路径选路机制密切相关,参见 ECMP选路: fib_select_multipath Hash 机制深度解析。 2026-03-08 FIB #fib
ECMP选路: fib_select_multipath Hash 机制深度解析 0.1. 一、概述 (Overview)Linux 内核中的 ECMP(Equal-Cost Multi-Path)选路机制允许将流量分布到多条等价路径上。 核心实现主要分为两个阶段, 分别对应两个函数。 hash计算 : fib_multipath_hash()(net/ipv4/route.c)—— 计算 hash 值 如根据skb或flow的五元组、三元组等策略,计算 2026-03-08 FIB #fib