From fa5d51c238af3c1349099d5861b0dc08157b52f3 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Thu, 11 Oct 2007 07:27:38 +1000 Subject: [PATCH] move the kill_tcp_connections() function from 10.interfaces to functions (This used to be ctdb commit 055948530fb16bf49c42fc4489f29a21665156c0) --- ctdb/config/events.d/10.interface | 38 ----------------------------- ctdb/config/functions | 40 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 38 deletions(-) diff --git a/ctdb/config/events.d/10.interface b/ctdb/config/events.d/10.interface index 7d95a198373..9fa4166ac0b 100755 --- a/ctdb/config/events.d/10.interface +++ b/ctdb/config/events.d/10.interface @@ -20,44 +20,6 @@ shift exit 0 } -################################################ -# kill off any TCP connections with the given IP -kill_tcp_connections() { - _IP="$1" - _failed=0 - - _killcount=0 - connfile="$CTDB_BASE/state/connections.$_IP" - netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" | awk '{print $4" "$5}' > $connfile - while read dest src; do - srcip=`echo $src | cut -d: -f1` - srcport=`echo $src | cut -d: -f2` - destip=`echo $dest | cut -d: -f1` - destport=`echo $dest | cut -d: -f2` - ctdb killtcp $srcip:$srcport $destip:$destport >/dev/null 2>&1 || _failed=1 - echo "`date` Killing TCP connection $srcip:$srcport $destip:$destport" - _killcount=`expr $_killcount + 1` - done < $connfile - /bin/rm -f $connfile - [ $_failed = 0 ] || { - echo "`date` Failed to send killtcp control" - return; - } - [ $_killcount -gt 0 ] || { - return; - } - _count=0 - while netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" > /dev/null; do - sleep 1 - _count=`expr $_count + 1` - [ $_count -gt 3 ] && { - echo "`date` Timed out killing tcp connections for IP $_IP" - return; - } - done - echo "`date` killed $_killcount TCP connections to released IP $_IP" -} - case $cmd in ############################# # called when ctdbd starts up diff --git a/ctdb/config/functions b/ctdb/config/functions index 3c39addc02a..d62a0bc07f3 100644 --- a/ctdb/config/functions +++ b/ctdb/config/functions @@ -183,3 +183,43 @@ ctdb_check_command() { exit 1 } } + +################################################ +# kill off any TCP connections with the given IP +################################################ +kill_tcp_connections() { + _IP="$1" + _failed=0 + + _killcount=0 + connfile="$CTDB_BASE/state/connections.$_IP" + netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" | awk '{print $4" "$5}' > $connfile + while read dest src; do + srcip=`echo $src | cut -d: -f1` + srcport=`echo $src | cut -d: -f2` + destip=`echo $dest | cut -d: -f1` + destport=`echo $dest | cut -d: -f2` + ctdb killtcp $srcip:$srcport $destip:$destport >/dev/null 2>&1 || _failed=1 + echo "`date` Killing TCP connection $srcip:$srcport $destip:$destport" + _killcount=`expr $_killcount + 1` + done < $connfile + /bin/rm -f $connfile + [ $_failed = 0 ] || { + echo "`date` Failed to send killtcp control" + return; + } + [ $_killcount -gt 0 ] || { + return; + } + _count=0 + while netstat -tn |egrep "^tcp.*\s+$_IP:.*ESTABLISHED" > /dev/null; do + sleep 1 + _count=`expr $_count + 1` + [ $_count -gt 3 ] && { + echo "`date` Timed out killing tcp connections for IP $_IP" + return; + } + done + echo "`date` killed $_killcount TCP connections to released IP $_IP" +} + -- 2.47.3