def new_open(self, restarted, asn4, config, enabledFamilies=[]): '''Same as exabgp.Protocol.new_open except that we advertise support for MPLS VPN and RTC''' asn = self.neighbor.local_as # (we don't support ASN4) o = Open(4, asn, self.neighbor.router_id.ip, Capabilities() .default(self.neighbor, restarted), self.neighbor.hold_time) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv4), SAFI(SAFI.flow_ipv4))) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv4), SAFI(SAFI.unicast))) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv6), SAFI(SAFI.unicast))) for afi_safi in enabledFamilies: o.capabilities[ Capabilities.MULTIPROTOCOL_EXTENSIONS].append(afi_safi) if config['enable_rtc']: o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].append( (AFI(AFI.ipv4), SAFI(SAFI.rtc))) if not self.connection.write(o.message()): raise Exception("Error while sending open") return o
def new_open(self, restarted, asn4, config, enabledFamilies=[]): '''Same as exabgp.Protocol.new_open except that we advertise support for MPLS VPN and RTC''' asn = self.neighbor.local_as # (we don't support ASN4) o = Open(4, asn, self.neighbor.router_id.ip, Capabilities().default(self.neighbor, restarted), self.neighbor.hold_time) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv4), SAFI(SAFI.flow_ipv4))) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv4), SAFI(SAFI.unicast))) o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].remove( (AFI(AFI.ipv6), SAFI(SAFI.unicast))) for afi_safi in enabledFamilies: o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].append( afi_safi) if config['enable_rtc']: o.capabilities[Capabilities.MULTIPROTOCOL_EXTENSIONS].append( (AFI(AFI.ipv4), SAFI(SAFI.rtc))) if not self.connection.write(o.message()): raise Exception("Error while sending open") return o
def new_open (self,restarted,asn4): if asn4: asn = self.neighbor.local_as else: asn = AS_TRANS o = Open(4,asn,self.neighbor.router_id.ip,Capabilities().default(self.neighbor,restarted),self.neighbor.hold_time) if not self.connection.write(o.message()): raise Failure('Could not send open') return o
def new_open(self, restarted, asn4): if asn4: asn = self.neighbor.local_as else: asn = AS_TRANS o = Open(4, asn, self.neighbor.router_id.ip, Capabilities().default(self.neighbor, restarted), self.neighbor.hold_time) if not self.connection.write(o.message()): raise Failure('Could not send open') return o