def test_1_selfparse_open (self): ds = Open(4,65000,'1.2.3.4',Capabilities().default(),30) txt = ds.message() network = Network(txt) #print [hex(ord(c)) for c in txt] bgp = Protocol(self.neighbor,network) bgp.follow = False o = bgp.read_open('127.0.0.1') self.assertEqual(o.version,4) self.assertEqual(o.asn,65000) self.assertEqual(o.hold_time,30) self.assertEqual(str(o.router_id),'1.2.3.4')
def new_open (self,restarted): sent_open = Open( 4, self.neighbor.local_as, self.neighbor.router_id.ip, Capabilities().new(self.neighbor,restarted), self.neighbor.hold_time ) # we do not buffer open message in purpose for _ in self.write(sent_open.message()): yield _NOP self.logger.message(self.me('>> %s' % sent_open)) yield sent_open
def new_open(self, restarted): sent_open = Open(4, self.neighbor.local_as, self.neighbor.router_id.ip, Capabilities().new(self.neighbor, restarted), self.neighbor.hold_time) # we do not buffer open message in purpose msg_send = sent_open.message() for _ in self.write(msg_send): yield _NOP self.logger.message(self.me('>> %s' % sent_open)) if self.neighbor.api[Message.ID.OPEN]: if self.neighbor.api['consolidate']: header = msg_send[0:38] body = msg_send[38:] self.peer.reactor.processes.message(Message.ID.OPEN, self.peer, sent_open, header, body, 'sent') else: self.peer.reactor.processes.message(Message.ID.OPEN, self.peer, sent_open, '', '', 'sent') yield sent_open
def new_open (self,restarted): sent_open = Open( 4, self.neighbor.local_as, self.neighbor.router_id.ip, Capabilities().new(self.neighbor,restarted), self.neighbor.hold_time ) # we do not buffer open message in purpose msg_send = sent_open.message() for _ in self.write(msg_send): yield _NOP self.logger.message(self.me('>> %s' % sent_open)) if self.neighbor.api[Message.ID.OPEN]: if self.neighbor.api['consolidate']: header = msg_send[0:38] body = msg_send[38:] self.peer.reactor.processes.message(Message.ID.OPEN,self.peer,sent_open,header,body,'sent') else: self.peer.reactor.processes.message(Message.ID.OPEN,self.peer,sent_open,'','','sent') yield sent_open