aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/IPUtil.py
AgeCommit message (Collapse)AuthorFilesLines
2016-12-16Pylint fixesTibor Frank1-12/+13
- Fix PyLint errors - Fix comments in touched python modules Change-Id: I26db2d292a41969cf38b9b0bdd49c4fb15349102 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2016-10-10CSIT-392: ip4-lispgpe-ip4Tibor Frank1-0/+20
- ip4-lispgpe-ip4 - main fib, vrf, virt2lisp Change-Id: I28c81e91689021693ce76352878fa21e953a4ef6 Signed-off-by: Tibor Frank <tifrank@cisco.com>
2016-09-05CSIT-229: ip4-lispgpe-ip4Tibor Frank1-1/+67
- main fib, - vrf, - phy2lisp Change-Id: Ic9bacef4574dc07b25041c4cd0653825a65c94fb Signed-off-by: Tibor Frank <tifrank@cisco.com>
2016-08-15CSIT-197: Add basic mapping rule tests for MAP-EMatej Klotton1-2/+21
- IPv4 prefix length + ea bits length < 32 - IPv4 prefix length + ea bits length == 32 - IPv4 prefix length + ea bits length > 32 - End user IPv6 prefix is 64 - IPv4 preffix is 0 Change-Id: Ib8d76abfebfb206fbbaa3c1422b2d321a3ed8712 Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-06-28Use interface key instead of interface name.Miroslav Miklus1-4/+16
JIRA: CSIT-141 Change-Id: I75cef6d570ab45ea9c4af838b6bf68cefc7c1a91 Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-05-30Update Honeycomb testsselias1-2/+2
- add new test cases based on reported bugs - minor fixes Change-Id: I8b7464bc1f4e786e3a0ef67ba64d81e1c25ae5cf Signed-off-by: selias <samelias@cisco.com>
2016-05-12Update Honeycomb interface IPv4 testselias1-7/+10
- add verification of ipv4 subnet prefix support - modify keywords to allow setting ipv4 address with network prefix - fix variable definitions to evaluate numbers as ints, not strings - add exception to ipv4 netmask/prefix conversion method Change-Id: I9343ceb35856ddb33674d7067f1def6d40e99acc Signed-off-by: selias <samelias@cisco.com>
2016-05-06Add Honeycomb interface management tests (ipv4, ipv6, ethernet, routing)selias1-0/+19
- add test cases for managing ipv4, ipv6, ethernet and routing configuration on VPP interface - add keywords used in these tests to set and verify configuration - add method and vat template for dumping an interface's configured IP addresses - add method for converting between ipv4 netmasks and network prefixes - clean up documentation of older Honeycomb keywords Note: Test cases are tagged with a placeholder tag to allow manual test runs locally. It should be replaced with the appropriate environment tags once Honeycomb service is deployed on virl. Change-Id: I99ce1e72c8550f520f8c35ef4a93eaebb530db78 Signed-off-by: selias <samelias@cisco.com> Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-04-22Reformat python libraries.Matej Klotton1-9/+8
PEP8 reformat fix typos docstrings reformat Change-Id: Ic48ba4e06490630808b8e2ab1ab0b046ec7eeed7 Signed-off-by: Matej Klotton <mklotton@cisco.com>
2016-02-08New version of RF tests.Stefan Kobza1-0/+43
Change-Id: I241a2b7a7706e65f71cfd4a62e2a40f053fc5d07 Signed-off-by: Stefan Kobza <skobza@cisco.com>
"n">vl_api_syslog_severity_t @classmethod def setUpClass(cls): super(TestSyslog, cls).setUpClass() try: cls.pg0, = cls.create_pg_interfaces(range(1)) cls.pg0.admin_up() cls.pg0.config_ip4() cls.pg0.resolve_arp() except Exception: super(TestSyslog, cls).tearDownClass() raise @classmethod def tearDownClass(cls): super(TestSyslog, cls).tearDownClass() def syslog_generate(self, facility, severity, appname, msgid, sd=None, msg=None): """ Generate syslog message :param facility: facility value :param severity: severity level :param appname: application name that originate message :param msgid: message identifier :param sd: structured data (optional) :param msg: free-form message (optional) """ facility_str = ['kernel', 'user-level', 'mail-system', 'system-daemons', 'security-authorization', 'syslogd', 'line-printer', 'network-news', 'uucp', 'clock-daemon', '', 'ftp-daemon', 'ntp-subsystem', 'log-audit', 'log-alert', '', 'local0', 'local1', 'local2', 'local3', 'local4', 'local5', 'local6', 'local7'] severity_str = ['emergency', 'alert', 'critical', 'error', 'warning', 'notice', 'informational', 'debug'] cli_str = "test syslog %s %s %s %s" % (facility_str[facility], severity_str[severity], appname, msgid) if sd is not None: for sd_id, sd_params in sd.items(): cli_str += " sd-id %s" % (sd_id) for name, value in sd_params.items(): cli_str += " sd-param %s %s" % (name, value) if msg is not None: cli_str += " %s" % (msg) self.vapi.cli(cli_str) def syslog_verify(self, data, facility, severity, appname, msgid, sd=None, msg=None): """ Verify syslog message :param data: syslog message :param facility: facility value :param severity: severity level :param appname: application name that originate message :param msgid: message identifier :param sd: structured data (optional) :param msg: free-form message (optional) """ message = data.decode('utf-8') if sd is None: sd = {} try: message = SyslogMessage.parse(message) except ParseError as e: self.logger.error(e) raise else: self.assertEqual(message.facility, facility) self.assertEqual(message.severity, severity) self.assertEqual(message.appname, appname) self.assertEqual(message.msgid, msgid) self.assertEqual(message.msg, msg) self.assertEqual(message.sd, sd) self.assertEqual(message.version, 1) self.assertEqual(message.hostname, self.pg0.local_ip4) def test_syslog(self): """ Syslog Protocol test """ self.vapi.syslog_set_sender(src_address=self.pg0.local_ip4, collector_address=self.pg0.remote_ip4) config = self.vapi.syslog_get_sender() self.assertEqual(str(config.collector_address), self.pg0.remote_ip4) self.assertEqual(config.collector_port, 514) self.assertEqual(str(config.src_address), self.pg0.local_ip4) self.assertEqual(config.vrf_id, 0) self.assertEqual(config.max_msg_size, 480) appname = 'test' msgid = 'testMsg' msg = 'this is message' sd1 = {'exampleSDID@32473': {'iut': '3', 'eventSource': 'App', 'eventID': '1011'}} sd2 = {'exampleSDID@32473': {'iut': '3', 'eventSource': 'App', 'eventID': '1011'}, 'examplePriority@32473': {'class': 'high'}} self.pg_enable_capture(self.pg_interfaces) self.syslog_generate(SyslogFacility.local7, SyslogSeverity.info, appname, msgid, None, msg) capture = self.pg0.get_capture(1) try: self.assertEqual(capture[0][IP].src, self.pg0.local_ip4) self.assertEqual(capture[0][IP].dst, self.pg0.remote_ip4) self.assertEqual(capture[0][UDP].dport, 514) self.assert_packet_checksums_valid(capture[0], False) except: self.logger.error(ppp("invalid packet:", capture[0])) raise self.syslog_verify(capture[0][Raw].load, SyslogFacility.local7, SyslogSeverity.info, appname, msgid, None, msg) self.pg_enable_capture(self.pg_interfaces) self.vapi.syslog_set_filter( self.SYSLOG_SEVERITY.SYSLOG_API_SEVERITY_WARN) filter = self.vapi.syslog_get_filter() self.assertEqual(filter.severity, self.SYSLOG_SEVERITY.SYSLOG_API_SEVERITY_WARN) self.syslog_generate(SyslogFacility.local7, SyslogSeverity.info, appname, msgid, None, msg) self.pg0.assert_nothing_captured() self.pg_enable_capture(self.pg_interfaces) self.syslog_generate(SyslogFacility.local6, SyslogSeverity.warning, appname, msgid, sd1, msg) capture = self.pg0.get_capture(1) self.syslog_verify(capture[0][Raw].load, SyslogFacility.local6, SyslogSeverity.warning, appname, msgid, sd1, msg) self.vapi.syslog_set_sender(self.pg0.local_ip4, self.pg0.remote_ip4, collector_port=12345) config = self.vapi.syslog_get_sender() self.assertEqual(config.collector_port, 12345) self.pg_enable_capture(self.pg_interfaces) self.syslog_generate(SyslogFacility.local5, SyslogSeverity.err, appname, msgid, sd2, None) capture = self.pg0.get_capture(1) try: self.assertEqual(capture[0][UDP].dport, 12345) except: self.logger.error(ppp("invalid packet:", capture[0])) raise self.syslog_verify(capture[0][Raw].load, SyslogFacility.local5, SyslogSeverity.err, appname, msgid, sd2, None) if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)