1#-------------------------------------------------------------------------
2#  Copyright 2010, NETGEAR
3#  All rights reserved.
4#-------------------------------------------------------------------------
5
6P2P_CLIENT=/opt/p2p/bin/p2pnetclient
7P2P_ZERO=0
8
9#
10# arg: <net.id> <peer.name>
11#
12p2p_connect()
13{
14    # check for localhost connection
15    #local my_name=$(rxml ${REMOTE_CONFIG} /Configuration/AccountInformation/Username)
16	local my_name="local"
17    if [ "x${2}" == "x${my_name}" ]; then
18	PEER_IP="${LOCAL_IP}"
19	return $OK
20    fi    
21
22    log_inf "p2p connect to ${2} in ${1} network"
23    local out=($(${P2P_CLIENT} connect ${1} ${2}))
24    local p2pnet_retval=${out[0]#p2pnet_retval=}
25    log_dbg "p2pnet_retval ${p2pnet_retval}"
26    if [ ${p2pnet_retval} -lt ${P2P_ZERO} ]; then
27	return ${ERROR}
28    fi
29    PEER_IP="${out[1]#p2pnet_peer_ip=}"
30    PEER_IP=$(echo ${PEER_IP} | tr -d '\015')
31    log_inf "p2p peer ip is: ${PEER_IP}"
32    return $OK
33}
34
35#
36# arg: <net.id> <peer.name>
37#
38p2p_disconnect()
39{
40    # check for localhost connection
41    local my_name=$(rxml ${REMOTE_CONFIG} /Configuration/AccountInformation/Username)
42    if [ "x${2}" == "x${my_name}" ]; then
43	PEER_IP=""
44	return $OK
45    fi    
46    
47    if [ "x${PEER_IP}" != "x" ]; then
48        log_inf "p2p disconnect with ${2} in ${1} network"
49    fi
50    local out=($(${P2P_CLIENT} disconnect ${1} ${2}))
51    PEER_IP=""
52    return $OK
53}
54
55#
56# arg: -
57#
58p2p_set_local_ip()
59{
60    local out=($(${P2P_CLIENT} getlocalip))
61    local p2pnet_retval=${out[0]#p2pnet_retval=}
62    [ "x${p2pnet_retval}" == "x" ] && p2pnet_retval=-1000
63    if [ ${p2pnet_retval} -lt ${P2P_ZERO} ]; then
64	return ${ERROR}
65    fi
66    LOCAL_IP="${out[1]#p2pnet_local_ip=}"
67    LOCAL_IP=$(echo ${LOCAL_IP} | tr -d '\015')
68    log_dbg "p2p local ip is: ${LOCAL_IP}"
69    return $OK
70}
71