git: f961ddb28d69 - main - EC2: Move network config into a separate function
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Sep 2024 05:57:18 UTC
The branch main has been updated by cperciva:
URL: https://cgit.FreeBSD.org/src/commit/?id=f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb
commit f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb
Author: Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2024-08-31 23:46:51 +0000
Commit: Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2024-09-04 05:57:06 +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
---
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
+}