[systemd-devel] [PATCH] networkd: Introduce ipip tunnel
Susant Sahani
susant at redhat.com
Sun Apr 6 21:44:24 PDT 2014
On 04/07/2014 10:05 AM, Susant Sahani wrote:
> On 04/04/2014 10:00 PM, Tom Gundersen wrote:
>> Hi Susant,
Hi Tom,
>>> + log_error_netdev(netdev,
>>> + "Could not append IFLA_IPTUN_LINK
>>> attribute: %s",
>>> + strerror(-r));
>>> + return r;
>>> + }
>>> +
>>> + r = sd_rtnl_message_append_u32(m, IFLA_IPTUN_LOCAL,
>>> netdev->tunnel_local.s_addr);
>>> + if (r < 0) {
>>> + log_error_netdev(netdev,
>>> + "Could not append IFLA_IPTUN_LOCAL
>>> attribute: %s",
>>> + strerror(-r));
>>> + return r;
>>> + }
>>> +
>>> + r = sd_rtnl_message_append_u32(m, IFLA_IPTUN_REMOTE,
>>> netdev->tunnel_remote.s_addr);
>>> + if (r < 0) {
>>> + log_error_netdev(netdev,
>>> + "Could not append
>>> IFLA_IPTUN_REMOTE attribute: %s",
>>> + strerror(-r));
>>> + return r;
>>> + }
>> Hm, I guess these should be _append_in_addr() to get the typesafety
>> right (might need to verify that we are using the right types for this
>> in rtnl-types.c.
> I am missing something in the code . with the current rtnl code
> it does not get appended. Could you please give a example.
>
> r= sd_rtnl_message_append_in_addr(m, IFLA_IPTUN_LOCAL, (const struct
> in_addr *)
> &netdev->tunnel_local.s_addr);
>
> Could not append IFLA_IPTUN_LOCAL attribute: Invalid argument
I just figured out this should do .
git diff rtnl-types.c
diff --git a/src/libsystemd/sd-rtnl/rtnl-types.c
b/src/libsystemd/sd-rtnl/rtnl-types.c
index 27b7d04..585edc6 100644
--- a/src/libsystemd/sd-rtnl/rtnl-types.c
+++ b/src/libsystemd/sd-rtnl/rtnl-types.c
@@ -103,8 +103,8 @@ static const NLType
rtnl_link_info_data_bond_types[IFLA_BOND_MAX + 1] = {
static const NLType rtnl_link_info_data_iptun_types[IFLA_IPTUN_MAX +
1] = {
[IFLA_IPTUN_LINK] = { .type = NLA_U32 },
- [IFLA_IPTUN_LOCAL] = { .type = NLA_U32 },
- [IFLA_IPTUN_REMOTE] = { .type = NLA_U32 },
+ [IFLA_IPTUN_LOCAL] = { .type = NLA_IN_ADDR },
+ [IFLA_IPTUN_REMOTE] = { .type = NLA_IN_ADDR },
[IFLA_IPTUN_TTL] = { .type = NLA_U8 },
[IFLA_IPTUN_TOS] = { .type = NLA_U8 },
[IFLA_IPTUN_PMTUDISC] = { .type = NLA_U8 },
Thanks
Susant
More information about the systemd-devel
mailing list