Handbook:PPC64/Networking/Extending/ko
기본 함수 훅
시작/멈춤 동작과 관련하여 호출하는 네가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수는 인터페이스 이름으로 먼저 호출하여 해당 함수에서 여러 어댑터를 제어할 수 있습니다.
preup()
과 predown()
함수의 반환 값은 인터페이스의 설정 또는 설정 해제를 계속할 수 있다는 의미의 0(성공) 값이어야 합니다. preup()
에서 0값이 아닌 값을 반환하면 인터페이스 설정을 멈춥니다. predown()
에서 0값이 아닌 값을 반환하면 인터페이스 설정 해제를 계속할 수 없습니다.
postup()
과 postdown()
함수의 반환 값은 실패했을 경우 아무런 조치를 취하지 않기 때문에 무시합니다.
${IFACE}는 올리고 내릴 인터페이스 설정 값입니다. ${IFVAR}는 배시에서 허용하는 변수 이름로 바꾼 ${IFACE}입니다.
preup() {
# Test for link on the interface prior to bringing it up. This
# only works on some network adapters and requires the ethtool
# package to be installed.
if ethtool ${IFACE} | grep -q 'Link detected: no'; then
ewarn "No link on ${IFACE}, aborting configuration"
return 1
fi
# Remember to return 0 on success
return 0
}
predown() {
# The default in the script is to test for NFS root and disallow
# downing interfaces in that case. Note that if you specify a
# predown() function you will override that logic. Here it is, in
# case you still want it...
if is_net_fs /; then
eerror "root filesystem is network mounted -- can't stop ${IFACE}"
return 1
fi
# Remember to return 0 on success
return 0
}
postup() {
# This function could be used, for example, to register with a
# dynamic DNS service. Another possibility would be to
# send/receive mail once the interface is brought up.
return 0
}
postdown() {
# This function is mostly here for completeness... I haven't
# thought of anything nifty to do with it yet ;-)
return 0
}
함수 작성에 대해 더 알아보려면 /usr/share/doc/netifrc-*/net.example.bz2를 살펴보십시오.
무선 네트워크 도구 함수 훅
이 부분은 WPA Supplicant와 동작하지 않습니다만 ${ESSID}와 ${ESSIDVAR} 변수는
postup()
함수에서 동작하는 변수입니다.연결 함수와 관련하여 호출하는 두가지 함수를 /etc/conf.d/net에 정의할 수 있습니다. 이 함수는 인터페이스 이름으로 먼저 호출하여 해당 함수에서 여러 어댑터를 제어할 수 있습니다.
preassociate()
함수의 반환 값은 인터페이스 설정 및 설정해제를 계속할 수 있음을 나타내는 0값(성공)이 되어야 합니다. preassociate()
함수에서 0 값이 아닌 값을 반환하면 인터페이스 설정을 멈춥니다.
postassociate()
함수의 반환 값은 실패했을 경우 아무런 조치를 취하지 않기 떄문이 무시합니다.
${ESSID}는 시스템이 연결한 AP에서 제공하는 정확한 ESSID 설정입니다. ${ESSIDVAR}는 배시에서 허용하는 변수 이름으로 바꾼 ${ESSID}입니다.
preassociate() {
# The below adds two configuration variables leap_user_ESSID
# and leap_pass_ESSID. When they are both configured for the ESSID
# being connected to then we run the CISCO LEAP script
local user pass
eval user=\"\$\{leap_user_${ESSIDVAR}\}\"
eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\"
if [[ -n ${user} && -n ${pass} ]]; then
if [[ ! -x /opt/cisco/bin/leapscript ]]; then
eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils"
return 1
fi
einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\""
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then
ewarn "Login Failed for ${user}"
return 1
fi
fi
return 0
}
postassociate() {
# This function is mostly here for completeness... I haven't
# thought of anything nifty to do with it yet
return 0
}
${ESSID}와 ${ESSIDVAR}는
predown()
과 postdown()
함수에서 사용할 수 없습니다.개별 정의 함수 작성에 대해 더 알아보려면 /usr/share/doc/netifrc-*/net.example.bz2를 살펴보십시오.