linux - 在 Linux 中添加 UDP Over IPSEC 数据包?

标签 linux linux-kernel

Linux 新手。需要在 UDP 内对接收到的 IPSec 数据包进行隧道传输。想到这样做...

  1. 使用 libpcap 的 mmaped 版本从 NIC 捕获数据包并将其发送到用户空间。
  2. 在用户空间中获取数据包后;使用 RAW 套接字在 IPSEC 有效负载上添加 UDP header 。

这是实现这一目标的有效方法吗?或者有更好的方法吗???

期待回复!

最佳答案

您可以将 IPSEC 数据包复制到 AF_INET/SOCK_DGRAM 套接字。 不确定 splice() 系统调用是否适用于两个套接字,但如果适用 - splice() 会更好,因为内核/用户空间之间没有执行复制

关于linux - 在 Linux 中添加 UDP Over IPSEC 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498056/

相关文章:

linux - 如何使用mpc8xxx_gpio.c设备驱动

linux - 如何在 AWS Linux 上安装 Fish Shell

linux - Linux 或其他操作系统如何测试他们的操作系统以确认两个进程上下文切换正确?

linux - 在哪里找到卸载文件

gcc - 夹板与 gcc : are external static code analysis tools worth the effort for C codebases?

linux - 使我的模块 printk 打印到我自己的日志文件

linux - 我们可以在同一系统上运行的两个端口上使用两个 varnish 吗?

linux - 如何在 bash 脚本中生成 1 和 0 的序列

linux-kernel - 启动期间Linux内核空间中的页表

linux - 内核自旋锁在释放锁之前启用抢占