diff --git a/project-lakitu/sys-apps/systemd/files/249-foreignroutingpolicy.patch b/project-lakitu/sys-apps/systemd/files/249-foreignroutingpolicy.patch
new file mode 100644
index 0000000..f1b3ea8
--- /dev/null
+++ b/project-lakitu/sys-apps/systemd/files/249-foreignroutingpolicy.patch
@@ -0,0 +1,115 @@
+commit d94dfe7053d49fa62c4bfc07b7f3fc2227c10aff
+Author: Yu Watanabe <watanabe.yu+github@gmail.com>
+Date:   Sun Apr 11 21:33:51 2021 +0900
+
+    network: introduce ManageForeignRoutingPolicyRules= boolean setting in networkd.conf
+    
+    The commit 0b81225e5791f660506f7db0ab88078cf296b771 makes that networkd
+    remove all foreign rules except those with "proto kernel".
+    
+    But, in some situation, people may want to manage routing policy rules
+    with other tools, e.g. 'ip' command. To support such the situation,
+    this introduce ManageForeignRoutingPolicyRules= boolean setting.
+    
+    Closes #19106.
+
+diff --git a/man/networkd.conf.xml b/man/networkd.conf.xml
+index dcce2095ed..23422c6c94 100644
+--- a/man/networkd.conf.xml
++++ b/man/networkd.conf.xml
+@@ -62,6 +62,15 @@
+         If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
+       </varlistentry>
+ 
++      <varlistentry>
++        <term><varname>ManageForeignRoutingPolicyRules=</varname></term>
++        <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove rules
++        that are not configured in .network files (except for rules with protocol
++        <literal>kernel</literal>). When false, it will not remove any foreign rules, keeping them even
++        if they are not configured in a .network file. Defaults to yes.
++        </para></listitem>
++      </varlistentry>
++
+       <varlistentry>
+         <term><varname>ManageForeignRoutes=</varname></term>
+         <listitem><para>A boolean. When true, <command>systemd-networkd</command> will store any routes
+diff --git a/src/network/networkd-gperf.gperf b/src/network/networkd-gperf.gperf
+index b2a2f55790..74d509896a 100644
+--- a/src/network/networkd-gperf.gperf
++++ b/src/network/networkd-gperf.gperf
+@@ -20,9 +20,10 @@ struct ConfigPerfItem;
+ %struct-type
+ %includes
+ %%
+-Network.SpeedMeter,            config_parse_bool,                      0,          offsetof(Manager, use_speed_meter)
+-Network.SpeedMeterIntervalSec, config_parse_sec,                       0,          offsetof(Manager, speed_meter_interval_usec)
+-Network.ManageForeignRoutes,   config_parse_bool,                      0,          offsetof(Manager, manage_foreign_routes)
+-Network.RouteTable,            config_parse_route_table_names,         0,          0
+-DHCP.DUIDType,                 config_parse_duid_type,                 0,          offsetof(Manager, duid)
+-DHCP.DUIDRawData,              config_parse_duid_rawdata,              0,          offsetof(Manager, duid)
++Network.SpeedMeter,                      config_parse_bool,                      0,          offsetof(Manager, use_speed_meter)
++Network.SpeedMeterIntervalSec,           config_parse_sec,                       0,          offsetof(Manager, speed_meter_interval_usec)
++Network.ManageForeignRoutingPolicyRules, config_parse_bool,                      0,          offsetof(Manager, manage_foreign_rules)
++Network.ManageForeignRoutes,             config_parse_bool,                      0,          offsetof(Manager, manage_foreign_routes)
++Network.RouteTable,                      config_parse_route_table_names,         0,          0
++DHCP.DUIDType,                           config_parse_duid_type,                 0,          offsetof(Manager, duid)
++DHCP.DUIDRawData,                        config_parse_duid_rawdata,              0,          offsetof(Manager, duid)
+diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c
+index a8db2cc44b..20957ecd89 100644
+--- a/src/network/networkd-manager.c
++++ b/src/network/networkd-manager.c
+@@ -380,6 +380,7 @@ int manager_new(Manager **ret) {
+         *m = (Manager) {
+                 .speed_meter_interval_usec = SPEED_METER_DEFAULT_TIME_INTERVAL,
+                 .manage_foreign_routes = true,
++                .manage_foreign_rules = true,
+                 .ethtool_fd = -1,
+         };
+ 
+@@ -655,6 +656,9 @@ static int manager_enumerate_rules(Manager *m) {
+         assert(m);
+         assert(m->rtnl);
+ 
++        if (!m->manage_foreign_rules)
++                return 0;
++
+         r = sd_rtnl_message_new_routing_policy_rule(m->rtnl, &req, RTM_GETRULE, 0);
+         if (r < 0)
+                 return r;
+diff --git a/src/network/networkd-manager.h b/src/network/networkd-manager.h
+index 7f630fccc7..0fae7a5c2e 100644
+--- a/src/network/networkd-manager.h
++++ b/src/network/networkd-manager.h
+@@ -32,6 +32,7 @@ struct Manager {
+         bool dirty;
+         bool restarting;
+         bool manage_foreign_routes;
++        bool manage_foreign_rules;
+ 
+         Set *dirty_links;
+ 
+diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c
+index a7fddfd58f..03bdd4e640 100644
+--- a/src/network/networkd-routing-policy-rule.c
++++ b/src/network/networkd-routing-policy-rule.c
+@@ -977,6 +977,8 @@ int manager_rtnl_process_rule(sd_netlink *rtnl, sd_netlink_message *message, Man
+         case RTM_NEWRULE:
+                 if (rule)
+                         log_routing_policy_rule_debug(tmp, tmp->family, "Received remembered", NULL, m);
++                else if (!m->manage_foreign_routes)
++                        log_routing_policy_rule_debug(tmp, tmp->family, "Ignoring received foreign", NULL, m);
+                 else {
+                         log_routing_policy_rule_debug(tmp, tmp->family, "Remembering foreign", NULL, m);
+                         r = routing_policy_rule_consume_foreign(m, TAKE_PTR(tmp));
+diff --git a/src/network/networkd.conf b/src/network/networkd.conf
+index 0eac327314..4e4e8b8d07 100644
+--- a/src/network/networkd.conf
++++ b/src/network/networkd.conf
+@@ -15,6 +15,7 @@
+ [Network]
+ #SpeedMeter=no
+ #SpeedMeterIntervalSec=10sec
++#ManageForeignRoutingPolicyRules=yes
+ #ManageForeignRoutes=yes
+ #RouteTable=
+ 
diff --git a/project-lakitu/sys-apps/systemd/systemd-248.6-r1.ebuild b/project-lakitu/sys-apps/systemd/systemd-248.6-r2.ebuild
similarity index 100%
rename from project-lakitu/sys-apps/systemd/systemd-248.6-r1.ebuild
rename to project-lakitu/sys-apps/systemd/systemd-248.6-r2.ebuild
diff --git a/project-lakitu/sys-apps/systemd/systemd-248.6.ebuild b/project-lakitu/sys-apps/systemd/systemd-248.6.ebuild
index ad859ff..7a60570 100644
--- a/project-lakitu/sys-apps/systemd/systemd-248.6.ebuild
+++ b/project-lakitu/sys-apps/systemd/systemd-248.6.ebuild
@@ -263,6 +263,8 @@
 			# Remove this patch once stackdriver logging agent is
 			# upgraded with latest systemd version.
 			"${FILESDIR}"/248-systemd-journald-support-old-format.patch
+			# Can remove once we upgrade to v249+
+			"${FILESDIR}"/249-foreignroutingpolicy.patch
 	)
 
 	#if ! use vanilla; then
@@ -433,6 +435,10 @@
 		dosym /dev/null /etc/systemd/network/99-default.link
 	fi
 
+	# Install modprobe.d files.
+	insinto /etc/modprobe.d
+	doins modprobe.d/systemd.conf
+
 	# Enable accounting for all supported controllers (CPU, Memory and Block)
 	sed -i 's/#DefaultCPUAccounting=no/DefaultCPUAccounting=yes/' "${ED}"/etc/systemd/system.conf
 	sed -i 's/#DefaultBlockIOAccounting=no/DefaultBlockIOAccounting=yes/' "${ED}"/etc/systemd/system.conf
