@@ -62,6 +62,7 @@ def __init__(self, name, sw_path = None, json_path = None,
6262 thrift_port = None ,
6363 pcap_dump = False ,
6464 log_console = False ,
65+ log_file = None ,
6566 verbose = False ,
6667 device_id = None ,
6768 enable_debugger = False ,
@@ -87,6 +88,10 @@ def __init__(self, name, sw_path = None, json_path = None,
8788 self .pcap_dump = pcap_dump
8889 self .enable_debugger = enable_debugger
8990 self .log_console = log_console
91+ if log_file is not None :
92+ self .log_file = log_file
93+ else :
94+ self .log_file = "/tmp/p4s.{}.log" .format (self .name )
9095 if device_id is not None :
9196 self .device_id = device_id
9297 P4Switch .device_id = max (P4Switch .device_id , device_id )
@@ -119,8 +124,7 @@ def start(self, controllers):
119124 if not intf .IP ():
120125 args .extend (['-i' , str (port ) + "@" + intf .name ])
121126 if self .pcap_dump :
122- args .append ("--pcap" )
123- # args.append("--useFiles")
127+ args .append ("--pcap %s" % self .pcap_dump )
124128 if self .thrift_port :
125129 args .extend (['--thrift-port' , str (self .thrift_port )])
126130 if self .nanomsg :
@@ -132,13 +136,12 @@ def start(self, controllers):
132136 args .append ("--debugger" )
133137 if self .log_console :
134138 args .append ("--log-console" )
135- logfile = "/tmp/p4s.{}.log" .format (self .name )
136139 info (' ' .join (args ) + "\n " )
137140
138141 pid = None
139142 with tempfile .NamedTemporaryFile () as f :
140143 # self.cmd(' '.join(args) + ' > /dev/null 2>&1 &')
141- self .cmd (' ' .join (args ) + ' >' + logfile + ' 2>&1 & echo $! >> ' + f .name )
144+ self .cmd (' ' .join (args ) + ' >' + self . log_file + ' 2>&1 & echo $! >> ' + f .name )
142145 pid = int (f .read ())
143146 debug ("P4 switch {} PID is {}.\n " .format (self .name , pid ))
144147 if not self .check_switch_started (pid ):
0 commit comments