From nobody Wed Sep 04 05:57:18 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WzBbL3qtzz5VBM0; Wed, 04 Sep 2024 05:57:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WzBbL19wMz43pd; Wed, 4 Sep 2024 05:57:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725429438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3gHq8SYD5jkjeo1ByxmbHXg9mh3aLN+s3p2P/ywe9D4=; b=OVzuOr44f2p/xp/Fmn6cgZyY8SNOQ8OdSbEYCKDCvqThNodou5v896kqGBu+gfrEO0XcuO o5yJtA4DLIxPNEHE7Q8S9B3xhEYwfleyHTL8jFO2M83pMyvrPEFiTlqNuzHl/Wof9VRAOG G+i31ceO238hocQd983I6MDdwlHV1WOGMYxkYlu+Les7gWBINSS/xYITo/SSIINWfpRrHM nCxkkBvEV/njKBLi5445EKgf+AqCEqMk5WfL/Am1vBvxbcfrpTCcHPhEuTtMbeKXIYAaar zJzpj/crIm2IoZtOo0w+0jGWP+kuc3HtJ914yg0EYofz4Nmro4GgLDDzWFTU0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1725429438; a=rsa-sha256; cv=none; b=uc7wznWuJxfcft3V74EopKWbMnoMtGUKgJ+X0NJJjzbN6ThhybAumyMmaszwsmP7PonJUQ N3XuWAdFgLhk1e85JROZkL3ymUWMGTCRIDmJY62Ee36WM0EdcxihicUvZU8SgeVGTAgZ4K UlAOlbb4oQubSDFMSkmgqxjahjJvAKF6a9UvDRefJxZxfoupZUNZdv/idtCQD5SjqwzRAF DxRS+dvxl+BoYmjwvdE9WlBM0Qmk6WKVNd4FRn05E/0ZLJTHK/eKzzMPq9zPv3RumYO4TK 5zit8MU1kjiScT5fHQWmijVqsU/rbAnBCPhAsQFIVWWtOjEQxD9zc+1U1u0ClQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1725429438; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3gHq8SYD5jkjeo1ByxmbHXg9mh3aLN+s3p2P/ywe9D4=; b=XcU6OLaNJVBIzzj41G4rBmejWhJVQlJJ2diw/Y7pnT2NrhKzn6DWf7UCiOfY8uHqTNXkhe gYCHUAy1rhZVcZt4q6aqVy88OucB5/7EvzzNbKZ8JcIFbApoqVDO3Hot6FukBye/QRk8wj hrT+z+ZAVCnhE435NZlyiqKjaBj9H+mrfjZ0hmS6vRFJ4XpS6GWvE+Uwh9r0EsUJi89GY1 ilMTd8y/RqIKXBm/xDHpITvCdPW38kUeOqOG31FStZ9fPY7rOnV48djy1kBjpgw2rODSsN vIstyfag2TRSLqMEATiyCqhjRs/KEwFtcyZhPHKg0bMObR1qK89Zv9tvLRdvbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WzBbL0m86z1C6P; Wed, 4 Sep 2024 05:57:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4845vIvw099333; Wed, 4 Sep 2024 05:57:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4845vIvR099330; Wed, 4 Sep 2024 05:57:18 GMT (envelope-from git) Date: Wed, 4 Sep 2024 05:57:18 GMT Message-Id: <202409040557.4845vIvR099330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: f961ddb28d69 - main - EC2: Move network config into a separate function List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb commit f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb Author: Colin Percival AuthorDate: 2024-08-31 23:46:51 +0000 Commit: Colin Percival 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 +}