def test99_EVPNPrefixCreatePackUnpack(self): '''Test pack/unpack for E-VPN Prefix routes''' nlri = EVPNPrefix( RouteDistinguisher.fromElements("42.42.42.42", 5), ESI(), EthernetTag(111), Labels([42], True), IP.create("1.1.1.0"), 24, IP.create("2.2.2.2"), ) packed = nlri.pack() unpacked, leftover = EVPN.unpack_nlri(AFI.l2vpn, SAFI.evpn, packed, OUT.UNSET, None) self.assertEqual(0, len(leftover)) # TODO: compare packed with a reference encoding verified # as conformant with RFC7432 self.assertTrue(isinstance(unpacked, EVPNPrefix)) self.assertEqual("42.42.42.42:5", unpacked.rd._str()) self.assertEqual(ESI.DEFAULT, unpacked.esi.esi) self.assertEqual(EthernetTag(111), unpacked.etag) self.assertEqual(IP.create("1.1.1.0"), unpacked.ip) self.assertEqual(24, unpacked.iplen) self.assertEqual(IP.create("2.2.2.2"), unpacked.gwip) self.assertEqual(1, len(unpacked.label.labels)) self.assertEqual(42, unpacked.label.labels[0])
def test99_EVPNPrefixCreatePackUnpack(self): '''Test pack/unpack for E-VPN Prefix routes''' nlri = EVPNPrefix(RouteDistinguisher.fromElements("42.42.42.42", 5), ESI(), EthernetTag(111), Labels([42], True), IP.create("1.1.1.0"),24, IP.create("2.2.2.2"), ) packed = nlri.pack() unpacked,leftover = EVPN.unpack_nlri(AFI(AFI.l2vpn), SAFI(SAFI.evpn), packed, OUT.UNSET, None) self.assertEqual(0, len(leftover)) # TODO: compare packed with a reference encoding verified # as conformant with RFC7432 self.assertTrue(isinstance(unpacked, EVPNPrefix)) self.assertEqual("42.42.42.42:5", unpacked.rd._str()) self.assertEqual(ESI.DEFAULT, unpacked.esi.esi) self.assertEqual(EthernetTag(111), unpacked.etag) self.assertEqual(IP.create("1.1.1.0"), unpacked.ip) self.assertEqual(24, unpacked.iplen) self.assertEqual(IP.create("2.2.2.2"), unpacked.gwip) self.assertEqual(1, len(unpacked.label.labels)) self.assertEqual(42, unpacked.label.labels[0])