This commit is contained in:
tuna2134
2026-07-11 12:14:36 +09:00
parent 8bd7e23a2e
commit f305045a0b
16 changed files with 3999 additions and 0 deletions

1137
..module-common.o.cmd Normal file

File diff suppressed because it is too large Load Diff

1
.Module.symvers.cmd Normal file
View File

@@ -0,0 +1 @@
savedcmd_Module.symvers := /usr/lib/modules/7.1.3-arch1-1/build/scripts/mod/modpost -M -a -N -o Module.symvers -n -T modules.order -i /usr/lib/modules/7.1.3-arch1-1/build/Module.symvers -e

1
.etherip6.ko.cmd Normal file
View File

@@ -0,0 +1 @@
savedcmd_etherip6.ko := ld -r -m elf_x86_64 -z noexecstack --no-warn-rwx-segments --build-id=sha1 -T /usr/lib/modules/7.1.3-arch1-1/build/scripts/module.lds -o etherip6.ko etherip6.o etherip6.mod.o .module-common.o

1
.etherip6.mod.cmd Normal file
View File

@@ -0,0 +1 @@
savedcmd_etherip6.mod := printf '%s\n' etherip6.o | awk '!x[$$0]++ { print("./"$$0) }' > etherip6.mod

1108
.etherip6.mod.o.cmd Normal file

File diff suppressed because it is too large Load Diff

1712
.etherip6.o.cmd Normal file

File diff suppressed because it is too large Load Diff

BIN
.module-common.o Normal file

Binary file not shown.

1
.modules.order.cmd Normal file
View File

@@ -0,0 +1 @@
savedcmd_modules.order := { echo etherip6.o; :; } > modules.order

0
Module.symvers Normal file
View File

View File

@@ -15,6 +15,7 @@
#include <linux/rculist.h> #include <linux/rculist.h>
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/tcp.h>
#include <net/ip.h> #include <net/ip.h>
#include <net/ip6_route.h> #include <net/ip6_route.h>
#include <net/ipv6.h> #include <net/ipv6.h>
@@ -157,8 +158,22 @@ static netdev_tx_t etherip6_xmit(struct sk_buff *skb, struct net_device *dev)
int headroom; int headroom;
int err; int err;
struct sk_buff *segs, *next; struct sk_buff *segs, *next;
unsigned int gso_limit;
if (skb_is_gso(skb)) { if (skb_is_gso(skb)) {
/*
* GSO is performed before EtherIP/IPv6 encapsulation. Limit the
* TCP payload according to the configured inner MTU; this preserves
* both 1500-byte and jumbo-frame tunnel configurations.
*/
gso_limit = max_t(unsigned int, dev->mtu,
ETH_HLEN + ETHERIP6_HLEN + sizeof(struct ipv6hdr) +
sizeof(struct tcphdr)) - ETH_HLEN - ETHERIP6_HLEN -
(skb->protocol == htons(ETH_P_IPV6) ?
sizeof(struct ipv6hdr) : sizeof(struct iphdr)) -
sizeof(struct tcphdr);
if (skb_shinfo(skb)->gso_size > gso_limit)
skb_shinfo(skb)->gso_size = gso_limit;
segs = skb_gso_segment(skb, 0); segs = skb_gso_segment(skb, 0);
if (IS_ERR(segs)) if (IS_ERR(segs))
goto tx_error; goto tx_error;

BIN
etherip6.ko Normal file

Binary file not shown.

1
etherip6.mod Normal file
View File

@@ -0,0 +1 @@
./etherip6.o

21
etherip6.mod.c Normal file
View File

@@ -0,0 +1,21 @@
#include <linux/module.h>
#include <linux/export-internal.h>
#include <linux/compiler.h>
MODULE_INFO(name, KBUILD_MODNAME);
__visible struct module __this_module
__section(".gnu.linkonce.this_module") = {
.name = KBUILD_MODNAME,
.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
.exit = cleanup_module,
#endif
.arch = MODULE_ARCH_INIT,
};
MODULE_INFO(depends, "");
MODULE_INFO(srcversion, "4BA7F5574A683C00B097C2C");

BIN
etherip6.mod.o Normal file

Binary file not shown.

BIN
etherip6.o Normal file

Binary file not shown.

1
modules.order Normal file
View File

@@ -0,0 +1 @@
etherip6.o