Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Sep 2024 05:29:32 GMT
From:      Colin Percival <cperciva@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 1dd6f34fb78f - stable/14 - EC2: Move network config into a separate function
Message-ID:  <202409110529.48B5TW8A065135@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by cperciva:

URL: https://cgit.FreeBSD.org/src/commit/?id=1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27

commit 1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27
Author:     Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2024-08-31 23:46:51 +0000
Commit:     Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2024-09-11 05:28:59 +0000

    EC2: Move network config into a separate function
    
    Having the "base" FreeBSD network configuration (aka. what is used
    when not using cloud-init) in ec2.conf will allow us to reuse it in
    other AMIs.
    
    Sponsored by:   Amazon
    Differential Revision:  https://reviews.freebsd.org/D46507
    
    (cherry picked from commit f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb)
---
 release/tools/ec2-base.conf | 26 +++-----------------------
 release/tools/ec2.conf      | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/release/tools/ec2-base.conf b/release/tools/ec2-base.conf
index d80035e11ed7..bd2c510cd1a7 100644
--- a/release/tools/ec2-base.conf
+++ b/release/tools/ec2-base.conf
@@ -22,29 +22,6 @@ vm_extra_pre_umount() {
 	# via EC2 user-data.
 	echo 'firstboot_pkgs_list="devel/py-awscli"' >> ${DESTDIR}/etc/rc.conf
 
-	# EC2 instances use DHCP to get their network configuration.  IPv6
-	# requires accept_rtadv.
-	echo 'ifconfig_DEFAULT="SYNCDHCP accept_rtadv"' >> ${DESTDIR}/etc/rc.conf
-
-	# The EC2 DHCP server can be trusted to know whether an IP address is
-	# assigned to us; we don't need to ARP to check if anyone else is using
-	# the address before we start using it.
-	echo 'dhclient_arpwait="NO"' >> ${DESTDIR}/etc/rc.conf
-
-	# Enable IPv6 on all interfaces, and spawn DHCPv6 via rtsold
-	echo 'ipv6_activate_all_interfaces="YES"' >> ${DESTDIR}/etc/rc.conf
-	echo 'rtsold_enable="YES"' >> ${DESTDIR}/etc/rc.conf
-	echo 'rtsold_flags="-M /usr/local/libexec/rtsold-M -a"' >> ${DESTDIR}/etc/rc.conf
-
-	# Provide a script which rtsold can use to launch DHCPv6
-	mkdir -p ${DESTDIR}/usr/local/libexec
-	cat > ${DESTDIR}/usr/local/libexec/rtsold-M <<'EOF'
-#!/bin/sh
-
-/usr/local/sbin/dhclient -6 -nw -N -cf /dev/null $1
-EOF
-	chmod 755 ${DESTDIR}/usr/local/libexec/rtsold-M
-
 	# Any EC2 ephemeral disks seen when the system first boots will
 	# be "new" disks; there is no "previous boot" when they might have
 	# been seen and used already.
@@ -53,5 +30,8 @@ EOF
 	# Configuration common to all EC2 AMIs
 	ec2_common
 
+	# Standard FreeBSD network configuration
+	ec2_base_networking
+
 	return 0
 }
diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf
index 602216d3c2d4..09cf1ce0017f 100644
--- a/release/tools/ec2.conf
+++ b/release/tools/ec2.conf
@@ -104,3 +104,30 @@ EOF
 
 	return 0
 }
+
+ec2_base_networking () {
+	# EC2 instances use DHCP to get their network configuration.  IPv6
+	# requires accept_rtadv.
+	echo 'ifconfig_DEFAULT="SYNCDHCP accept_rtadv"' >> ${DESTDIR}/etc/rc.conf
+
+	# The EC2 DHCP server can be trusted to know whether an IP address is
+	# assigned to us; we don't need to ARP to check if anyone else is using
+	# the address before we start using it.
+	echo 'dhclient_arpwait="NO"' >> ${DESTDIR}/etc/rc.conf
+
+	# Enable IPv6 on all interfaces, and spawn DHCPv6 via rtsold
+	echo 'ipv6_activate_all_interfaces="YES"' >> ${DESTDIR}/etc/rc.conf
+	echo 'rtsold_enable="YES"' >> ${DESTDIR}/etc/rc.conf
+	echo 'rtsold_flags="-M /usr/local/libexec/rtsold-M -a"' >> ${DESTDIR}/etc/rc.conf
+
+	# Provide a script which rtsold can use to launch DHCPv6
+	mkdir -p ${DESTDIR}/usr/local/libexec
+	cat > ${DESTDIR}/usr/local/libexec/rtsold-M <<'EOF'
+#!/bin/sh
+
+/usr/local/sbin/dhclient -6 -nw -N -cf /dev/null $1
+EOF
+	chmod 755 ${DESTDIR}/usr/local/libexec/rtsold-M
+
+	return 0
+}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202409110529.48B5TW8A065135>