FwVM network changes watcher script
This commit is contained in:
		
							parent
							
								
									dc8325f564
								
							
						
					
					
						commit
						bba0e6e1ef
					
				
							
								
								
									
										27
									
								
								fwvm/bin/qubes_netwatcher
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								fwvm/bin/qubes_netwatcher
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | ||||
| #!/bin/bash | ||||
| set -e | ||||
| 
 | ||||
| PIDFILE=/var/run/qubes/qubes_netwatcher.pid | ||||
| CURR_NETCFG="" | ||||
| 
 | ||||
| # PIDfile handling | ||||
| [[ -e $PIDFILE ]] && kill -s 0 $(<$PIDFILE) 2>/dev/null && exit 0 | ||||
| echo $$ >$PIDFILE | ||||
| 
 | ||||
| trap 'exit 0' SIGTERM | ||||
| 
 | ||||
| while true; do | ||||
| 	NET_DOMID=$(/usr/bin/xenstore-read qubes_netvm_domid) | ||||
| 	if [[ -n "$NET_DOMID" ]] && [[ $NET_DOMID -gt 0 ]]; then | ||||
| 		NETCFG=$(/usr/bin/xenstore-read /local/domain/$NET_DOMID/qubes_netvm_external_ip) | ||||
| 		if [[ "$NETCFG" != "$CURR_NETCFG" ]]; then | ||||
| 			/sbin/service qubes_firewall stop | ||||
| 			/sbin/service qubes_firewall start | ||||
| 			CURR_NETCFG="$NETCFG" | ||||
| 		fi | ||||
| 
 | ||||
| 		/usr/bin/xenstore-watch /local/domain/$NET_DOMID/qubes_netvm_external_ip | ||||
| 	else | ||||
| 		/usr/bin/xenstore-watch qubes_netvm_domid | ||||
| 	fi | ||||
| done | ||||
							
								
								
									
										42
									
								
								fwvm/init.d/qubes_netwatcher
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								fwvm/init.d/qubes_netwatcher
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,42 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # chkconfig: 345 92 92 | ||||
| # description: Starts Qubes Network monitor | ||||
| # | ||||
| # Source function library. | ||||
| . /etc/rc.d/init.d/functions | ||||
| 
 | ||||
| PIDFILE=/var/run/qubes/qubes_netwatcher.pid | ||||
| 
 | ||||
| start() | ||||
| { | ||||
| 	echo -n $"Starting Qubes Network monitor:" | ||||
| 	/sbin/ethtool -K eth0 sg off | ||||
| 	/usr/bin/qubes_netwatcher & | ||||
| 	success | ||||
| 	echo "" | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| stop() | ||||
| { | ||||
| 	echo -n "Stopping Qubes Network monitor:" | ||||
| 	kill -9 $(cat $PIDFILE) 2>/dev/null  && success || failure | ||||
| 	echo "" | ||||
| 	return 0 | ||||
| } | ||||
| 
 | ||||
| case "$1" in | ||||
|   start) | ||||
| 	start | ||||
| 	;; | ||||
|   stop) | ||||
| 	stop | ||||
| 	;; | ||||
|   *) | ||||
| 	echo $"Usage: $0 {start|stop}" | ||||
| 	exit 3 | ||||
| 	;; | ||||
| esac | ||||
| 
 | ||||
| exit $RETVAL | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tomasz Sterna
						Tomasz Sterna