meta-agl-profile-telematics: recipes-core: systemd: remove v234 bbappend 71/20971/1
authorMatt Ranostay <matt.ranostay@konsulko.com>
Tue, 9 Apr 2019 17:59:02 +0000 (20:59 +0300)
committerMatt Ranostay <matt.ranostay@konsulko.com>
Tue, 9 Apr 2019 18:12:54 +0000 (21:12 +0300)
Recent upgrade to thud brings in v239 which already has the canbus changes.

Change-Id: If5cd09e55117f56c3ff8bb9b1155519e7e2a40d2
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch [deleted file]
meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch [deleted file]
meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch [deleted file]
meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend [deleted file]

diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0001-networkd-link-link_configure-factor-out-link_configu.patch
deleted file mode 100644 (file)
index d2117f6..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From 249a124d84e586f43aa47682d512a83a4322fb4b Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Date: Wed, 30 May 2018 11:47:23 +0200
-Subject: [PATCH 1/3] networkd-link: link_configure(); factor out
- link_configure_can() into separate function
-
----
- src/network/networkd-link.c | 28 ++++++++++++++++------------
- 1 file changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 4c57fa1793..c29ae30ef0 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -2509,6 +2509,20 @@ static int link_update_lldp(Link *link) {
-         return r;
- }
-+static int link_configure_can(Link *link) {
-+        int r;
-+
-+        if (!(link->flags & IFF_UP)) {
-+                r = link_up_can(link);
-+                if (r < 0) {
-+                        link_enter_failed(link);
-+                        return r;
-+                }
-+        }
-+
-+        return 0;
-+}
-+
- static int link_configure(Link *link) {
-         int r;
-@@ -2516,18 +2530,8 @@ static int link_configure(Link *link) {
-         assert(link->network);
-         assert(link->state == LINK_STATE_PENDING);
--        if (streq_ptr(link->kind, "vcan")) {
--
--                if (!(link->flags & IFF_UP)) {
--                        r = link_up_can(link);
--                        if (r < 0) {
--                                link_enter_failed(link);
--                                return r;
--                        }
--                }
--
--                return 0;
--        }
-+        if (streq_ptr(link->kind, "vcan"))
-+                return link_configure_can(link);
-         /* Drop foreign config, but ignore loopback or critical devices.
-          * We do not want to remove loopback address or addresses used for root NFS. */
--- 
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0002-networkd-link-link_up_can-move-function-upwards.patch
deleted file mode 100644 (file)
index 6e2f410..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-From 833fbbe448fca5f7047708db2d0d91778aabbb93 Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Date: Wed, 30 May 2018 16:31:59 +0200
-Subject: [PATCH 2/3] networkd-link: link_up_can(): move function upwards
-
-This patch is a preparation patch, to avoid forward declarations in the
-next patch.
----
- src/network/networkd-link.c | 50 ++++++++++++++++++-------------------
- 1 file changed, 25 insertions(+), 25 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index c29ae30ef0..a736dc1a74 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -1780,6 +1780,31 @@ int link_up(Link *link) {
-         return 0;
- }
-+static int link_up_can(Link *link) {
-+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
-+        int r;
-+
-+        assert(link);
-+
-+        log_link_debug(link, "Bringing CAN link up");
-+
-+        r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m");
-+
-+        r = sd_rtnl_message_link_set_flags(req, IFF_UP, IFF_UP);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not set link flags: %m");
-+
-+        r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler, link, 0, NULL);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
-+
-+        link_ref(link);
-+
-+        return 0;
-+}
-+
- static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
-         _cleanup_link_unref_ Link *link = userdata;
-         int r;
-@@ -1824,31 +1849,6 @@ int link_down(Link *link) {
-         return 0;
- }
--static int link_up_can(Link *link) {
--        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *req = NULL;
--        int r;
--
--        assert(link);
--
--        log_link_debug(link, "Bringing CAN link up");
--
--        r = sd_rtnl_message_new_link(link->manager->rtnl, &req, RTM_SETLINK, link->ifindex);
--        if (r < 0)
--                return log_link_error_errno(link, r, "Could not allocate RTM_SETLINK message: %m");
--
--        r = sd_rtnl_message_link_set_flags(req, IFF_UP, IFF_UP);
--        if (r < 0)
--                return log_link_error_errno(link, r, "Could not set link flags: %m");
--
--        r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler, link, 0, NULL);
--        if (r < 0)
--                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
--
--        link_ref(link);
--
--        return 0;
--}
--
- static int link_handle_bound_to_list(Link *link) {
-         Link *l;
-         Iterator i;
--- 
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch b/meta-agl-profile-telematics/recipes-core/systemd/files/0003-networkd-link-add-support-to-configure-CAN-interface.patch
deleted file mode 100644 (file)
index 594b4be..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-From c855f0b6042516632e4ad2020f8576de54366593 Mon Sep 17 00:00:00 2001
-From: Hiram van Paassen <hiram.van.paassen@mastervolt.com>
-Date: Tue, 10 Apr 2018 17:26:20 +0200
-Subject: [PATCH 3/3] networkd-link: add support to configure CAN interfaces
-
-This patch adds support for kind "can". Fixes: #4042.
----
- man/systemd.network.xml                   |  33 ++++++
- src/libsystemd/sd-netlink/netlink-types.c |  10 ++
- src/libsystemd/sd-netlink/netlink-types.h |   1 +
- src/network/networkd-link.c               | 122 +++++++++++++++++++++-
- src/network/networkd-network-gperf.gperf  |   3 +
- src/network/networkd-network.c            |   3 +-
- src/network/networkd-network.h            |   5 +
- 7 files changed, 175 insertions(+), 2 deletions(-)
-
-diff --git a/man/systemd.network.xml b/man/systemd.network.xml
-index 6b83a5b851..99ef84ac3d 100644
---- a/man/systemd.network.xml
-+++ b/man/systemd.network.xml
-@@ -1361,6 +1361,32 @@
-         </varlistentry>
-       </variablelist>
-   </refsect1>
-+
-+  <refsect1>
-+    <title>[CAN] Section Options</title>
-+      <para>The <literal>[CAN]</literal> section manages the Controller Area Network (CAN bus) and accepts the
-+      following keys.</para>
-+      <variablelist class='network-directives'>
-+        <varlistentry>
-+          <term><varname>BitRate=</varname></term>
-+          <listitem>
-+            <para>The bitrate of CAN device in bits per second. The usual SI prefixes (K, M) with the base of 1000 can
-+            be used here.</para>
-+          </listitem>
-+        </varlistentry>
-+        <varlistentry>
-+          <term><varname>RestartSec=</varname></term>
-+          <listitem>
-+            <para>Automatic restart delay time. If set to a non-zero value, a restart of the CAN controller will be
-+            triggered automatically in case of a bus-off condition after the specified delay time. Subsecond delays can
-+            be specified using decimals (e.g. <literal>0.1s</literal>) or a <literal>ms</literal> or
-+            <literal>us</literal> postfix. Using <literal>infinity</literal> or <literal>0</literal> will turn the
-+            automatic restart off. By default automatic restart is disabled.</para>
-+          </listitem>
-+        </varlistentry>
-+      </variablelist>
-+  </refsect1>
-+
-   <refsect1>
-     <title>[BridgeVLAN] Section Options</title>
-       <para>The <literal>[BridgeVLAN]</literal> section manages the VLAN ID configuration of a bridge port and accepts
-diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index 923f7dd10c..978277a2b9 100644
---- a/src/libsystemd/sd-netlink/netlink-types.c
-+++ b/src/libsystemd/sd-netlink/netlink-types.c
-@@ -300,6 +300,11 @@ static const NLType rtnl_link_info_data_geneve_types[] = {
-         [IFLA_GENEVE_LABEL]             = { .type = NETLINK_TYPE_U32 },
- };
-+static const NLType rtnl_link_info_data_can_types[] = {
-+        [IFLA_CAN_BITTIMING]            = { .size = sizeof(struct can_bittiming) },
-+        [IFLA_CAN_RESTART_MS]           = { .type = NETLINK_TYPE_U32 },
-+};
-+
- /* these strings must match the .kind entries in the kernel */
- static const char* const nl_union_link_info_data_table[] = {
-         [NL_UNION_LINK_INFO_DATA_BOND] = "bond",
-@@ -323,6 +328,7 @@ static const char* const nl_union_link_info_data_table[] = {
-         [NL_UNION_LINK_INFO_DATA_VRF] = "vrf",
-         [NL_UNION_LINK_INFO_DATA_VCAN] = "vcan",
-         [NL_UNION_LINK_INFO_DATA_GENEVE] = "geneve",
-+        [NL_UNION_LINK_INFO_DATA_CAN] = "can",
- };
- DEFINE_STRING_TABLE_LOOKUP(nl_union_link_info_data, NLUnionLinkInfoData);
-@@ -366,6 +372,8 @@ static const NLTypeSystem rtnl_link_info_data_type_systems[] = {
-                                                        .types = rtnl_link_info_data_vrf_types },
-         [NL_UNION_LINK_INFO_DATA_GENEVE] =           { .count = ELEMENTSOF(rtnl_link_info_data_geneve_types),
-                                                        .types = rtnl_link_info_data_geneve_types },
-+        [NL_UNION_LINK_INFO_DATA_CAN] =              { .count = ELEMENTSOF(rtnl_link_info_data_can_types),
-+                                                       .types = rtnl_link_info_data_can_types },
- };
- static const NLTypeSystemUnion rtnl_link_info_data_type_system_union = {
-diff --git a/src/libsystemd/sd-netlink/netlink-types.h b/src/libsystemd/sd-netlink/netlink-types.h
-index ae65c1d8e4..e7b8a292c2 100644
---- a/src/libsystemd/sd-netlink/netlink-types.h
-+++ b/src/libsystemd/sd-netlink/netlink-types.h
-@@ -89,6 +89,7 @@ typedef enum NLUnionLinkInfoData {
-         NL_UNION_LINK_INFO_DATA_VRF,
-         NL_UNION_LINK_INFO_DATA_VCAN,
-         NL_UNION_LINK_INFO_DATA_GENEVE,
-+        NL_UNION_LINK_INFO_DATA_CAN,
-         _NL_UNION_LINK_INFO_DATA_MAX,
-         _NL_UNION_LINK_INFO_DATA_INVALID = -1
- } NLUnionLinkInfoData;
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index a736dc1a74..73602d60a7 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -19,6 +19,7 @@
- #include <netinet/ether.h>
- #include <linux/if.h>
-+#include <linux/can/netlink.h>
- #include <unistd.h>
- #include "alloc-util.h"
-@@ -1805,6 +1806,105 @@ static int link_up_can(Link *link) {
-         return 0;
- }
-+static int link_set_can(Link *link) {
-+        _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *m = NULL;
-+        int r;
-+
-+        assert(link);
-+        assert(link->network);
-+        assert(link->manager);
-+        assert(link->manager->rtnl);
-+
-+        log_link_debug(link, "link_set_can");
-+
-+        r = sd_rtnl_message_new_link(link->manager->rtnl, &m, RTM_NEWLINK, link->ifindex);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Failed to allocate netlink message: %m");
-+
-+        r = sd_netlink_message_set_flags(m, NLM_F_REQUEST | NLM_F_ACK);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not set netlink flags: %m");
-+
-+        r = sd_netlink_message_open_container(m, IFLA_LINKINFO);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Failed to open netlink container: %m");
-+
-+        r = sd_netlink_message_open_container_union(m, IFLA_INFO_DATA, link->kind);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not append IFLA_INFO_DATA attribute: %m");
-+
-+        if (link->network->can_bitrate > 0 || link->network->can_sample_point > 0) {
-+                struct can_bittiming bt = {
-+                        .bitrate = link->network->can_bitrate,
-+                        .sample_point = link->network->can_sample_point,
-+                };
-+
-+                if (link->network->can_bitrate > UINT32_MAX) {
-+                        log_link_error(link, "bitrate (%zu) too big.", link->network->can_bitrate);
-+                        return -ERANGE;
-+                }
-+
-+                log_link_debug(link, "Setting bitrate = %d bit/s", bt.bitrate);
-+                if (link->network->can_sample_point > 0)
-+                        log_link_debug(link, "Setting sample point = %d.%d%%", bt.sample_point / 10, bt.sample_point % 10);
-+                else
-+                        log_link_debug(link, "Using default sample point");
-+
-+                r = sd_netlink_message_append_data(m, IFLA_CAN_BITTIMING, &bt, sizeof(bt));
-+                if (r < 0)
-+                        return log_link_error_errno(link, r, "Could not append IFLA_CAN_BITTIMING attribute: %m");
-+        }
-+
-+        if (link->network->can_restart_us > 0) {
-+                char time_string[FORMAT_TIMESPAN_MAX];
-+                uint64_t restart_ms;
-+
-+                if (link->network->can_restart_us == USEC_INFINITY)
-+                        restart_ms = 0;
-+                else
-+                        restart_ms = DIV_ROUND_UP(link->network->can_restart_us, USEC_PER_MSEC);
-+
-+                format_timespan(time_string, FORMAT_TIMESPAN_MAX, restart_ms * 1000, MSEC_PER_SEC);
-+
-+                if (restart_ms > UINT32_MAX) {
-+                        log_link_error(link, "restart timeout (%s) too big.", time_string);
-+                        return -ERANGE;
-+                }
-+
-+                log_link_debug(link, "Setting restart = %s", time_string);
-+
-+                r = sd_netlink_message_append_u32(m, IFLA_CAN_RESTART_MS, restart_ms);
-+                if (r < 0)
-+                        return log_link_error_errno(link, r, "Could not append IFLA_CAN_RESTART_MS attribute: %m");
-+        }
-+
-+        r = sd_netlink_message_close_container(m);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Failed to close netlink container: %m");
-+
-+        r = sd_netlink_message_close_container(m);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Failed to close netlink container: %m");
-+
-+        r = sd_netlink_call_async(link->manager->rtnl, m, link_set_handler, link,  0, NULL);
-+        if (r < 0)
-+                return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
-+
-+        link_ref(link);
-+
-+        if (!(link->flags & IFF_UP)) {
-+                r = link_up_can(link);
-+                if (r < 0) {
-+                        link_enter_failed(link);
-+                        return r;
-+                }
-+        }
-+
-+        log_link_debug(link, "link_set_can done");
-+
-+        return r;
-+}
-+
- static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
-         _cleanup_link_unref_ Link *link = userdata;
-         int r;
-@@ -1818,6 +1918,11 @@ static int link_down_handler(sd_netlink *rtnl, sd_netlink_message *m, void *user
-         if (r < 0)
-                 log_link_warning_errno(link, r, "Could not bring down interface: %m");
-+        if (streq_ptr(link->kind, "can")) {
-+                link_ref(link);
-+                link_set_can(link);
-+        }
-+
-         return 1;
- }
-@@ -2512,6 +2617,21 @@ static int link_update_lldp(Link *link) {
- static int link_configure_can(Link *link) {
-         int r;
-+        if (streq_ptr(link->kind, "can")) {
-+                /* The CAN interface must be down to configure bitrate, etc... */
-+                if ((link->flags & IFF_UP)) {
-+                        r = link_down(link);
-+                        if (r < 0) {
-+                                link_enter_failed(link);
-+                                return r;
-+                        }
-+
-+                        return 0;
-+                }
-+
-+                return link_set_can(link);
-+        }
-+
-         if (!(link->flags & IFF_UP)) {
-                 r = link_up_can(link);
-                 if (r < 0) {
-@@ -2530,7 +2650,7 @@ static int link_configure(Link *link) {
-         assert(link->network);
-         assert(link->state == LINK_STATE_PENDING);
--        if (streq_ptr(link->kind, "vcan"))
-+        if (STRPTR_IN_SET(link->kind, "can", "vcan"))
-                 return link_configure_can(link);
-         /* Drop foreign config, but ignore loopback or critical devices.
-diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
-index a2d38501a5..95301f16e3 100644
---- a/src/network/networkd-network-gperf.gperf
-+++ b/src/network/networkd-network-gperf.gperf
-@@ -147,6 +147,8 @@ IPv6Prefix.OnLink,                      config_parse_prefix_flags,
- IPv6Prefix.AddressAutoconfiguration,    config_parse_prefix_flags,                      0,                             0
- IPv6Prefix.ValidLifetimeSec,            config_parse_prefix_lifetime,                   0,                             0
- IPv6Prefix.PreferredLifetimeSec,        config_parse_prefix_lifetime,                   0,                             0
-+CAN.BitRate,                            config_parse_si_size,                           0,                             offsetof(Network, can_bitrate)
-+CAN.RestartSec,                         config_parse_sec,                               0,                             offsetof(Network, can_restart_us)
- /* backwards compatibility: do not add new entries to this section */
- Network.IPv4LL,                         config_parse_ipv4ll,                            0,                             offsetof(Network, link_local)
- DHCPv4.UseDNS,                          config_parse_bool,                              0,                             offsetof(Network, dhcp_use_dns)
-diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 6f2ae66d40..65684e7915 100644
---- a/src/network/networkd-network.c
-+++ b/src/network/networkd-network.c
-@@ -214,7 +214,8 @@ static int network_load_one(Manager *manager, const char *filename) {
-                               "BridgeFDB\0"
-                               "BridgeVLAN\0"
-                               "IPv6PrefixDelegation\0"
--                              "IPv6Prefix\0",
-+                              "IPv6Prefix\0"
-+                              "CAN\0",
-                               config_item_perf_lookup, network_network_gperf_lookup,
-                               false, network);
-         if (r < 0)
-diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h
-index b31921947d..c4e1192cbe 100644
---- a/src/network/networkd-network.h
-+++ b/src/network/networkd-network.h
-@@ -179,6 +179,11 @@ struct Network {
-         uint32_t br_vid_bitmap[BRIDGE_VLAN_BITMAP_LEN];
-         uint32_t br_untagged_bitmap[BRIDGE_VLAN_BITMAP_LEN];
-+        /* CAN support */
-+        size_t can_bitrate;
-+        unsigned can_sample_point;
-+        usec_t can_restart_us;
-+
-         AddressFamilyBoolean ip_forward;
-         bool ip_masquerade;
--- 
-2.17.1
-
diff --git a/meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend b/meta-agl-profile-telematics/recipes-core/systemd/systemd_234.bbappend
deleted file mode 100644 (file)
index 7c49231..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append = " \
-    file://0001-networkd-link-link_configure-factor-out-link_configu.patch \
-    file://0002-networkd-link-link_up_can-move-function-upwards.patch \
-    file://0003-networkd-link-add-support-to-configure-CAN-interface.patch \
-"