components/open-fabrics/rds-tools/patches/001-rds-tools-solaris_port.patch
author boris.chiu@oracle.com
Fri, 01 Apr 2016 15:20:17 -0700
changeset 5708 49b43e37ce26
parent 1513 components/open-fabrics/rds-tools/patches/base.patch@594764ea1267
child 5787 c0615d62b41a
permissions -rw-r--r--
PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates 21132063 Solaris OFUV tools/libs should handle EDR/FDR speed based cards properly 21845415 OFUV mad utilities and libraries need to be upgraded to OFED 3.18 21850735 OFUV verbs and mlx4 libraries need to be upgraded to OFED 3.18 21850928 OFUV librdmacm need to be upgraded to OFED 3.18 22213636 problem in UTILITY/OFUV_TOOLS 22219198 librdmacm: cmtime gets segmentation fault when given invalid argument with -b 22271413 ibnetdiscover has segmentation fault when link state is at 2 22641297 shared pd and fmr in solaris should be in sync with those in uek 22642557 Upgrading to OFED 3.18 requires bumping Solaris ABI version number 22652208 qperf needs to be upgraded to latest(0.4.9) 22689609 qperf returns failed to receive results: timed out for ud_bw tests 22826204 PSID ID string size in uverbs_ioctl.h should reflect kernel sizes (userland) 22912559 libsif needs to support OFED 3.18 22947813 test_verbs TEST_VERB_SRQ failed on PSIF
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5708
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     1
#This patch was developed both in-house and from outside. We plan to submit it
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     2
#upstream, but do not yet have a target date for doing so
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     3
#
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     4
# HG changeset patch
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     5
# Parent  1afa90e87b4b0fcc3ccef29f1029fa7d1628f389
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     6
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     7
diff -r 1afa90e87b4b Makefile.in
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     8
--- a/Makefile.in	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
     9
+++ b/Makefile.in	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    10
@@ -4,18 +4,22 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    11
 mandir		= $(DESTDIR)@mandir@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    12
 incdir		= $(DESTDIR)@includedir@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    13
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    14
+CC=gcc
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    15
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    16
 all: all-programs
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    17
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    18
-CFLAGS = -O2 -Wall -Iinclude
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    19
-CPPFLAGS = -DDEBUG_EXE -DRDS_VERSION=\"@VERSION@\" -MD -MP -MF $(@D)/.$(basename $(@F)).d
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    20
+CFLAGS += -O2 -Wall -Iinclude
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    21
+CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    22
+	-DDEBUG_EXE -DRDS_VERSION=\"@VERSION@\" -MD -MP -MF $(@D)/.$(basename $(@F)).d
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    23
+LDFLAGS += -libverbs -lsocket -lnsl -llgrp
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    24
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    25
 HEADERS = kernel-list.h pfhack.h include/rds.h
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    26
-COMMON_SOURCES = pfhack.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    27
+COMMON_SOURCES = pfhack.c rds-vendor.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    28
 SOURCES = $(addsuffix .c,$(PROGRAMS)) $(COMMON_SOURCES)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    29
 CLEAN_OBJECTS = $(addsuffix .o,$(PROGRAMS)) $(subst .c,.o,$(COMMON_SOURCES))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    30
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    31
 # This is the default
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    32
-DYNAMIC_PF_RDS = true
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    33
+#DYNAMIC_PF_RDS = true
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    34
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    35
 ifneq ($(DYNAMIC_PF_RDS),)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    36
 CPPFLAGS += -DDYNAMIC_PF_RDS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    37
@@ -29,14 +33,14 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    38
 all-programs: $(PROGRAMS)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    39
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    40
 install: $(PROGRAMS)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    41
-	install -d $(bindir)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    42
-	install -m 555 -s $(PROGRAMS) $(bindir)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    43
-	install -d $(mandir)/man1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    44
-	install -d $(mandir)/man7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    45
-	install -m 644 *.1 $(mandir)/man1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    46
-	install -m 644 *.7 $(mandir)/man7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    47
-	install -d $(incdir)/net
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    48
-	install -m 444 include/rds.h $(incdir)/net
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    49
+	$(INSTALL) -d $(bindir)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    50
+	$(INSTALL) -m 755 -s $(PROGRAMS) $(bindir)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    51
+	$(INSTALL) -d $(mandir)/man1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    52
+	$(INSTALL) -d $(mandir)/man7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    53
+	$(INSTALL) -m 644 *.1 $(mandir)/man1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    54
+	$(INSTALL) -m 644 *.7 $(mandir)/man7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    55
+	$(INSTALL) -d $(incdir)/net
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    56
+	$(INSTALL) -m 444 include/rds.h $(incdir)/net
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    57
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    58
 clean:
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    59
 	rm -f $(PROGRAMS) $(CLEAN_OBJECTS)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    60
@@ -47,7 +51,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    61
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    62
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    63
 $(PROGRAMS) : % : %.o $(COMMON_OBJECTS)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    64
-	gcc $(CFLAGS) $(LDFLAGS) -o $@ $^
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    65
+	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    66
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    67
 LOCAL_DFILES := $(wildcard .*.d)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    68
 ifneq ($(LOCAL_DFILES),)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    69
