From: Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Cc: dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: [Patch v3] network: add static route support
Date: Fri, 4 Jul 2014 11:01:21 +0800 [thread overview]
Message-ID: <1404442881-5654-1-git-send-email-bhe@redhat.com> (raw)
Now in dracut only default gateway is added. However as below you can
see, if a service target is in different subnet with default gateway,
a subnet route to that service target has to be added into dracut.
sh> ip route show
default via 192.168.122.1 dev eth0 proto static metric 1024
192.168.200.0/24 via 192.168.100.222 dev ens10 proto static metric 1
Now add a cmdline parameter rd.route="" and the related operation to
parse it. User can add static route by specify it in cmdline like. For
now the PREFIX/nexthop/output_device is enough to route.
rd.route="192.168.200.0/24_via_192.168.100.222_dev_ens10"
---
dracut.cmdline.7.asc | 8 ++++++++
modules.d/40network/net-lib.sh | 9 +++++++++
2 files changed, 17 insertions(+)
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
index fef13b3..e2ab8a7 100644
--- a/dracut.cmdline.7.asc
+++ b/dracut.cmdline.7.asc
@@ -536,6 +536,14 @@ interface name. Better name it "bootnet" or "bluesocket".
list of physical (ethernet) interfaces. Bridge without parameters assumes
bridge=br0:eth0
+**rd.route=**__<route-options>__::
+ Add static route to route table with route options which are separated by
+ underscore. Among them some are necessary, such as the destination prefix
+ of the route, the address of the nexthop route, the output device name.
+ It's like
+ rd.route=192.168.200.0/24_via_192.168.100.222_dev_ens10
+
+
NFS
~~~
**root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index a82f1a8..b428abb 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -103,6 +103,15 @@ setup_net() {
[ -e /tmp/net.$netif.resolv.conf ] && \
cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
+ # add static route
+ local _p _r
+ for _p in $(getargs rd.route=); do
+ if strstr "$_p" "$netif"; then
+ _r=${_p//'_'/' '}
+ ip route add $_r
+ fi
+ done
+
# Handle STP Timeout: arping the default gateway.
# (or the root server, if a) it's local or b) there's no gateway.)
# Note: This assumes that if no router is present the
--
1.9.0
next reply other threads:[~2014-07-04 3:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-04 3:01 Baoquan He [this message]
[not found] ` <1404442881-5654-1-git-send-email-bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-07-04 3:03 ` [Patch v3] network: add static route support Baoquan He
2014-07-15 2:46 ` Baoquan He
[not found] ` <20140715024612.GA1787-je1gSBvt1TeLcxizHhUEZR/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>
2014-07-22 12:31 ` Harald Hoyer
[not found] ` <53CE5994.8020407-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-07-23 2:10 ` Baoquan He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1404442881-5654-1-git-send-email-bhe@redhat.com \
--to=bhe-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.