@@ -4,15 +4,16 @@ set -ex
44
55if
66 [ -z " ${DEVICE_NAME} " ] || # name of the device
7- [ -z " ${DEVICE_NUMBER} " ] || # number of the device
7+ [ -z " ${DEVICE_NUMBER} " ] || # index of the device
8+ [ -z " ${NETWORK_CARD_INDEX} " ] || # index of the network card
89 [ -z " ${DEVICE_IP_ADDRESS} " ] || # ip of the device
910 [ -z " ${MAC} " ] || # mac address of the device
1011 [ -z " ${CIDR_BLOCK} " ] # CIDR block of the subnet
1112then
1213 echo ' One or more environment variables missing'
1314 exit 1
1415fi
15- echo " Configuring NIC, Device name: ${DEVICE_NAME} , Device number: ${DEVICE_NUMBER} "
16+ echo " Configuring NIC, Device name: ${DEVICE_NAME} , Device number: ${DEVICE_NUMBER} , Network card index: ${NETWORK_CARD_INDEX} "
1617
1718configuration_directory=" /etc/systemd/network"
1819file_name=" 70-${DEVICE_NAME} .network"
2324
2425cd " $configuration_directory "
2526
26- ROUTE_TABLE=100${DEVICE_NUMBER}
27+ SUFFIX=$( printf " %03d" $NETWORK_CARD_INDEX ) $( printf " %02d" $DEVICE_NUMBER )
28+ ROUTE_TABLE=" $(( $SUFFIX + 10 )) "
2729
2830ln -s /usr/lib/systemd/network/80-ec2.network ${file_name} # Use default EC2 configuration. This include MTU, etc.
2931
3032/bin/cat << EOF > ${sub_directory} /eni.conf
31- # Configuration for ${DEVICE_NUMBER} generated by ParallelCluster
33+ # Configuration for network card: ${NETWORK_CARD_INDEX} , device number: ${DEVICE_NUMBER} generated by ParallelCluster
3234# This is inspired by https://github.com/amazonlinux/amazon-ec2-net-utils/blob/v2.4.1/lib/lib.sh
3335[Match]
3436MACAddress=${MAC}
0 commit comments