3 UDPv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
4 UDPv6 SOCK state=close laddr=[::1]:23456 close dgram 0 ::1 :: [::1]:23456 23456 [::]:0 0
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
+ 3 UDPLITEv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
+ 4 UDPLITEv6 SOCK state=established laddr=[::1]:23456 raddr=[::1]:34567 established dgram 0 ::1 ::1 [::1]:23456 23456 [::1]:34567 34567
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+ 3 UDPLITEv6 SOCK 0
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
+NAME pattern match: OK
+ 4 UDPLITEv6 SOCK established dgram 0 ::1 ::1 [::1]:34567 34567
+ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.RADDR,UDPLite.RPORT: 0
+LADDR/LPORT pattern match: OK
+ 3 UDPLITEv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
+ 4 UDPLITEv6 SOCK state=close laddr=[::1]:23456 close dgram 0 ::1 :: [::1]:23456 23456 [::]:0 0
+ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
# GNU General Public License for more details.
#
TS_TOPDIR="${0%/*}/../.."
-TS_DESC="UDP6 sockets"
+TS_DESC="UDP6 and UDPLITEv6 sockets"
. "$TS_TOPDIR"/functions.sh
ts_init "$*"
PID=
FDS=3
FDC=4
-EXPR='(TYPE == "UDPv6") and (FD >= 3) and (FD <= 4)'
-EXPR_server='(TYPE == "UDPv6") and (FD == 3)'
-EXPR_client='(TYPE == "UDPv6") and (FD == 4)'
+EXPR=(
+ '(TYPE == "UDPv6") and (FD >= 3) and (FD <= 4)'
+ '(TYPE == "UDPLITEv6") and (FD >= 3) and (FD <= 4)'
+)
+EXPR_server=(
+ '(TYPE == "UDPv6") and (FD == 3)'
+ '(TYPE == "UDPLITEv6") and (FD == 3)'
+)
+EXPR_client=(
+ '(TYPE == "UDPv6") and (FD == 4)'
+ '(TYPE == "UDPLITEv6") and (FD == 4)'
+)
+COLNS=(
+ 'UDP'
+ 'UDPLite'
+ )
NAME=
LADDR=
LPORT=
-{
+for lite in 0 1; do
coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $FDS $FDC \
server-port=34567 \
- client-port=23456 ; }
+ client-port=23456 \
+ lite=$lite; }
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
- -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
- -p "${PID}" -Q "${EXPR}"
- echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+ -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+ -p "${PID}" -Q "${EXPR[$lite]}"
+ echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
kill -CONT "${PID}"
wait "${MKFDS_PID}"
coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $FDS $FDC \
server-port=34567 \
client-port=23456 \
- server-do-bind=no; }
+ server-do-bind=no \
+ lite=$lite; }
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
- -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
- -p "${PID}" -Q "${EXPR_server}"
- echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+ -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+ -p "${PID}" -Q "${EXPR_server[$lite]}"
+ echo "ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
NAME=$(${TS_CMD_LSFD} -n \
--raw \
-o NAME \
- -p "${PID}" -Q "${EXPR_server}")
+ -p "${PID}" -Q "${EXPR_server[$lite]}")
if [[ "$NAME" =~ ^socket:\[[[:digit:]]+\]$ ]]; then
echo "NAME pattern match: OK"
else
coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $FDS $FDC \
server-port=34567 \
client-port=23456 \
- client-do-bind=no; }
+ client-do-bind=no \
+ lite=$lite; }
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
- -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.RADDR,UDP.RPORT \
- -p "${PID}" -Q "${EXPR_client}"
- echo 'ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.RADDR,UDP.RPORT': $?
+ -o ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+ -p "${PID}" -Q "${EXPR_client[$lite]}"
+ echo "ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
LADDR=$(${TS_CMD_LSFD} -n \
--raw \
- -o UDP.LADDR \
- -p "${PID}" -Q "${EXPR_client}")
+ -o ${COLNS[$lite]}.LADDR \
+ -p "${PID}" -Q "${EXPR_client[$lite]}")
LPORT=$(${TS_CMD_LSFD} -n \
--raw \
- -o UDP.LPORT \
- -p "${PID}" -Q "${EXPR_client}")
+ -o ${COLNS[$lite]}.LPORT \
+ -p "${PID}" -Q "${EXPR_client[$lite]}")
if [[ '[::1]':$LPORT == "${LADDR}" ]]; then
echo "LADDR/LPORT pattern match: OK"
coproc MKFDS { "$TS_HELPER_MKFDS" udp6 $FDS $FDC \
server-port=34567 \
client-port=23456 \
- client-do-connect=no; }
+ client-do-connect=no \
+ lite=$lite; }
if read -r -u "${MKFDS[0]}" PID; then
${TS_CMD_LSFD} -n \
- -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT \
- -p "${PID}" -Q "${EXPR}"
- echo 'ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT': $?
+ -o ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT \
+ -p "${PID}" -Q "${EXPR[$lite]}"
+ echo "ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,${COLNS[$lite]}.LADDR,${COLNS[$lite]}.LPORT,${COLNS[$lite]}.RADDR,${COLNS[$lite]}.RPORT": $?
kill -CONT "${PID}"
wait "${MKFDS_PID}"
fi
-} > "$TS_OUTPUT" 2>&1
+done > "$TS_OUTPUT" 2>&1
ts_finalize