components/open-fabrics/rds-tools/patches/001-rds-tools-solaris_port.patch
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Sun, 03 Apr 2016 22:57:07 -0700
changeset 5787 c0615d62b41a
parent 5708 49b43e37ce26
child 5826 9c90e4a8156c
permissions -rw-r--r--
23059439 open-fabrics should consistently use _XOPEN_SOURCE=600
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)@[email protected]
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
    12
 incdir		= $(DESTDIR)@[email protected]
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=\"@[email protected]\" -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
5787
c0615d62b41a 23059439 open-fabrics should consistently use _XOPEN_SOURCE=600
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5708
diff changeset
    21
+CPPFLAGS += -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ \
5708
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=\"@[email protected]\" -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 [email protected] $^
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 [email protected] $^
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
5787
c0615d62b41a 23059439 open-fabrics should consistently use _XOPEN_SOURCE=600
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 5708
diff changeset
   108
+CPPFLAGS += -D_XOPEN_SOURCE=600 -D__EXTENSIONS__
5708
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) {
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   961
+	case 'k': case 'K':
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   962
+		val <<= 10;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   963
+		endptr++;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   964
+		break;
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   965
+
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   966
+	case 'm': case 'M':
49b43e37ce26 PSARC/2016/109 Solaris OFED (OFUV) Version 3.18 and other updates
boris.chiu@oracle.com
parents: 1513
diff changeset
   967
+		val <