def handle_packet_in(self, concrete_pkt): pyretic_pkt = self.concrete2pyretic(concrete_pkt) if self.debug_packet_in: debugger.set_trace() if USE_IPDB: with debugger.launch_ipdb_on_exception(): if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output, eval_trace) = self.policy.track_eval(pyretic_pkt, dry=False) self.reactive0(pyretic_pkt, output, eval_trace) else: try: if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output, eval_trace) = self.policy.track_eval(pyretic_pkt, dry=False) self.reactive0(pyretic_pkt, output, eval_trace) except: type, value, tb = sys.exc_info() traceback.print_exc() debugger.post_mortem(tb) if self.show_traces: print "<<<<<<<<< RECV <<<<<<<<<<<<<<<<<<<<<<<<<<" print util.repr_plus([pyretic_pkt], sep="\n\n") print print ">>>>>>>>> SEND >>>>>>>>>>>>>>>>>>>>>>>>>>" print util.repr_plus(output, sep="\n\n") print map(self.send_packet, output)
def handle_packet_in(self, concrete_pkt): pyretic_pkt = self.concrete2pyretic(concrete_pkt) if self.debug_packet_in: debugger.set_trace() if USE_IPDB: with debugger.launch_ipdb_on_exception(): if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output,eval_trace) = self.policy.track_eval(pyretic_pkt,dry=False) self.reactive0(pyretic_pkt,output,eval_trace) else: try: if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output,eval_trace) = self.policy.track_eval(pyretic_pkt,dry=False) self.reactive0(pyretic_pkt,output,eval_trace) except : type, value, tb = sys.exc_info() traceback.print_exc() debugger.post_mortem(tb) if self.show_traces or True: self.trace("<<<<<<<<< RECV <<<<<<<<<<<<<<<<<<<<<<<<<<", timeStamped=True) self.trace(util.repr_plus([pyretic_pkt], sep="\n\n")) self.trace("") self.trace(">>>>>>>>> SEND >>>>>>>>>>>>>>>>>>>>>>>>>>", timeStamped=True) self.trace(util.repr_plus(output, sep="\n\n")) self.trace("") map(self.send_packet,output)
def handle_packet_in(self, concrete_pkt): pyretic_pkt = self.concrete2pyretic(concrete_pkt) if self.debug_packet_in: debugger.set_trace() if USE_IPDB: with debugger.launch_ipdb_on_exception(): if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output,traversed) = self.policy.track_eval(pyretic_pkt) self.reactive0(pyretic_pkt,output,traversed) else: try: if self.mode == 'interpreted': output = self.policy.eval(pyretic_pkt) else: (output,traversed) = self.policy.track_eval(pyretic_pkt) self.reactive0(pyretic_pkt,output,traversed) except : type, value, tb = sys.exc_info() traceback.print_exc() debugger.post_mortem(tb) if self.show_traces: print "<<<<<<<<< RECV <<<<<<<<<<<<<<<<<<<<<<<<<<" print util.repr_plus([pyretic_pkt], sep="\n\n") print print ">>>>>>>>> SEND >>>>>>>>>>>>>>>>>>>>>>>>>>" print util.repr_plus(output, sep="\n\n") print map(self.send_packet,output)
def __repr__(self): return "***breakpoint on %s***" % util.repr_plus([self.policy])
def __repr__(self): return "move:\n%s" % util.repr_plus(self.map.items())
def __repr__(self): return "negate:\n%s" % util.repr_plus([self.policy_to_negate])
def __repr__(self): return "pop:\n%s" % util.repr_plus(self.fields)
def __repr__(self): return "difference:\n%s" % util.repr_plus([self.f1,self.f2])
def __repr__(self): return "dropped:\n%s" % util.repr_plus([self])
def __repr__(self): return "match_prefix_set:\n%s" % util.repr_plus([self.pfxes])
def __repr__(self): return "***breakpoint on %s***\n%s" % (self.condition,util.repr_plus([self.policy]))
def __repr__(self): return "%s:\n%s" % (self.name(),util.repr_plus(self.policies))
def __repr__(self): return "negate:\n%s" % util.repr_plus([self.to_negate])
def __repr__(self): return "if\n%s\nthen\n%s\nelse\n%s" % (util.repr_plus([self.pred]), util.repr_plus([self.t_branch]), util.repr_plus([self.f_branch]))