@@ -72,8 +76,6 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    70
 		configure \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    71
 		README \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    72
 		rds-tools.txt \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    73
-		stap/rds.stp \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    74
-		stap/README \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    75
 		docs/rds-architecture.txt \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    76
 		examples/Makefile \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    77
 		examples/rds-sample.c \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    78
diff -r 1afa90e87b4b configure
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    79
--- a/configure	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    80
+++ b/configure	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    81
@@ -1215,7 +1215,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    82
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    83
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    84
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    85
-VERSION=2.0.4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    86
+VERSION=2.0.7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    87
 RELEASE=1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    88
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    89
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    90
diff -r 1afa90e87b4b configure.in
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    91
--- a/configure.in	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    92
+++ b/configure.in	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    93
@@ -1,7 +1,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    94
 AC_PREREQ(2.55)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    95
 AC_INIT()
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    96
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    97
-VERSION=2.0.4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    98
+VERSION=2.0.7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    99
 RELEASE=1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   100
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   101
 AC_SUBST(VERSION)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   102
diff -r 1afa90e87b4b examples/Makefile
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   103
--- a/examples/Makefile	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   104
+++ b/examples/Makefile	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   105
@@ -1,6 +1,12 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   106
+CC=gcc
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   107
+LIBS = -lsocket -lnsl
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   108
+CPPFLAGS += -D_XOPEN_SOURCE=500 -D__EXTENSIONS__
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   109
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   110
 all: rds-sample
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   111
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   112
-rds-sample: rds-sample.o
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   113
+rds-sample: rds-sample.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   114
+	$(CC) $(CPPFLAGS) $(CFLAGS) -o rds-sample rds-sample.c $(LIBS)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   115
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   116
-CFLAGS = -I ../include
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   117
+clean:
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   118
+	rm -rf rds-sample
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   119
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   120
diff -r 1afa90e87b4b examples/rds-sample.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   121
--- a/examples/rds-sample.c	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   122
+++ b/examples/rds-sample.c	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   123
@@ -26,6 +26,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   124
 #include <string.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   125
 #include <stdlib.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   126
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   127
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   128
 /* FIXME - this is a hack to getaround RDS not exporting any header files.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   129
  * This is a local copy of the file found at net/rds/
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   130
  */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   131
@@ -33,6 +34,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   132
 /* These are defined in rds.h....but that file is not happily included */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   133
 #define SOL_RDS		272
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   134
 #define PF_RDS		28
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   135
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   136
+#include <sys/rds.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   137
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   138
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   139
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   140
 #define TESTPORT	4000
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   141
@@ -107,12 +111,12 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   142
 	cmsg->cmsg_type = RDS_CMSG_RDMA_ARGS;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   143
 	cmsg->cmsg_len = CMSG_LEN(sizeof(struct rds_rdma_args));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   144
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   145
-	iov.addr = (uint64_t) buf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   146
+	iov.addr = (uint64_t)(uintptr_t)buf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   147
 	iov.bytes = sizeof(struct rdss_message);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   148
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   149
 	args->remote_vec.addr = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   150
 	args->remote_vec.bytes = sizeof(struct rdss_message);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   151
-	args->local_vec_addr = (uint64_t) &iov;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   152
+	args->local_vec_addr = (uint64_t)(uintptr_t)&iov;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   153
 	args->nr_local = 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   154
 	args->flags = remote_flags ? (RDS_RDMA_READWRITE | RDS_RDMA_FENCE) : 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   155
 	args->flags |= RDS_RDMA_NOTIFY_ME;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   156
@@ -244,9 +248,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   157
 	void *ctlbuf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   158
 	struct iovec *iov;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   159
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   160
-	mr_args.vec.addr = (uint64_t) buf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   161
+	mr_args.vec.addr = (uint64_t)(uintptr_t)buf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   162
 	mr_args.vec.bytes = sizeof(struct rdss_message);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   163
-	mr_args.cookie_addr = (uint64_t) cookie;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   164
+	mr_args.cookie_addr = (uint64_t)(uintptr_t)cookie;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   165
 	mr_args.flags = RDS_RDMA_USE_ONCE;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   166
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   167
 	ctlbuf = calloc(1, CMSG_SPACE(sizeof(mr_args)));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   168
diff -r 1afa90e87b4b include/rds.h
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   169
--- a/include/rds.h	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   170
+++ b/include/rds.h	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   171
@@ -84,6 +84,8 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   172
 #define RDS_CMSG_CONG_UPDATE		5
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   173
 #define RDS_CMSG_ATOMIC_FADD		6
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   174
 #define RDS_CMSG_ATOMIC_CSWP		7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   175
+#define	RDS_CMSG_MASKED_ATOMIC_FADD	8
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   176
+#define	RDS_CMSG_MASKED_ATOMIC_CSWP	9
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   177
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   178
 #define RDS_INFO_FIRST			10000
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   179
 #define RDS_INFO_COUNTERS		10000
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   180
@@ -252,8 +254,25 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   181
 	rds_rdma_cookie_t cookie;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   182
 	uint64_t 	local_addr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   183
 	uint64_t 	remote_addr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   184
