]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd: vxlan add support for GBP
authorSusant Sahani <ssahani@gmail.com>
Wed, 29 Jul 2015 08:35:34 +0000 (14:05 +0530)
committerSusant Sahani <ssahani@gmail.com>
Wed, 29 Jul 2015 08:35:34 +0000 (14:05 +0530)
This patch add support for vxlan  VXLAN Group Policy Option.

https://tools.ietf.org/html/draft-smith-vxlan-group-policy-00
http://lwn.net/Articles/628683/

src/network/networkd-netdev-gperf.gperf
src/network/networkd-netdev-vxlan.c
src/network/networkd-netdev-vxlan.h

index 7e46293a0608712eaa522ca7e50af050b49531b5..9469160eba922418a520e89e254b842165ffbfe4 100644 (file)
@@ -54,6 +54,7 @@ VXLAN.UDPCheckSum,           config_parse_bool,                  0,
 VXLAN.UDP6ZeroCheckSumRx,    config_parse_bool,                  0,                             offsetof(VxLan, udp6zerocsumrx)
 VXLAN.UDP6ZeroCheckSumTx,    config_parse_bool,                  0,                             offsetof(VxLan, udp6zerocsumtx)
 VXLAN.FDBAgeingSec,          config_parse_sec,                   0,                             offsetof(VxLan, fdb_ageing)
+VXLAN.GroupPolicyExtension,  config_parse_bool,                  0,                             offsetof(VxLan, group_policy)
 Tun.OneQueue,                config_parse_bool,                  0,                             offsetof(TunTap, one_queue)
 Tun.MultiQueue,              config_parse_bool,                  0,                             offsetof(TunTap, multi_queue)
 Tun.PacketInfo,              config_parse_bool,                  0,                             offsetof(TunTap, packet_info)
index 2a5c5f0baa730ef760bd57e657e23c81c0b89375..2518e2732ba6641355e56545a2752773fbc58998 100644 (file)
@@ -3,7 +3,7 @@
 /***
     This file is part of systemd.
 
-    Copyright 2014 Susant Sahani <susant@redhat.com>
+    Copyright 2014 Susant Sahani
 
     systemd is free software; you can redistribute it and/or modify it
     under the terms of the GNU Lesser General Public License as published by
@@ -101,6 +101,12 @@ static int netdev_vxlan_fill_message_create(NetDev *netdev, Link *link, sd_netli
         if (r < 0)
                 return log_netdev_error_errno(netdev, r, "Could not append IFLA_VXLAN_UDP_ZERO_CSUM6_RX attribute: %m");
 
+        if (v->group_policy) {
+                r = sd_netlink_message_append_flag(m, IFLA_VXLAN_GBP);
+                if (r < 0)
+                        return log_netdev_error_errno(netdev, r, "Could not append IFLA_VXLAN_GBP attribute: %m");
+        }
+
         return r;
 }
 
index e7d1306f134bde39362aecb267604fe5b73e8031..4ec33946cce6b6cc56e3079c255a1d7250aafaff 100644 (file)
@@ -50,6 +50,7 @@ struct VxLan {
         bool udpcsum;
         bool udp6zerocsumtx;
         bool udp6zerocsumrx;
+        bool group_policy;
 };
 
 extern const NetDevVTable vxlan_vtable;