components/ptp/patches/01-zone.patch
author Petr Nyc <Petr.Nyc@Oracle.COM>
Tue, 29 Jul 2014 09:55:23 -0700
branchs11u2-sru
changeset 3240 a865b173bdc0
parent 2987 01d2e6a3aae8
child 5007 0052258cbb9d
permissions -rw-r--r--
Added tag 0.175.2.1.0.5.0, S11.2SRU1.5 for changeset 196f1c37faa5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2987
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     1
18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     2
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     3
Following patch prevents ptpd from running in a zone.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     4
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     5
diff -ur ptpd-2.2.0/src/Makefile /builds/pjalan/ptp-userland/components/ptp/ptpd-2.2.0/src/Makefile
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     6
--- ptpd-2.2.0/src/Makefile	Fri Mar  7 10:29:54 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     7
+++ /builds/pjalan/ptp-userland/components/ptp/ptpd-2.2.0/src/Makefile	Fri Mar  7 10:41:20 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     8
@@ -46,7 +46,7 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
     9
 #CFLAGS += -DPTP_EXPERIMENTAL
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    10
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    11
 LDFLAGS+= -lm -lrt
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    12
-LDFLAGS += -lnsl -lsocket -m64
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    13
+LDFLAGS += -lnsl -lsocket -lv12n -m64
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    14
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    15
 PROG = ptpd
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    16
 SRCS = ptpd.c arith.c bmc.c protocol.c display.c\
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    17
diff -ur ptpd-2.2.0/src/ptpd2.8 /builds/pjalan/ptp-userland/components/ptp/ptpd-2.2.0/src/ptpd2.8
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    18
--- ptpd-2.2.0/src/ptpd2.8	Fri Mar  7 11:11:33 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    19
+++ /builds/pjalan/n2ptp-userland/components/ptp/ptpd-2.2.0/src/ptpd2.8	Fri Mar  7 11:04:51 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    20
@@ -1,6 +1,6 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    21
 .\" -*- nroff -*"
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    22
 .\"
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    23
-.\" Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    24
+.\" Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    25
 .\"
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    26
 .TH ptpd "1M" "January, 2012" "version 2.2.0" "System Administration Commands"
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    27
 .SH NAME
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    28
@@ -316,10 +316,7 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    29
 generate upto 40 MB of data in a window of 24 hours and many
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    30
 times more if enabled with -P option.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    31
 .P
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    32
-Solaris does not allow creation of a vnic on a network
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    33
-interface which is providing hardware assistance to ptpd.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    34
-Vice versa, ptpd cannot get hardware assistance from an
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    35
-interfac which has pre-existing vnic(s).
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    36
+Solaris does not allow ptpd to run inside a zones(5).
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    37
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    38
 .SH SEE ALSO
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    39
 svcs(1), svcadm(1M), attributes(5), smf(5)
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    40
diff -ur ptpd-2.2.0/src/dep/startup.c /builds/pjalan/ptp-userland/components/ptp/ptpd-2.2.0/src/dep/startup.c
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    41
--- ptpd-2.2.0/src/dep/startup.c	Fri Mar  7 10:29:54 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    42
+++ /builds/pjalan/ptp-userland/components/ptp/ptpd-2.2.0/src/dep/startup.c	Fri Mar  7 10:41:20 2014
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    43
@@ -1,5 +1,5 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    44
 /*-
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    45
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    46
+ * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    47
  * Copyright (c) 2011-2012 Solarflare Communications Inc
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    48
  * Copyright (c) 2009-2011 George V. Neville-Neil, Steven Kreuzer, 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    49
  *                         Martin Burnicki, Gael Mace, Alexandre Van Kempen
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    50
@@ -40,6 +40,7 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    51
  */
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    52
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    53
 #include "../ptpd.h"
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    54
+#include <libv12n.h>
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    55
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    56
 PtpClock *ptpClock;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    57
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    58
@@ -615,8 +616,25 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    59
 		);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    60
 }
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    61
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    62
+Boolean
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    63
+is_zone(void) {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    64
+	v12n_env_t *env;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    65
+	Boolean       is_zone = FALSE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    66
+	char            *name;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    67
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    68
+	if ((env = v12n_get_current_env()) == NULL)
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    69
+		return (is_zone);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    70
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    71
+	name = v12n_get_env_prop(env, V12N_PROP_NAME);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    72
+	if (name != NULL && strstr(name, "zone") != NULL) {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    73
+		INFO("Inside %s\n", name);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    74
+		is_zone = TRUE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    75
+	}
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    76
+	free(name);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    77
+	v12n_free_env(env);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    78
+	return (is_zone);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    79
+}
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    80
+
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    81
 PtpClock *
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    82
 ptpdStartup(int argc, char **argv, Integer16 * ret, RunTimeOpts * rtOpts)
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    83
 {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    84
@@ -632,6 +650,7 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    85
   Boolean time_mode_specified = FALSE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    86
   TimeMode default_time_mode;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    87
   Boolean use_hardware_assist = FALSE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    88
+  Boolean allow_inside_zone = FALSE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    89
   Boolean is_error;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    90
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    91
   dump_command_line_parameters(argc, argv);
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    92
@@ -643,7 +662,7 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    93
 #endif
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    94
 */
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    95
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    96
-   const char *getopt_string = "?HgGWb:cCf:ST:dDPR:xO:tM:a:w:u:ehzl:o:i:n:N:y:m:v:r:s:p:q:Y:BjLV:XZK";
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    97
+   const char *getopt_string = "?HgGWb:cCf:ST:dDPR:xO:tM:a:w:u:ehzl:o:i:n:N:y:m:v:r:s:p:q:Y:BjLV:XZKF";
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    98
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
    99
   /* parse command line arguments */
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   100
   while ((c = getopt(argc, argv, getopt_string)) != -1) {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   101
@@ -831,6 +850,10 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   102
       rtOpts->verboseStats = TRUE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   103
       rtOpts->csvStats = TRUE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   104
       break;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   105
+
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   106
+    case 'F':
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   107
+      allow_inside_zone = TRUE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   108
+      break;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   109
     case 'P':
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   110
       rtOpts->displayPackets = TRUE;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   111
       break;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   112
@@ -1181,6 +1204,13 @@
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   113
       rtOpts->time_mode = default_time_mode;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   114
     }
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   115
 
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   116
+   /* If insize a zone, fail to start unless forced */
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   117
+    if (is_zone() && !allow_inside_zone) {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   118
+	    ERROR("Not allowed to run inside a zone\n");
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   119
+	    *ret = 4;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   120
+	    return 0;
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   121
+    }
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   122
+
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   123
   ptpClock = (PtpClock *) calloc(1, sizeof(PtpClock));
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   124
   if (!ptpClock) {
01d2e6a3aae8 18301028 ptpd in {kernel, native} Zone may conflict with hw mode ptpd in global zone
Prakash Jalan <Prakash.Jalan@oracle.com>
parents:
diff changeset
   125
     PERROR("failed to allocate memory for protocol engine data");