-	uint64_t	swap_add;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   185
-	uint64_t	compare;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   186
+	union {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   187
+		struct {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   188
+			uint64_t	compare;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   189
+			uint64_t	swap;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   190
+		} cswp;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   191
+		struct {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   192
+			uint64_t	add;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   193
+		} fadd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   194
+		struct {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   195
+			uint64_t	compare;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   196
+			uint64_t	swap;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   197
+			uint64_t	compare_mask;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   198
+			uint64_t	swap_mask;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   199
+		} m_cswp;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   200
+		struct {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   201
+			uint64_t	add;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   202
+			uint64_t	nocarry_mask;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   203
+		} m_fadd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   204
+	};
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   205
 	u_int64_t	flags;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   206
 	u_int64_t	user_token;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   207
 };
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   208
@@ -278,5 +297,6 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   209
 #define RDS_RDMA_USE_ONCE	0x0008	/* free MR after use */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   210
 #define RDS_RDMA_DONTWAIT	0x0010	/* Don't wait in SET_BARRIER */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   211
 #define RDS_RDMA_NOTIFY_ME	0x0020	/* Notify when operation completes */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   212
+#define RDS_RDMA_SILENT		0x0040	/* Do not interrupt remote */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   213
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   214
 #endif /* IB_RDS_H */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   215
diff -r 1afa90e87b4b pfhack.h
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   216
--- a/pfhack.h	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   217
+++ b/pfhack.h	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   218
@@ -44,9 +44,11 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   219
 #ifndef __PF_HACK_H
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   220
 #define __PF_HACK_H
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   221
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   222
+#if !((defined(__SVR4) && defined(__sun)))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   223
 #define PF_RDS		21
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   224
 #define AF_RDS		21
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   225
 #define SOL_RDS		276
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   226
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   227
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   228
 extern int discover_pf_rds();
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   229
 extern int discover_sol_rds();
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   230
diff -r 1afa90e87b4b rds-info.1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   231
--- a/rds-info.1	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   232
+++ b/rds-info.1	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   233
@@ -1,162 +1,160 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   234
-.Dd October 30, 2006
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   235
-.Dt RDS-INFO 1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   236
-.Os
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   237
-.Sh NAME
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   238
-.Nm rds-info
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   239
-.Nd display information from the RDS kernel module
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   240
-.Pp
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   241
-.Sh SYNOPSIS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   242
-.Nm rds-info
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   243
-.Op Fl v
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   244
-.Bk -words
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   245
-.Op Fl cknrstIT
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   246
+.TH RDS-INFO 1 "October 30, 2006"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   247
+.SH "NAME"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   248
+rds-info - display information from the RDS kernel module
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   249
+.SH SYNOPSIS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   250
+.B rds-info [-cknrstIT]
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   251
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   252
-.Sh DESCRIPTION
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   253
-The
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   254
-.Nm
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   255
-utility presents various sources of information that
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   256
+.SH DESCRIPTION
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   257
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   258
+The utility presents various sources of information that
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   259
 the RDS kernel module maintains.  When run without any optional arguments
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   260
-.Nm
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   261
 will output all the information it knows of.  When options are specified then
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   262
 only the information associated with those options is displayed.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   263
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   264
 The options are as follows:
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   265
-.Bl -tag -width Ds
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   266
-.It Fl v
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   267
+.SH OPTIONS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   268
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   269
+.TP 7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   270
+\fB\-v
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   271
 Requests verbose output. When this option is given, some classes of information
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   272
 will display additional data.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   273
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   274
-.It Fl c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   275
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   276
+\fB\-c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   277
 Display global counters.  Each counter increments as its event
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   278
 occurs.  The counters may not be reset.  The set of supported counters
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   279
 may change over time.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   280
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   281
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   282
-.It CounterName
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   283
+.IP	CounterName
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   284
 The name of the counter.  These names come from the kernel and can change
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   285
 depending on the capability of the kernel module.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   286
-.It Value
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   287
+.IP 	Value
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   288
 The number of times that the counter has been incremented since the kernel
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   289
 module was loaded.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   290
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   291
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   292
-.It Fl k
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   293
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   294
+\fB\-k\fR
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   295
 Display all the RDS sockets in the system.  There will always be one socket
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   296
 listed that is neither bound to nor connected to any addresses because
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   297
-.Nm
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   298
 itself uses an unbound socket to collect information.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   299
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   300
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   301
-.It BoundAddr, BPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   302
+.IP	BoundAddr, BPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   303
 The IP address and port that the socket is bound to.  0.0.0.0 0 indicates that
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   304
 the socket has not been bound.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   305
-.It ConnAddr, CPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   306
+.IP	ConnAddr, CPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   307
 The IP address and port that the socket is connected to.  0.0.0.0 0 indicates
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   308
 that the socket has not been connected.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   309
-.It SndBuf, RcvBuf
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   310
+.IP	SndBuf, RcvBuf
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   311
 The number of bytes of message payload which can be queued for sending or
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   312
 receiving on the socket, respectively.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   313
