fix
This commit is contained in:
1137
..module-common.o.cmd
Normal file
1137
..module-common.o.cmd
Normal file
File diff suppressed because it is too large
Load Diff
1
.Module.symvers.cmd
Normal file
1
.Module.symvers.cmd
Normal file
@@ -0,0 +1 @@
|
|||||||
|
savedcmd_Module.symvers := /usr/lib/modules/7.1.2-arch3-1/build/scripts/mod/modpost -M -a -N -W -o Module.symvers -n -T modules.order -i /usr/lib/modules/7.1.2-arch3-1/build/Module.symvers -e
|
||||||
1
.etherip6.ko.cmd
Normal file
1
.etherip6.ko.cmd
Normal 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.2-arch3-1/build/scripts/module.lds -o etherip6.ko etherip6.o etherip6.mod.o .module-common.o
|
||||||
1
.etherip6.mod.cmd
Normal file
1
.etherip6.mod.cmd
Normal 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
1108
.etherip6.mod.o.cmd
Normal file
File diff suppressed because it is too large
Load Diff
1770
.etherip6.o.cmd
Normal file
1770
.etherip6.o.cmd
Normal file
File diff suppressed because it is too large
Load Diff
BIN
.module-common.o
Normal file
BIN
.module-common.o
Normal file
Binary file not shown.
1
.modules.order.cmd
Normal file
1
.modules.order.cmd
Normal file
@@ -0,0 +1 @@
|
|||||||
|
savedcmd_modules.order := { echo etherip6.o; :; } > modules.order
|
||||||
0
Module.symvers
Normal file
0
Module.symvers
Normal file
12
etherip6.c
12
etherip6.c
@@ -263,6 +263,7 @@ static netdev_tx_t etherip6_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
struct pcpu_sw_netstats *stats;
|
struct pcpu_sw_netstats *stats;
|
||||||
__be16 *etherip;
|
__be16 *etherip;
|
||||||
unsigned int payload_len;
|
unsigned int payload_len;
|
||||||
|
unsigned int inner_len;
|
||||||
int headroom;
|
int headroom;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
@@ -290,6 +291,7 @@ static netdev_tx_t etherip6_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
payload_len = skb->len + ETHERIP6_HLEN;
|
payload_len = skb->len + ETHERIP6_HLEN;
|
||||||
|
inner_len = skb->len;
|
||||||
|
|
||||||
etherip = skb_push(skb, ETHERIP6_HLEN);
|
etherip = skb_push(skb, ETHERIP6_HLEN);
|
||||||
*etherip = ETHERIP6_HDR;
|
*etherip = ETHERIP6_HDR;
|
||||||
@@ -318,13 +320,19 @@ static netdev_tx_t etherip6_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||||||
*/
|
*/
|
||||||
memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
|
memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
|
||||||
|
|
||||||
|
err = ip6_local_out(net, NULL, skb);
|
||||||
|
if (unlikely(net_xmit_eval(err))) {
|
||||||
|
atomic_long_inc(&tun->tx_dropped);
|
||||||
|
return NETDEV_TX_OK;
|
||||||
|
}
|
||||||
|
|
||||||
stats = this_cpu_ptr(tun->stats);
|
stats = this_cpu_ptr(tun->stats);
|
||||||
u64_stats_update_begin(&stats->syncp);
|
u64_stats_update_begin(&stats->syncp);
|
||||||
u64_stats_inc(&stats->tx_packets);
|
u64_stats_inc(&stats->tx_packets);
|
||||||
u64_stats_add(&stats->tx_bytes, payload_len - ETHERIP6_HLEN);
|
u64_stats_add(&stats->tx_bytes, inner_len);
|
||||||
u64_stats_update_end(&stats->syncp);
|
u64_stats_update_end(&stats->syncp);
|
||||||
|
|
||||||
return ip6_local_out(net, NULL, skb) == 0 ? NETDEV_TX_OK : NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
|
|
||||||
tx_error:
|
tx_error:
|
||||||
atomic_long_inc(&tun->tx_dropped);
|
atomic_long_inc(&tun->tx_dropped);
|
||||||
|
|||||||
BIN
etherip6.ko
Normal file
BIN
etherip6.ko
Normal file
Binary file not shown.
1
etherip6.mod
Normal file
1
etherip6.mod
Normal file
@@ -0,0 +1 @@
|
|||||||
|
./etherip6.o
|
||||||
21
etherip6.mod.c
Normal file
21
etherip6.mod.c
Normal 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, "481F4CF394EABC790E50EAD");
|
||||||
BIN
etherip6.mod.o
Normal file
BIN
etherip6.mod.o
Normal file
Binary file not shown.
BIN
etherip6.o
Normal file
BIN
etherip6.o
Normal file
Binary file not shown.
1
modules.order
Normal file
1
modules.order
Normal file
@@ -0,0 +1 @@
|
|||||||
|
etherip6.o
|
||||||
Reference in New Issue
Block a user