Esempio n. 1
0
def statx25(pvc):
  dom  = cfg.snaid[pvc]['dom']
  wsid = cfg.snaid[pvc]['wsid']
  # don't send the 'writing' bit ! (too much traffic)
  msg = string.upper(cfg.name) + ' ' + pvc[0] + ' ' + pvc[1:] + ' ' + \
        '%x'%(cfg.snaid[pvc]['status'] & ~0x800) + ' ' + \
        cfg.snaid[pvc]['sub'] + ' ' + \
        dom + ' '
  if wsid != '':
    msg += wsid + ' ' + \
           cfg.atm[wsid]['gastate'] + ' ' + \
           cfg.atm[wsid]['bnmstate']
  else:
    msg += '- - -'
  cfg.stat_buf.append(msg)

  # tell bnmroutc
  dom = cfg.snaid[pvc]['dom']
  if dom != '-' and wsid != '':
    ip = cfg.domain[dom]['server'][cfg.domain[dom]['active']]
    if cfg.servers[ip]['routc']:
      cfg.servers[ip]['routc'].routcEvt(routc.x25Status(dom, wsid, pvc,
                                     '%x'%(cfg.snaid[pvc]['status'] & ~0x800)))
Esempio n. 2
0
 def handle_connect(self):
   self.keepalive()
   log.l.LogIt('RBC003', 'I', 'bnmroutc %s connected on port %s', (self.ip, self.getsockname()[1]))
   cfg.servers[self.ip]['routc'] = self
   self.msgbuf = []
   self.msgbuf.append(routc.heartBeat())
   # send all connected and status messages to this bnmroutc
   atms = cfg.atm.keys()
   for i in atms:
     dom = cfg.atm[i]['domain']
     if cfg.atm[i]['gastate'] == '=' or cfg.atm[i]['gastate'] == 'o' and \
        dom != '':
       ip = cfg.domain[dom]['server'][cfg.domain[dom]['active']]
       if ip == self.ip:
         cfg.servers[ip]['routc'].routcEvt(routc.atmConnect(dom, i))
         ga = cfg.atm[i]['gasock']
         if ga.tcpip:
           self.routcEvt(routc.ipAddr(dom, i, ga.peer_ip))
         else:
           self.routcEvt(routc.x25Addr(dom, i, ga.pvc))
           self.routcEvt(routc.x25Status(dom, i, ga.pvc,
                                    '%x'%(cfg.snaid[ga.pvc]['status'] & ~0x800)))
         if cfg.atm[i]['bnmstate'] == 'o':
           self.routcEvt(routc.bnmConnect(dom, i))