mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	fix: improve bridge detection in all network interface configuration files (#4413)
* fix: improve bridge detection in all network interface configuration files * removed comments * removed last comment line
This commit is contained in:
		@@ -528,7 +528,37 @@ advanced_settings() {
 | 
				
			|||||||
    exit_script
 | 
					    exit_script
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  BRIDGES=$( ip link show | grep -oP '(?<=: )vmbr\d+' | sort)
 | 
					
 | 
				
			||||||
 | 
					  BRIDGES=""
 | 
				
			||||||
 | 
					  IFACE_FILEPATH_LIST="/etc/network/interfaces"$'\n'$(find "/etc/network/interfaces.d/" -type f)
 | 
				
			||||||
 | 
					  OLD_IFS=$IFS; IFS=$'\n'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for iface_filepath in ${IFACE_FILEPATH_LIST}; do
 | 
				
			||||||
 | 
					    iface_indexes_tmpfile=$(mktemp -q -u '.iface-XXXX')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ( grep -Pn '^\s*iface' "${iface_filepath}" | cut -d':' -f1 && wc -l "${iface_filepath}" | cut -d' ' -f1 ) | \
 | 
				
			||||||
 | 
					    awk 'FNR==1 {line=$0; next} {print line":"$0-1; line=$0}' > "${iface_indexes_tmpfile}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ -f "${iface_indexes_tmpfile}" ]; then
 | 
				
			||||||
 | 
					        while read -r pair; do
 | 
				
			||||||
 | 
					            start=$(echo "${pair}" | cut -d':' -f1)
 | 
				
			||||||
 | 
					            end=$(echo "${pair}" | cut -d':' -f2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if awk "NR >= ${start} && NR <= ${end}" "${iface_filepath}" | grep -qP '^\s*bridge[-_](ports|stp|fd|vlan-aware|vids)\s+'; then
 | 
				
			||||||
 | 
					                iface_name=$(sed "${start}q;d" "${iface_filepath}" | awk '{print $2}')
 | 
				
			||||||
 | 
					                BRIDGES="${iface_name}"$'\n'"${BRIDGES}"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        done < "${iface_indexes_tmpfile}"
 | 
				
			||||||
 | 
					        rm -f "${iface_indexes_tmpfile}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  IFS=$OLD_IFS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  BRIDGES=$(echo "$BRIDGES" | grep -v '^\s*$' | sort | uniq)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -z "$BRIDGES" ]]; then
 | 
					  if [[ -z "$BRIDGES" ]]; then
 | 
				
			||||||
    BRG="vmbr0"
 | 
					    BRG="vmbr0"
 | 
				
			||||||
    echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
 | 
					    echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user