Handbook:SPARC/Networking/Extending/ta
தரமான செயற்கூறு கொக்கிகள்
Four functions can be defined in /etc/conf.d/net:
preup()
, called before an interface is brought up;predown()
, called before an interface is brought down;postup()
, called after an interface is brought up; andpostdown()
, called after an interface is brought down.
Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.
The return values for the preup()
and predown()
functions should be:
- 0 to indicate success, and that configuration or de-configuration of the interface can continue.
- A non-zero value otherwise.
If preup()
returns a non-zero value, interface configuration will be aborted. If predown()
returns a non-zero value, the interface will not be allowed to continue de-configuration.
Return values for the postup()
and postdown()
functions are ignored since there's nothing to do if they indicate failure.
${IFACE} ஆனது செயல்படுத்தப்படும்/செயலணைக்கப்படும் இடைமுகத்திற்கு அமைக்கப்பட்டுள்ளது. ${IFVAR} ஆனது பாஷ் ஆல் அனுமதிக்கப்படும் மாறி பெயராக மாற்றப்பட்டுள்ள ${IFACE} ஆகும்.
preup() {
# இடைமுகத்தைச் செயல்பாட்டிற்குக் கொண்டு வருவதற்கு
# முன் அதன் இணைப்பைச் சோதிக்கிறது. இது சில வலையமைப்பு
# தகவிகளில் மட்டுமே வேலை செய்யும். மேலும் இது சரியாக
# வேலை செய்வதற்கு ethtool என்னும் தொகுப்பு நிறுவப்பட்டிருக்க வேண்டும்.
if ethtool ${IFACE} | grep -q 'Link detected: no'; then
ewarn "No link on ${IFACE}, aborting configuration"
return 1
fi
# வெற்றியடைந்த பின் 0 விற்கு திரும்புவதற்கு
return 0
}
predown() {
# NFS root ற்காக சோதித்து, செயலிழக்கும் இடைமுகங்களுக்கான அனுமதியை
# மறுப்பதே இந்த குறுநிரலின் முன்னிருப்பாகும். predown() செயலாற்றியை
# நீங்கள் குறிப்பிட்டால், இந்த ஏரணத்தை நீங்கள் மேலெழுத கூடும் என்பதை
# நினைவில் வைத்துக்கொள்ளவும்.
# இருப்பினும் உங்களுக்கு இது தேவை என்றால், இதோ...
if is_net_fs /; then
eerror "root filesystem is network mounted -- can't stop ${IFACE}"
return 1
fi
# வெற்றியடைந்த பின் 0 விற்கு திரும்புவதற்கு
return 0
}
postup() {
# இந்த செயலாற்றியை கொண்டு ஒரு இயங்குநிலை DNS சேவையைப்
# பதிவு செய்யப் பயன்படுத்தலாம். மேலும், இடைமுகம் செயல்பாட்டிற்கு
# வந்தபின் இதன்மூலம் அஞ்சல்களை அனுப்ப/பெறப் பயன்படுத்தலாம்.
return 0
}
postdown() {
# இந்த செயற்கூறு முழுமை பெறுவதற்காக வேண்டி இங்கு உள்ளது...
# இதில் என்ன வில்லங்கமாகச் செய்யலாம் என்று இன்னும் நான்
# தீர்மானிக்கவில்லை ;-)
return 0
}
செயற்கூறுகளை எழுதுவதைப் பற்றி மேலும் தகவல்களை அறிந்து கொள்ள, /usr/share/doc/netifrc-*/net.example.bz2 ஐ படிக்கவும்
கம்பியில்லா கருவிகள் செயற்கூறு கொக்கிகள்
இது WPA Supplicant உடன் வேலை செய்யாது - ஆனால்
postup()
செயற்கூறில் ${ESSID} மற்றும் ${ESSIDVAR} ஆகிய இரண்டு மாறிகளும் கிடைக்கும்.Two functions can be defined in /etc/conf.d/net:
preassociate()
, called before association.postassociate()
, called after association.
Each of these these functions is called with the interface name, available within each function via the IFACE variable, so that one function can control multiple interfaces.
The return values for the preassociate() function should be:
- 0 to indicate success, and to continue configuration.
- A non-zero value otherwise.
If preassociate()
returns a non-zero value, interface configuration will be aborted.
postassociate()
செயலாற்றியின் திரும்பு மதிப்புகள் தோல்வியைச் சுட்டிக்காட்டினாலும் அவற்றை ஒன்றும் செய்யத் தேவையில்லை என்பதால் அவை தவிர்க்கப்பட்டுள்ளது.
${ESSID} ஆனது முறைமை இணைக்கப்பட்டுள்ள அணுகல் புள்ளியின் ESSID க்கு அமைக்கப்பட்டுள்ளது. ${ESSIDVAR} ஆனது பாஷ் ஆல் அனுமதிக்கப்படும் மாறி பெயராக மாற்றப்பட்டுள்ள ${ESSID} ஆகும்.
preassociate() {
# கீழுள்ளது leap_user_ESSID மற்றும் leap_pass_ESSID ஆகிய
# இரண்டு உள்ளமைவு மாறிகளைச் சேர்க்கிறது. இவை இரண்டும்
# இணைக்கப்படவுள்ள ESSID க்காக உள்ளமைக்கப்பட்டவுடன் நாம்
# CISCO LEAP குறுநிரலை இயக்குவோம்.
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() {
# இந்த செயற்கூறு முழுமை பெருவதற்காக வேண்டி இங்கு உள்ளது...
# இதில் என்ன வில்லங்கமாக செய்யலாம் என்று இன்னும் நான்
# தீர்மானிக்கவில்லை ;-)
return 0
}
predown()
மற்றும் postdown()
செயற்கூறுகளில் ${ESSID} மற்றும் ${ESSIDVAR} ஆனது கிடைக்கவில்லை.தனிப்பயன் செயற்கூறுகளை எழுதுவதைப் பற்றி மேலும் தகவல்களை அறிந்து கொள்ள, /usr/share/doc/netifrc-*/net.example.bz2 ஐ படிக்கவும்.