/var/ipfire/ethernet/settings: Drop BROADCAST variable

This variable is no longer being used and was only used to
assign IP addresses to the individual interfaces.

However, the kernel knows best which IP address to select
as broadcast address for each network. Therefore we depend
on the kernel which allows us to support RFC3021.

Fixes: #12486 - no /31 transfer net available on red
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Michael Tremer
2020-10-07 11:46:46 +00:00
parent 391540d9d8
commit b67f02d512
13 changed files with 20 additions and 66 deletions

View File

@@ -146,12 +146,10 @@ import_aws_configuration() {
local prefix="${subnet#*/}"
local netmask="$(prefix2netmask "${prefix}")"
local netmask_num="$(to_integer "${netmask}")"
# Calculate the network and broadcast addresses
local netaddress="${subnet%/*}"
local netaddress_num="$(to_integer "${netaddress}")"
local broadcast="$(to_address $(( ipv4_address_num | (0xffffffff ^ netmask_num) )))"
case "${device_number}" in
# RED
@@ -169,7 +167,6 @@ import_aws_configuration() {
echo "RED_ADDRESS=${ipv4_address}"
echo "RED_NETMASK=${netmask}"
echo "RED_NETADDRESS=${netaddress}"
echo "RED_BROADCAST=${broadcast}"
echo "RED_MTU=1500"
echo "DEFAULT_GATEWAY=${gateway}"
) >> /var/ipfire/ethernet/settings
@@ -191,7 +188,6 @@ import_aws_configuration() {
echo "GREEN_ADDRESS=${ipv4_address}"
echo "GREEN_NETMASK=${netmask}"
echo "GREEN_NETADDRESS=${netaddress}"
echo "GREEN_BROADCAST=${broadcast}"
echo "GREEN_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;
@@ -208,7 +204,6 @@ import_aws_configuration() {
echo "ORANGE_ADDRESS=${ipv4_address}"
echo "ORANGE_NETMASK=${netmask}"
echo "ORANGE_NETADDRESS=${netaddress}"
echo "ORANGE_BROADCAST=${broadcast}"
echo "ORANGE_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;

View File

@@ -160,12 +160,10 @@ import_azure_configuration() {
local ipv4_address_num="$(to_integer "${ipv4_address}")"
local prefix="$(get "network/interface/${device_number}/ipv4/subnet/0/prefix")"
local netmask="$(prefix2netmask "${prefix}")"
local netmask_num="$(to_integer "${netmask}")"
# Calculate the network and broadcast addresses
# Get the network address
local netaddress="$(get "network/interface/${device_number}/ipv4/subnet/0/address")"
local netaddress_num="$(to_integer "${netaddress}")"
local broadcast="$(to_address $(( ipv4_address_num | (0xffffffff ^ netmask_num) )))"
case "${device_number}" in
# RED
@@ -183,7 +181,6 @@ import_azure_configuration() {
echo "RED_ADDRESS=${ipv4_address}"
echo "RED_NETMASK=${netmask}"
echo "RED_NETADDRESS=${netaddress}"
echo "RED_BROADCAST=${broadcast}"
echo "DEFAULT_GATEWAY=${gateway}"
) >> /var/ipfire/ethernet/settings
@@ -213,7 +210,6 @@ import_azure_configuration() {
echo "GREEN_ADDRESS=${ipv4_address}"
echo "GREEN_NETMASK=${netmask}"
echo "GREEN_NETADDRESS=${netaddress}"
echo "GREEN_BROADCAST=${broadcast}"
) >> /var/ipfire/ethernet/settings
;;
@@ -229,7 +225,6 @@ import_azure_configuration() {
echo "ORANGE_ADDRESS=${ipv4_address}"
echo "ORANGE_NETMASK=${netmask}"
echo "ORANGE_NETADDRESS=${netaddress}"
echo "ORANGE_BROADCAST=${broadcast}"
) >> /var/ipfire/ethernet/settings
;;
esac

View File

@@ -122,7 +122,6 @@ import_exoscale_configuration() {
GREEN_ADDRESS="10.0.0.1"
GREEN_NETMASK="255.255.255.0"
GREEN_NETADDRESS="10.0.0.0"
GREEN_BROADCAST="10.0.0.255"
fi
(
@@ -132,7 +131,6 @@ import_exoscale_configuration() {
echo "GREEN_ADDRESS=${GREEN_ADDRESS}"
echo "GREEN_NETMASK=${GREEN_NETMASK}"
echo "GREEN_NETADDRESS=${GREEN_NETADDRESS}"
echo "GREEN_BROADCAST=${GREEN_BROADCAST}"
echo "GREEN_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;
@@ -146,7 +144,6 @@ import_exoscale_configuration() {
ORANGE_ADDRESS="10.0.1.1"
ORANGE_NETMASK="255.255.255.0"
ORANGE_NETADDRESS="10.0.1.0"
ORANGE_BROADCAST="10.0.1.255"
fi
(
@@ -156,7 +153,6 @@ import_exoscale_configuration() {
echo "ORANGE_ADDRESS=${ORANGE_ADDRESS}"
echo "ORANGE_NETMASK=${ORANGE_NETMASK}"
echo "ORANGE_NETADDRESS=${ORANGE_NETADDRESS}"
echo "ORANGE_BROADCAST=${ORANGE_BROADCAST}"
echo "ORANGE_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;

View File

@@ -142,7 +142,6 @@ import_gcp_configuration() {
# Calculate the network and broadcast addresses
local netaddress="$(to_address $(( ipv4_address_num & netmask_num )))"
local broadcast="$(to_address $(( ipv4_address_num | (0xffffffff ^ netmask_num) )))"
case "${device_number}" in
# RED
@@ -158,7 +157,6 @@ import_gcp_configuration() {
echo "RED_ADDRESS=${ipv4_address}"
echo "RED_NETMASK=${netmask}"
echo "RED_NETADDRESS=${netaddress}"
echo "RED_BROADCAST=${broadcast}"
echo "RED_MTU=${DEFAULT_MTU}"
echo "DEFAULT_GATEWAY=${gateway}"
) >> /var/ipfire/ethernet/settings
@@ -180,7 +178,6 @@ import_gcp_configuration() {
echo "GREEN_ADDRESS=${ipv4_address}"
echo "GREEN_NETMASK=${netmask}"
echo "GREEN_NETADDRESS=${netaddress}"
echo "GREEN_BROADCAST=${broadcast}"
echo "GREEN_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;
@@ -197,7 +194,6 @@ import_gcp_configuration() {
echo "ORANGE_ADDRESS=${ipv4_address}"
echo "ORANGE_NETMASK=${netmask}"
echo "ORANGE_NETADDRESS=${netaddress}"
echo "ORANGE_BROADCAST=${broadcast}"
echo "ORANGE_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;

View File

@@ -147,11 +147,9 @@ import_oci_configuration() {
local prefix="${subnet#*/}"
local netmask="$(prefix2netmask "${prefix}")"
local netmask_num="$(to_integer "${netmask}")"
# Calculate the network and broadcast addresses
local netaddress="${subnet%/*}"
local broadcast="$(to_address $(( ipv4_address_num | (0xffffffff ^ netmask_num) )))"
local index="$(oci_get_interface_param "${id}" "nicIndex")"
@@ -174,7 +172,6 @@ import_oci_configuration() {
echo "RED_ADDRESS=${ipv4_address}"
echo "RED_NETMASK=${netmask}"
echo "RED_NETADDRESS=${netaddress}"
echo "RED_BROADCAST=${broadcast}"
echo "RED_MTU=1500"
echo "DEFAULT_GATEWAY=${gateway}"
) >> /var/ipfire/ethernet/settings
@@ -196,7 +193,6 @@ import_oci_configuration() {
echo "GREEN_ADDRESS=${ipv4_address}"
echo "GREEN_NETMASK=${netmask}"
echo "GREEN_NETADDRESS=${netaddress}"
echo "GREEN_BROADCAST=${broadcast}"
echo "GREEN_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;
@@ -213,7 +209,6 @@ import_oci_configuration() {
echo "ORANGE_ADDRESS=${ipv4_address}"
echo "ORANGE_NETMASK=${netmask}"
echo "ORANGE_NETADDRESS=${netaddress}"
echo "ORANGE_BROADCAST=${broadcast}"
echo "ORANGE_MTU=${DEFAULT_MTU}"
) >> /var/ipfire/ethernet/settings
;;

View File

@@ -22,7 +22,6 @@ eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
if [ "$(basename $0)" == "green" ]; then
DEVICE="${GREEN_DEV}"
ADDRESS="${GREEN_ADDRESS}"
BROADCAST="${GREEN_BROADCAST}"
NETADDRESS="${GREEN_NETADDRESS}"
NETMASK="${GREEN_NETMASK}"
DEVICE="${GREEN_DEV}"
@@ -30,7 +29,6 @@ if [ "$(basename $0)" == "green" ]; then
elif [ "$(basename $0)" == "blue" ]; then
DEVICE="${BLUE_DEV}"
ADDRESS="${BLUE_ADDRESS}"
BROADCAST="${BLUE_BROADCAST}"
NETADDRESS="${BLUE_NETADDRESS}"
NETMASK="${BLUE_NETMASK}"
DEVICE="${BLUE_DEV}"
@@ -38,22 +36,15 @@ elif [ "$(basename $0)" == "blue" ]; then
elif [ "$(basename $0)" == "orange" ]; then
DEVICE="${ORANGE_DEV}"
ADDRESS="${ORANGE_ADDRESS}"
BROADCAST="${ORANGE_BROADCAST}"
NETADDRESS="${ORANGE_NETADDRESS}"
NETMASK="${ORANGE_NETMASK}"
DEVICE="${ORANGE_DEV}"
MTU="${ORANGE_MTU}"
fi
if [ -z "${BROADCAST}" ]; then
boot_mesg "BROADCAST variable missing from input, cannot continue." ${FAILURE}
echo_failure
exit 1
fi
if [ -n "${ADDRESS}" -a -n "${NETMASK}" ]; then
PREFIX=`whatmask ${NETMASK} | grep -e ^CIDR | awk -F': ' '{ print $2 }' | cut -c 2-`
args="${args} ${ADDRESS}/${PREFIX} broadcast ${BROADCAST}"
args="${args} ${ADDRESS}/${PREFIX}"
else
boot_mesg "ADDRESS and/or NETMASK variable missing from input, cannot continue." ${FAILURE}
echo_failure

View File

@@ -51,13 +51,11 @@ fi
if [ "${TYPE}" == "STATIC" ]; then
if [ "${DEVICE}" != "${GREEN_DEV}" ]; then
ADDRESS="${RED_ADDRESS}"
BROADCAST="${RED_BROADCAST}"
NETADDRESS="${RED_NETADDRESS}"
NETMASK="${RED_NETMASK}"
MTU="${RED_MTU}"
else
ADDRESS="${GREEN_ADDRESS}"
BROADCAST="${GREEN_BROADCAST}"
NETADDRESS="${GREEN_NETADDRESS}"
NETMASK="${GREEN_NETMASK}"
MTU="${GREEN_MTU}"
@@ -66,14 +64,9 @@ if [ "${TYPE}" == "STATIC" ]; then
# DNS1
# DNS2
if [ -z "${BROADCAST}" ]; then
boot_mesg "BROADCAST variable missing, cannot continue." ${FAILURE}
echo_failure
exit 1
fi
if [ -n "${ADDRESS}" -a -n "${NETMASK}" ]; then
PREFIX=`whatmask ${NETMASK} | grep -e ^CIDR | awk -F': ' '{ print $2 }' | cut -c 2-`
args="${args} ${ADDRESS}/${PREFIX} broadcast ${BROADCAST}"
args="${args} ${ADDRESS}/${PREFIX}"
else
boot_mesg "ADDRESS and/or NETMASK variable missing from input, cannot continue." ${FAILURE}
echo_failure