summaryrefslogtreecommitdiffstats
path: root/netlink_msg.h
diff options
context:
space:
mode:
authorDaniel Drown <dan-android@drown.org>2012-03-23 10:42:54 -0500
committerJP Abgrall <jpa@google.com>2012-11-12 15:59:12 -0800
commita45056e35c1af2a0f0a6eed258fd5fdf4846a79f (patch)
tree5dd035946e9ab1201289292f7343af3230a26433 /netlink_msg.h
parent62ea9b6658a4c2116eeb6450c8244269448e79aa (diff)
downloadandroid_external_android-clat-a45056e35c1af2a0f0a6eed258fd5fdf4846a79f.tar.gz
android_external_android-clat-a45056e35c1af2a0f0a6eed258fd5fdf4846a79f.tar.bz2
android_external_android-clat-a45056e35c1af2a0f0a6eed258fd5fdf4846a79f.zip
android clat service
This software provides the nat 4->6 translation needed for the "clat" part of the 464xlat standard. It is needed for better IPv4 application support while on an IPv6-only mobile network connection using 464xlat's nat64 (such as T-Mobile's IPv6 trial). A general diagram of how 464xlat works: http://dan.drown.org/android/clat/Clat-Plat.png Depends-on: I2392f8127dcd90d16b0f20ff31bcc5aa096db464 Change-Id: If2bc6916fc66fd4bca7cc241c83cfae839b82e15 Signed-off-by: Daniel Drown <dan-android@drown.org>
Diffstat (limited to 'netlink_msg.h')
-rw-r--r--netlink_msg.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/netlink_msg.h b/netlink_msg.h
new file mode 100644
index 0000000..bc85b2d
--- /dev/null
+++ b/netlink_msg.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2012 Daniel Drown
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * netlink_msg.h - send an ifaddrmsg/ifinfomsg via netlink
+ */
+#ifndef __NETLINK_IFMSG_H__
+#define __NETLINK_IFMSG_H__
+
+size_t inet_family_size(int family);
+struct nl_msg *nlmsg_alloc_ifaddr(uint16_t type, uint16_t flags, struct ifaddrmsg *ifa);
+struct nl_msg *nlmsg_alloc_ifinfo(uint16_t type, uint16_t flags, struct ifinfomsg *ifi);
+struct nl_msg *nlmsg_alloc_rtmsg(uint16_t type, uint16_t flags, struct rtmsg *rt);
+void send_netlink_msg(struct nl_msg *msg, struct nl_cb *callbacks);
+void send_ifaddrmsg(uint16_t type, uint16_t flags, struct ifaddrmsg *ifa, struct nl_cb *callbacks);
+int netlink_sendrecv(struct nl_msg *msg);
+
+#endif