summaryrefslogtreecommitdiffstats
path: root/src/tools
AgeCommit message (Expand)AuthorFilesLines
2020-09-18vat: add infrastructure to align vnet test code and plugin test codeOle Troan1-10/+11
2020-09-11build: fix build for Debian 9 and Debian 10BenoƮt Ganne1-4/+5
2020-09-01vppapigen: supports backwards compatible marking of enumsOle Troan1-18/+38
2020-08-25api: register endian handlers for reply messagesOle Troan1-0/+13
2020-08-21vppapigen: Fix missing api dirNathan Skrzypczak1-0/+1
2020-08-19vppinfra: minor tweaks for cgo interoperationDave Barach2-11/+11
2020-08-17vppapigen: generate define for module_semverOle Troan1-0/+7
2020-08-13vppapigen: remove unreachable codeOle Troan1-1/+0
2020-08-11vppapigen: add support for empty optionsOle Troan2-3/+17
2020-08-06misc: harmonize namesDave Barach2-10/+10
2020-07-23vppapigen: missing crcs in user-defined typesOle Troan2-3/+403
2020-06-17docs: add more FEATURE.yaml documentationDave Barach1-0/+12
2020-05-27api: make vpp api handlers endian independentOle Troan1-4/+15
2020-05-25api: add new stream message conventionOle Troan2-1/+8
2020-05-19vppapigen: handle new api file for crcchekcerOle Troan1-2/+9
2020-05-16vppapigen: add assert for python versionOle Troan1-2/+4
2020-05-15g2: fix the g2 build for Ubuntu 20.04Dave Barach1-2/+1
2020-05-09vppapigen: api crc checkerOle Troan2-23/+67
2020-05-08build: various improvementsDamjan Marion1-1/+1
2020-05-07misc: deprecate elftoolDamjan Marion3-500/+0
2020-04-06misc: fix python sonarcloud BLOCKER level issuesPaul Vinciguerra1-1/+1
2020-04-04misc: strcpy be goneDave Barach2-22/+20
2020-04-04misc: sprintf be goneDave Barach7-164/+163
2020-03-04vppapigen: crc is a negative value for some messages when using python 2.7Mark Nelson1-2/+2
2020-02-26vppapigen: list imports in JSONOndrej Fabry1-0/+7
2020-02-26api: improve api string safetyJakub Grajciar1-3/+2
2020-02-04vppapigen: fix options representationOle Troan1-1/+1
2020-01-30vppapigen: update markdown documentationPaul Vinciguerra1-7/+10
2019-12-10api: multiple connections per processDave Barach1-1/+1
2019-12-07lacp: fix control_ping from pluginsOle Troan1-0/+4
2019-11-24vppapigen: clean up typos in c generated codePaul Vinciguerra1-4/+4
2019-11-24vppapigen: fix i64 format stringPaul Vinciguerra1-1/+1
2019-11-24vppapigen: fix typo on f64 endian_stringPaul Vinciguerra1-4/+4
2019-10-10acl: remove api boilerplateOle Troan1-0/+3
2019-10-10memif: remove api boilerplateOle Troan1-0/+2
2019-10-09api: autogenerate event handler functions for *_test.cOle Troan1-0/+17
2019-09-25api: split api generated filesOle Troan3-74/+261
2019-09-19api: split vl_api_prefix into twoOle Troan3-47/+39
2019-09-18vppapigen: fix missing vla check for union classOle Troan2-52/+87
2019-09-18vppapigen: fix tests and run on verifyPaul Vinciguerra2-26/+56
2019-09-16api: autogenerate api trace print/endianOle Troan4-86/+434
2019-09-10misc: fix shebang with missing envNathan Skrzypczak1-1/+1
2019-09-03api: enforce vla is last and fixed string typeOle Troan2-11/+74
2019-08-23vppapitrace: add text outputOle Troan1-8/+65
2019-08-20vppapigen: remove support for legacy typedefsPaul Vinciguerra1-1/+3
2019-08-20vppapigen: remove python2 supportPaul Vinciguerra1-28/+30
2019-08-19vppapigen map: raise ValueError when fieldname is python keywordPaul Vinciguerra1-0/+4
2019-08-08api: vppapitrace JSON/API trace converterOle Troan2-0/+435
2019-08-01vppapigen: revert "implement reversible repr's"Vratko Polak1-34/+15
2019-07-31vppapigen: implement reversible repr'sPaul Vinciguerra1-15/+34
span>version == 6: return AF_INET6 else: return AF_INET @property def dpo_proto(self): if self.version == 6: return DpoProto.DPO_PROTO_IP6 else: return DpoProto.DPO_PROTO_IP4 class VppIpPrefix(): def __init__(self, addr, len): self.addr = VppIpAddress(addr) self.len = len def encode(self): return {'address': self.addr.encode(), 'address_length': self.len} @property def address(self): return self.addr.address @property def bytes(self): return self.addr.bytes @property def length(self): return self.len @property def is_ip6(self): return self.addr.is_ip6 def __str__(self): return "%s/%d" % (self.address, self.length) def __eq__(self, other): if isinstance(other, self.__class__): return (self.len == other.len and self.addr == other.addr) elif hasattr(other, "address") and hasattr(other, "address_length"): # vl_api_prefix_t return self.len == other.address_length and \ self.addr == other.address else: _log.error( "Comparing VppIpPrefix:%s with incomparable type: %s" % (self, other)) return NotImplemented class VppIpMPrefix(): def __init__(self, saddr, gaddr, len): self.saddr = saddr self.gaddr = gaddr self.len = len self.ip_saddr = ip_address(unicode(self.saddr)) self.ip_gaddr = ip_address(unicode(self.gaddr)) if self.ip_saddr.version != self.ip_gaddr.version: raise ValueError('Source and group addresses must be of the ' 'same address family.') def encode(self): if 6 == self.ip_saddr.version: prefix = { 'af': VppEnum.vl_api_address_family_t.ADDRESS_IP6, 'grp_address': {'ip6': self.ip_gaddr.packed}, 'src_address': {'ip6': self.ip_saddr.packed}, 'grp_address_length': self.len, } else: prefix = { 'af': VppEnum.vl_api_address_family_t.ADDRESS_IP4, 'grp_address': {'ip4': self.ip_gaddr.packed}, 'src_address': {'ip4': self.ip_saddr.packed}, 'grp_address_length': self.len, } return prefix