-.It Inode
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   314
+.IP	Inode
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   315
 The number of the inode object associated with the socket. Can be used to
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   316
 locate the process owning a given socket by searching /proc/*/fd for
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   317
 open files referencing a socket with this inode number.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   318
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   319
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   320
-.It Fl n
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   321
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   322
+\fB\-n\fR
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   323
 Display all RDS connections.  RDS connections are maintained between
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   324
 nodes by transports.  
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   325
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   326
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   327
-.It LocalAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   328
+.IP	LocalAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   329
 The IP address of this node.  For connections that originate and terminate on
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   330
 the same node the local address indicates which address initiated the
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   331
 connection establishment.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   332
-.It RemoteAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   333
+.IP	RemoteAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   334
 The IP address of the remote end of the connection.  
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   335
-.It NextTX
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   336
+.IP	Tos
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   337
+The type of service value for this connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   338
+.IP	NextTX
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   339
 The sequence number that will be given to the next message that is sent
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   340
 over the connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   341
-.It NextRX
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   342
+.IP	NextRX
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   343
 The sequence number that is expected from the next message to arrive over
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   344
 the connection.  Any incoming messages with sequence numbers less than this
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   345
 will be dropped.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   346
-.It Flg
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   347
+.IP	Flg
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   348
 Flags which indicate the state of the connection. 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   349
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   350
-.It s
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   351
-A process is currently sending a message down the connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   352
-.It c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   353
-The transport is attempting to connect to the remote address.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   354
-.It C
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   355
-The connection to the remote host is connected and active.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   356
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   357
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   358
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   359
-.It Fl r, Fl s, Fl t
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   360
+.IP 		s
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   361
+	A process is currently sending a message down
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   362
+	the connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   363
+.IP 		c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   364
+	The transport is attempting to connect to the
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   365
+	remote address.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   366
+.IP 		C
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   367
+	The connection to the remote host is connected
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   368
+	and active.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   369
+.IP 		E
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   370
+	The connection to the remote host is in error.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   371
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   372
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   373
+\fB\-r\fR, \fB\-s\fR, \fB\-t\fR
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   374
 Display the messages in the receive, send, or retransmit queues respectively.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   375
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   376
-.It LocalAddr, LPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   377
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   378
+.IP	LocalAddr, LPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   379
 The local IP address and port on this node associated with the message. For
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   380
 sent messages this is the source address, for receive messages it is the
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   381
 destination address.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   382
-.It RemoteAddr, RPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   383
+.IP	RemoteAddr, RPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   384
 The remote IP address and port associated with the message. For sent messages
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   385
 this is the destination address, for receive messages it is the source address.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   386
-.It Seq
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   387
+.IP	Tos
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   388
+The type of service for this message.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   389
+.IP	Seq
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   390
 The sequence number of the message.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   391
-.It Bytes
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   392
+.IP	Bytes
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   393
 The number of bytes in the message payload.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   394
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   395
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   396
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   397
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   398
 The following information sources are dependent on specific transports which
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   399
 may not always be available. 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   400
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   401
-.It Fl I
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   402
+.TP 7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   403
+\fB\-I\fR
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   404
 Display the IB connections which the IB transport is using to provide
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   405
 RDS connections.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   406
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   407
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   408
-.It LocalAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   409
+.IP	LocalAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   410
 The local IP address of this connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   411
-.It RemoteAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   412
+.IP	RemoteAddr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   413
 The remote IP address of this connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   414
-.It LocalDev
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   415
+.IP	Tos
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   416
+The type of service value for this connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   417
+.IP	SL
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   418
+The QoS Service Level for this connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   419
+.IP	LocalDev
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   420
 The local IB Global Identifier, printed in IPv6 address syntax.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   421
-.It RemoteDev
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   422
+.IP	RemoteDev
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   423
 The remote IB Global Identifier, printed in IPv6 address syntax.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   424
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   425
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   426
 If verbose output is requested, per-connection settings such as the
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   427
 maximum number of send and receive work requests will be displayed
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   428
 in addition.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   429
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   430
-.It Fl T
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   431
+.TP 7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   432
+\fB\-T\fR
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   433
 Display the TCP sockets which the TCP transport is using to provide
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   434
 RDS connections.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   435
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   436
-.Bl -tag -width 4
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   437
-.It LocalAddr, LPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   438
+.IP	LocalAddr, LPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   439
 The local IP address and port of this socket.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   440
-.It RemoteAddr, RPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   441
+.IP	RemoteAddr, RPort
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   442
 The remote IP address and port that this socket is connected to.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   443
-.It HdrRemain
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   444
+.IP	HdrRemain
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   445
 The number of bytes that must be read off the socket to complete the next
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   446
 full RDS header.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   447
-.It DataRemain
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   448
+.IP	DataRemain
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   449
 The number of bytes that must be read off the socket to complete the data
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   450
 payload of the message which is being received.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   451
-.It SentNxt
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   452
+.IP	SentNxt
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   453
 The TCP sequence number of the first byte of the last message that we sent
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   454
 down the connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   455
-.It ExpectedUna
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   456
+.IP	ExpectedUna
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   457
 The TCP sequence number of the byte past the last byte of the last message
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   458
 that we sent down the connection.  When we see that the remote side has
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   459
 acked up to this byte then we know that the remote side has received all
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   460
 our RDS messages.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   461
-.It SeenUna
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   462
+.IP	SeenUna
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   463
 The TCP sequence number of the byte past the last byte which has been
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   464
 acked by the remote host.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   465
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   466
-
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   467
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   468
-.Pp
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   469
diff -r 1afa90e87b4b rds-info.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   470
--- a/rds-info.c	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   471
+++ b/rds-info.c	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   472
@@ -42,16 +42,28 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   473
 #include <sys/types.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   474
 #include <sys/socket.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   475
 #include <errno.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   476
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   477
+#include <strings.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   478
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   479
 #include <string.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   480
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   481
 #include <inttypes.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   482
 #include <netinet/in.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   483
 #include <arpa/inet.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   484
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   485
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   486
+#include <sys/rds.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   487
+#include <infiniband/ofa_solaris.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   488
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   489
 #include "rds.h"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   490
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   491
 #include "pfhack.h"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   492
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   493
+/* WHUPS changed the struct rds_info_connection definition b/w rds in 1.4 & 1.5. gotta support both
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   494
+   for now. TODO remove check of transport[15] once ofed pre-1.5 is extinct. */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   495
 #define rds_conn_flag(conn, flag, letter) \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   496
