Linux内核协议栈(11)路由系统
来源:互联网 发布:数据的收集与整理 编辑:程序博客网 时间:2024/06/06 14:09
/**查询路由表**rp:路由表**dst:目的地址**src:源地址**tos:**oif:**protocol:协议*/static inline int ip_route_connect(struct rtable **rp, __be32 dst, __be32 src, u32 tos, int oif, u8 protocol, __be16 sport, __be16 dport, struct sock *sk, int flags){struct flowi fl = { .oif = oif, .mark = sk->sk_mark, .nl_u = { .ip4_u = { .daddr = dst, .saddr = src, .tos = tos } }, .proto = protocol, .uli_u = { .ports = { .sport = sport, .dport = dport } } };int err;struct net *net = sock_net(sk);if (inet_sk(sk)->transparent)fl.flags |= FLOWI_FLAG_ANYSRC;if (!dst || !src) {err = __ip_route_output_key(net, rp, &fl);if (err)return err;fl.fl4_dst = (*rp)->rt_dst;fl.fl4_src = (*rp)->rt_src;ip_rt_put(*rp);*rp = NULL;}security_sk_classify_flow(sk, &fl);return ip_route_output_flow(net, rp, &fl, sk, flags);}
0 0
- Linux内核协议栈(11)路由系统
- Linux 内核网络协议栈 ----- Linux 内核路由机制(一) (2.6.25)
- 网络层路由系统(linux网络协议栈笔记)
- Linux内核协议栈的socket查找缓存路由机制
- Linux内核协议栈的socket查找缓存路由机制
- linux内核协议栈之IPV6与路由
- Linux 内核网络协议栈 ------ Linux 内核路由机制(二)之 ip层开始 -> 直到包被处理
- Linux内核协议栈(5) 跟踪bind系统调用
- linux 内核协议栈
- linux内核协议栈
- 学习Linux-4.12内核网路协议栈(1.1)——系统的初始化(do_initcalls)
- Linux内核协议栈(1) 前言
- linux内核路由模块fib_valid_source函数(反向路由检测)
- linux网络协议栈分析笔记11-路由1-路由缓存
- linux 内核路由技术
- linux内核路由表
- Linux从用户层到内核层系列 - TCP/IP协议栈部分系列11: 再话Linux系统调用
- Linux内核网络协议栈
- 单例模式
- codeforces_600A. Extract Numbers(字符串处理)
- 第二次上机作业
- 普通java类(排序)实现Comparable接口重写CompareTo方法
- 5.Servlet生成多位随机的验证码
- Linux内核协议栈(11)路由系统
- oracle中的char、varchar、varchar2、nvarchar、nvarchar2区别
- 构造MaxTree
- 【转】使用typedef定义函数指针
- 总结二
- Hadoop 2.6.0 HBase 0.98 VMware单机伪分布式式环境搭建(作业用)
- 使用GDB分析core dump文件
- java语言开发计算器
- 安装mysql 5.7.11,初始登录出现:mysql Access denied for user 'root'@'localhost' (using password: YES)