aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-08-14 01:47:21 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-08-14 01:47:21 +0200
commit94146e8c5e2f465bd48854edf4695bca6d0645a1 (patch)
tree1f9765a6cd4356807e00bf6be7f0a930a66394a1
parente5c7ea6dacb32d38580b10c67b30cf25b2fe9687 (diff)
do weird local ipv6 tunnel address swap
-rw-r--r--netlinkd_sys/Cargo.toml2
-rw-r--r--netlinkd_sys/src/tunnel.rs9
2 files changed, 9 insertions, 2 deletions
diff --git a/netlinkd_sys/Cargo.toml b/netlinkd_sys/Cargo.toml
index 815d03a..73bc125 100644
--- a/netlinkd_sys/Cargo.toml
+++ b/netlinkd_sys/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rsdsl_netlinkd_sys"
-version = "0.4.0"
+version = "0.4.1"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
diff --git a/netlinkd_sys/src/tunnel.rs b/netlinkd_sys/src/tunnel.rs
index 0de6f51..264b06f 100644
--- a/netlinkd_sys/src/tunnel.rs
+++ b/netlinkd_sys/src/tunnel.rs
@@ -72,11 +72,18 @@ impl IpIp6 {
let tnlname = CString::new(name)?.into_raw();
let ifmaster = CString::new(master)?.into_raw();
+ let mut loctets = laddr.octets();
+
+ loctets.swap(0, 12);
+ loctets.swap(1, 13);
+ loctets.swap(2, 14);
+ loctets.swap(3, 15);
+
let err = unsafe {
internal::netlinkd_create_4in6(
tnlname,
ifmaster,
- &laddr.octets() as *const u8,
+ &loctets as *const u8,
&raddr.octets() as *const u8,
)
};