-	(conn.flags & RDS_INFO_CONNECTION_FLAG_##flag ? letter : '-')
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   497
+	(conn.flags & RDS_INFO_CONNECTION_FLAG_##flag \
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   498
+	|| conn.transport[15] & RDS_INFO_CONNECTION_FLAG_##flag ? letter : '-')
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   499
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   500
 #define min(a, b) (a < b ? a : b)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   501
 #define array_size(foo) (sizeof(foo) / sizeof(foo[0]))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   502
@@ -76,6 +88,10 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   503
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   504
 char *progname = "rds-info";
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   505
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   506
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   507
+int sol_ioctl(int, int, struct rds_info_arg *, socklen_t *, int *);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   508
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   509
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   510
 /* Like inet_ntoa, but can be re-entered several times without clobbering
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   511
  * the previously returned string. */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   512
 static const char *paddr(int af, const void *addrp)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   513
@@ -134,18 +150,20 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   514
 {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   515
 	struct rds_info_connection conn;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   516
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   517
-	printf("\nRDS Connections:\n%15s %15s %16s %16s %3s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   518
-		"LocalAddr", "RemoteAddr", "NextTX", "NextRX", "Flg");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   519
+	printf("\nRDS Connections:\n%15s %15s %4s %16s %16s %4s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   520
+		"LocalAddr", "RemoteAddr", "Tos", "NextTX", "NextRX", "Flgs");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   521
 	
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   522
 	for_each(conn, data, each, len) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   523
-		printf("%15s %15s %16"PRIu64" %16"PRIu64" %c%c%c\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   524
+		printf("%15s %15s %4u %16"PRIu64" %16"PRIu64" %c%c%c%c\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   525
 			ipv4addr(conn.laddr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   526
 			ipv4addr(conn.faddr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   527
+			conn.tos,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   528
 			conn.next_tx_seq,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   529
 			conn.next_rx_seq,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   530
 			rds_conn_flag(conn, SENDING, 's'),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   531
 			rds_conn_flag(conn, CONNECTING, 'c'),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   532
-			rds_conn_flag(conn, CONNECTED, 'C'));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   533
+			rds_conn_flag(conn, CONNECTED, 'C'),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   534
+			rds_conn_flag(conn, ERROR, 'E'));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   535
 	}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   536
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   537
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   538
@@ -153,16 +171,17 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   539
 {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   540
 	struct rds_info_message msg;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   541
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   542
-	printf("\n%s Message Queue:\n%15s %5s %15s %5s %16s %10s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   543
+	printf("\n%s Message Queue:\n%15s %5s %15s %5s %4s %16s %10s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   544
 		(char *)extra,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   545
-		"LocalAddr", "LPort", "RemoteAddr", "RPort", "Seq", "Bytes");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   546
+		"LocalAddr", "LPort", "RemoteAddr", "RPort", "Tos","Seq", "Bytes");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   547
 	
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   548
 	for_each(msg, data, each, len) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   549
-		printf("%15s %5u %15s %5u %16"PRIu64" %10u\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   550
+		printf("%15s %5u %15s %5u %4u %16"PRIu64" %10u\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   551
 			ipv4addr(msg.laddr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   552
 			ntohs(msg.lport),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   553
 			ipv4addr(msg.faddr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   554
 			ntohs(msg.fport),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   555
+			msg.tos,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   556
 			msg.seq, msg.len);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   557
 	}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   558
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   559
@@ -191,13 +210,14 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   560
 {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   561
 	struct rds_info_rdma_connection ic;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   562
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   563
-	printf("\nRDS IB Connections:\n%15s %15s %32s %32s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   564
-		"LocalAddr", "RemoteAddr", "LocalDev", "RemoteDev");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   565
+	printf("\nRDS IB Connections:\n%15s %15s %4s %3s %32s %32s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   566
+		"LocalAddr", "RemoteAddr", "Tos", "SL", "LocalDev", "RemoteDev");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   567
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   568
 	for_each(ic, data, each, len) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   569
-		printf("%15s %15s %32s %32s",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   570
+		printf("%15s %15s %4u %3u %32s %32s",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   571
 			ipv4addr(ic.src_addr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   572
 			ipv4addr(ic.dst_addr),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   573
+			ic.tos,ic.sl,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   574
 			ipv6addr(ic.src_gid),
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   575
 			ipv6addr(ic.dst_gid));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   576
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   577
@@ -234,8 +254,10 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   578
 		print_msgs, "Send", 0 },
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   579
 	['t'] = { RDS_INFO_RETRANS_MESSAGES, "retransmit queue messages",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   580
 		  print_msgs, "Retransmit", 0 },
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   581
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   582
 	['T'] = { RDS_INFO_TCP_SOCKETS, "TCP transport sockets",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   583
 		  print_tcp_socks, NULL, 0 },
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   584
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   585
 	['I'] = { RDS_INFO_IB_CONNECTIONS, "IB transport connections",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   586
 		  print_ib_conns, NULL, 0 },
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   587
 };
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   588
@@ -266,6 +288,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   589
 	char optstring[258] = "v+";
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   590
 	int given_options = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   591
 	socklen_t len = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   592
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   593
+	struct rds_info_arg arg;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   594
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   595
 	void *data = NULL;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   596
 	int fd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   597
 	int each;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   598
@@ -322,6 +347,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   599
 		    (given_options && !infos[i].option_given))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   600
 			continue;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   601
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   602
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   603
 		/* read in the info until we get a full snapshot */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   604
 		while ((each = getsockopt(fd, sol, infos[i].opt_val, data,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   605
 				   &len)) < 0) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   606
@@ -345,15 +371,47 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   607
 				return 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   608
 			}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   609
 		}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   610
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   611
+		int retcode;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   612
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   613
+		retcode = sol_ioctl(fd, infos[i].opt_val, &arg, &len, &each);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   614
+		if (retcode != 0) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   615
+			if (retcode == 1) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   616
+				fprintf(stderr, "%s: Unable get statistics: "
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   617
+				    "%s\n", progname, strerror(errno));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   618
+				return 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   619
+			} else if (retcode == 2) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   620
+				fprintf(stderr, "%s: Unable to allocate memory"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   621
+				    " for %u bytes of info: %s\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   622
+				    progname, len, strerror(errno));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   623
+				return 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   624
+			} else {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   625
+				fprintf(stderr, "%s: Unable to get statistics:"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   626
+				    " %s\n", progname, strerror(errno));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   627
+				return 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   628
+			}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   629
+		}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   630
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   631
+		/* No data at the driver */
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   632
+		if (len == 0)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   633
+			invalid_opt = 1;;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   634
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   635
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   636
 		if (invalid_opt)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   637
 			continue;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   638
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   639
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   640
 		infos[i].print(data, each, len, infos[i].extra);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   641
-
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   642
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   643
+		infos[i].print((void *)(uintptr_t)arg.datap, each, len,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   644
+		    infos[i].extra);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   645
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   646
 		if (given_options && --given_options == 0)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   647
 			break;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   648
 	}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   649
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   650
+	free((void *)(uintptr_t)arg.datap);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   651
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   652
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   653
 	return 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   654
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   655
diff -r 1afa90e87b4b rds-ping.1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   656
--- a/rds-ping.1	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   657
+++ b/rds-ping.1	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   658
@@ -1,69 +1,63 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   659
-.Dd Apr 22, 2008
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   660
-.Dt RDS-PING 1
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   661
-.Os
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   662
-.Sh NAME
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   663
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   664
-.Nd test reachability of remote node over RDS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   665
-.Pp
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   666
-.Sh SYNOPSIS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   667
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   668
-.Bk -words
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   669
-.Op Fl c Ar count
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   670
-.Op Fl i Ar interval
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   671
-.Op Fl I Ar local_addr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   672
-.Ar remote_addr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   673
+.TH RDS-PING 1 "Apr 22, 2008"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   674
+.SH NAME
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   675
+rds-ping - test reachability of remote node over RDS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   676
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   677
-.Sh DESCRIPTION
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   678
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   679
-is used to test whether a remote node is reachable over RDS.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   680
-Its interface is designed to operate pretty much the standard
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   681
-.Xr ping 8
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   682
+.SH SYNOPSIS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   683
+.HP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   684
+.nf
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   685
+rds-ping [-c count] [-Q tos] [-i interval] [-I local_addr]
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   686
+    remote_addr
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   687
+.fi
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   688
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   689
+.SH DESCRIPTION
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   690
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   691
+rds-ping is used to test whether a remote node is reachable over RDS.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   692
+Its interface is designed to operate pretty much the standard ping(1M) 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   693
 utility, even though the way it works is pretty different.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   694
-.Pp
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   695
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   696
-opens several RDS sockets and sends packets to port 0 on
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   697
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   698
+rds-ping opens several RDS sockets and sends packets to port 0 on
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   699
 the indicated host. This is a special port number to which
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   700
 no socket is bound; instead, the kernel processes incoming
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   701
 packets and responds to them.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   702
-.Sh OPTIONS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   703
+.SH OPTIONS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   704
 The following options are available for use on the command line:
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   705
-.Bl -tag -width Ds
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   706
-.It Fl c Ar count
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   707
-Causes
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   708
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   709
-to exit after sending (and receiving) the specified number of
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   710
+.PP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   711
+.TP 7
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   712
+\fB\-c count
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   713
+Causes rds-ping to exit after sending (and receiving) the specified number of
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   714
 packets.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   715
-.It Fl I Ar address
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   716
-By default,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   717
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   718
-will pick the local source address for the RDS socket based
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   719
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   720
+\fB\-Q tos
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   721
+By default, rds-ping sends the ping requests on base (tos = 0) RDS connection.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   722
+With this option, the requests are sent on RDS connection with the specified tos
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   723
+value.  Valid values are 0-255.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   724
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   725
+\fB\-I address
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   726
+By default, rds-ping will pick the local source address for the RDS socket based
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   727
 on routing information for the destination address (i.e. if
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   728
 packets to the given destination would be routed through interface
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   729
-.Nm ib0 ,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   730
+ib0 ,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   731
 then it will use the IP address of
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   732
-.Nm ib0
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   733
+ib0
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   734
 as source address).
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   735
 Using the
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   736
 .Fl I
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   737
 option, you can override this choice.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   738
-.It Fl i Ar timeout
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   739
-By default,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   740
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   741
-will wait for one second between sending packets. Use this option
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   742
+.TP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   743
+\fB\-i timeout
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   744
+By default, rds-ping will wait for one second between sending packets. Use this option
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   745
 to specified a different interval. The timeout value is given in
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   746
 seconds, and can be a floating point number. Optionally, append
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   747
-.Nm msec
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   748
+msec
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   749
 or
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   750
-.Nm usec
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   751
+usec
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   752
 to specify a timeout in milliseconds or microseconds, respectively.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   753
-.It
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   754
+.IP
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   755
 Specifying a timeout considerably smaller than the packet round-trip
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   756
 time will produce unexpected results.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   757
-.El
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   758
-.Sh AUTHORS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   759
-.Nm rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   760
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   761
+.SH AUTHORS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   762
+rds-ping
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   763
 was written by Olaf Kirch <[email protected]>.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   764
-.Sh SEE ALSO
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   765
-.Xr rds 7 ,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   766
-.Xr rds-info 1 ,
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   767
-.Xr rds-stress 1 .
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   768
+.S~ SEE ALSO
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   769
+rds 7, rds-info 1, rds-stress 1.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   770
diff -r 1afa90e87b4b rds-ping.c
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   771
--- a/rds-ping.c	Tue Feb 23 22:30:57 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   772
+++ b/rds-ping.c	Tue Feb 23 22:30:58 2016 -0800
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   773
@@ -48,7 +48,12 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   774
 #include <sys/poll.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   775
 #include <fcntl.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   776
 #include <getopt.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   777
+#include <sys/ioctl.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   778
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   779
+#include <sys/rds.h>
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   780
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   781
 #include "rds.h"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   782
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   783
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   784
 #include "pfhack.h"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   785
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   786
@@ -67,6 +72,7 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   787
 static unsigned long	opt_count;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   788
 static struct in_addr	opt_srcaddr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   789
 static struct in_addr	opt_dstaddr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   790
+static uint8_t		opt_tos = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   791
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   792
 /* For reasons of simplicity, RDS ping does not use a packet
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   793
  * payload that is being echoed, the way ICMP does.
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   794
@@ -91,13 +97,14 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   795
 static int	parse_timeval(const char *, struct timeval *);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   796
 static int	parse_long(const char *ptr, unsigned long *);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   797
 static int	parse_addr(const char *ptr, struct in_addr *);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   798
+static unsigned long long	parse_ull(char *ptr, unsigned long long max);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   799
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   800
 int
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   801
 main(int argc, char **argv)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   802
 {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   803
 	int c;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   804
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   805
-	while ((c = getopt(argc, argv, "c:i:I:")) != -1) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   806
+	while ((c = getopt(argc, argv, "c:i:I:Q:")) != -1) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   807
 		switch (c) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   808
 		case 'c':
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   809
 			if (!parse_long(optarg, &opt_count))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   810
@@ -114,6 +121,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   811
 				die("Bad wait time <%s>\n", optarg);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   812
 			break;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   813
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   814
+		case 'Q':
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   815
+			opt_tos = parse_ull(optarg, 255);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   816
+			break;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   817
 		default:
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   818
 			usage("Unknown option");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   819
 		}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   820
@@ -142,6 +152,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   821
 	struct timeval	next_ts;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   822
 	struct socket	socket[NSOCKETS];
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   823
 	struct pollfd	pfd[NSOCKETS];
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   824
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   825
+	int             pending[NSOCKETS];
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   826
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   827
 	int		i, next = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   828
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   829
 	for (i = 0; i < NSOCKETS; ++i) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   830
@@ -152,10 +165,18 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   831
 		socket[i].fd = fd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   832
 		pfd[i].fd = fd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   833
 		pfd[i].events = POLLIN;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   834
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   835
+		pending[i] = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   836
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   837
 	}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   838
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   839
 	memset(&sin, 0, sizeof(sin));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   840
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   841
+	sin.sin_family = AF_INET_OFFLOAD;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   842
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   843
 	sin.sin_family = AF_INET;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   844
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   845
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   846
 	sin.sin_addr = opt_dstaddr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   847
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   848
 	gettimeofday(&next_ts, NULL);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   849
@@ -180,13 +201,31 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   850
 			if (opt_count && sent >= opt_count)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   851
 				break;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   852
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   853
-			timeradd(&next_ts, &opt_wait, &next_ts);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   854
-			if (sendto(sp->fd, NULL, 0, 0, (struct sockaddr *) &sin, sizeof(sin)))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   855
-				err = errno;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   856
-			sp->sent_id = ++sent;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   857
-			sp->sent_ts = now;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   858
-			sp->nreplies = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   859
-			next = (next + 1) % NSOCKETS;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   860
+			timeradd(&now, &opt_wait, &next_ts);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   861
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   862
+			if (!pending[next]) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   863
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   864
+				memset(&sin, 0, sizeof(sin));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   865
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   866
+				sin.sin_family = AF_INET_OFFLOAD;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   867
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   868
+				sin.sin_family = AF_INET;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   869
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   870
+				sin.sin_addr = opt_dstaddr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   871
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   872
+				if (sendto(sp->fd, NULL, 0, 0, (struct sockaddr *) &sin, sizeof(sin)) < 0)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   873
+					err = errno;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   874
+				sp->sent_id = ++sent;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   875
+				sp->sent_ts = now;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   876
+				sp->nreplies = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   877
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   878
+				if (!err)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   879
+					pending[next] = 1;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   880
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   881
+				next = (next + 1) % NSOCKETS;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   882
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   883
+			}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   884
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   885
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   886
 			if (err) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   887
 				static unsigned int nerrs = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   888
@@ -223,6 +262,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   889
 					report_packet(sp, &now, NULL, errno);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   890
 			} else {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   891
 				report_packet(sp, &now, &from.sin_addr, 0);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   892
+#if !(defined(__SVR4) && defined(__sun))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   893
+				pending[i] = 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   894
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   895
 				recv++;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   896
 			}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   897
 		}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   898
@@ -258,7 +300,11 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   899
 	int pf;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   900
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   901
 	memset(&sin, 0, sizeof(sin));
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   902
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   903
+	sin.sin_family = AF_INET_OFFLOAD;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   904
+#else
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   905
 	sin.sin_family = AF_INET;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   906
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   907
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   908
 #ifdef DYNAMIC_PF_RDS
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   909
         pf = discover_pf_rds();
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   910
@@ -278,6 +324,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   911
 		if (ufd < 0)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   912
 			die_errno("unable to create UDP socket");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   913
 		sin.sin_addr = *dst;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   914
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   915
+		sin.sin_family = AF_INET;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   916
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   917
 		sin.sin_port = htons(1);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   918
 		if (connect(ufd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   919
 			die_errno("unable to connect to %s",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   920
@@ -289,6 +338,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   921
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   922
 		*src = sin.sin_addr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   923
 		close(ufd);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   924
+#if defined(__SVR4) && defined(__sun)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   925
+		sin.sin_family = AF_INET_OFFLOAD;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   926
+#endif
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   927
 	}
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   928
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   929
 	sin.sin_addr = *src;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   930
@@ -297,6 +349,9 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   931
 	if (bind(fd, (struct sockaddr *) &sin, sizeof(sin)))
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   932
 		die_errno("bind() failed");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   933
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   934
+	if (opt_tos && ioctl(fd, SIOCRDSSETTOS, &opt_tos)) 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   935
+		die_errno("ERROR: failed to set TOS\n");
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   936
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   937
 	return fd;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   938
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   939
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   940
@@ -309,7 +364,8 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   941
 		"%s\nUsage: rds-ping [options] dst_addr\n"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   942
 		"Options:\n"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   943
 		" -c count      limit packet count\n"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   944
-		" -I interface  source IP address\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   945
+		" -I interface  source IP address\n"
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   946
+		" -Q tos	type of service\n",
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   947
 		complaint);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   948
 	exit(1);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   949
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   950
@@ -384,3 +440,31 @@
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   951
 	return 0;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   952
 }
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   953
 
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   954
+static unsigned long long parse_ull(char *ptr, unsigned long long max)
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   955
+{
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   956
+	unsigned long long val;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   957
+	char *endptr;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   958
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   959
+	val = strtoull(ptr, &endptr, 0);
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   960
+	switch (*endptr) {