summaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut
AgeCommit message (Collapse)AuthorFilesLines
2018-09-21Merge "[NSB] Adds support for running "black box" test cases for VNFs"Abhijit Sinha4-0/+188
2018-09-21[NSB] Adds support for running "black box" test cases for VNFsChornyi, TarasX4-0/+188
Using AgnosticVNF is now possible to create a "black box" testcase for any VNF. Example rfc2544 test with TRex as trafficgen samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_ipv4_64B_trex.yaml and Ixia samples/vnf_samples/nsut/agnostic/tc_baremetal_rfc2544_latency_ipv4_64B_ixia.yaml NOTE: Yardstick will not interact with VNF. No KPIs from VNF will be collected JIRA: YARDSTICK-1438 Change-Id: I408b3dcb90f29c7b41fcf8f883b5abfc4e9c3dbc Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-09-20Merge changes from topics 'YARDSTICK-1354', 'YARDSTICK-1348', ↵Abhijit Sinha9-0/+809
'YARDSTICK-1359', 'YARDSTICK-1356' * changes: Add vEPC service request test cases Add network initiated dedicated bearers creation Add UE initiated dedicated bearer creation test Add vEPC infrastructure for Landslide TG Add vEPC default bearers relocation test case Add vEPC default bearers create/delete test case Add Spirent Landslide traffic profile templates Update LSResourceHelper unittests Add Spirent Landslide TG API Added Landslide Resource Helper implementation Add TclClients for Spirent Landslide TG
2018-09-15Add vEPC service request test casesOrest Voznyy2-0/+295
Add UE and network initiated testcase and related session profiles. JIRA: YARDSTICK-1429 Change-Id: I16d6c065cf346db31e235ac5add57509cfbc8009 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-15Add network initiated dedicated bearers creationOrest Voznyy1-0/+164
Adding related pod file, session profile and testcase file. JIRA: YARDSTICK-1355 Change-Id: Ic97d59ef3a36ac05c6c369c36f917ae95d18d863 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-15Add UE initiated dedicated bearer creation testOrest Voznyy1-0/+74
Adding session profile and test case file. JIRA: YARDSTICK-1353 Change-Id: Iaa98fd8cb3ed243f9ac157089de32fa23ec0e6b4 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-15Add vEPC infrastructure for Landslide TGOrest Voznyy2-0/+100
1. Add yardstick topology and model for fully emulated environment. 2. Add support for black-box testing of real vEPC VNF vs Spirent Landslide traffic generator: - vEPC VNF pod file - topology and model files aware of vEPC VNF connection to Spirent Landslide TG - stub class for vEPC VNF, and related unit tests JIRA: YARDSTICK-1424 Change-Id: If7b6d19919679347c4360f4a0f2e420716e7fd2d Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-15Add vEPC default bearers relocation test caseOrest Voznyy1-0/+62
This test case runs on Spirent Landslide TG. All vEPC entities are emulated on Landslide test servers. Test case actions sequence: - create default bearers - start sending traffic - partial/full bearers relocation between two ENodeB's, Intra-MME - disconnect all bearers JIRA: YARDSTICK-1354 Change-Id: I95c7b0001ddb363402013d83ae8617b88b2a4bd9 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-15Add vEPC default bearers create/delete test caseOrest Voznyy2-0/+114
This test case runs on Spirent Landslide TG. All vEPC entities are emulated on Landslide test server. Test run configuration is performed in following files: 1. test case file 2. pod file 3. session profile file (landslide_session_default_bearer*.yaml) The structure of these files represents configuration of different parts of test cases in this test session. The order of test cases should always match. Spirent Landslide test types involved: "SGW_Node", "SGW_Nodal". Test case actions sequence: - create default bearers (as per value of "Sessions" key) with specified rate (session profile key "StartRate") - send traffic flow(s) (pre-configured in traffic profile) for a number of seconds (specified in session profile key "duration") - remove N default bearers with specified rate (session profile key "DisconnectRate") Parameters with ALL_CAPS values are placeholders. User should replace them with their own condifuration. Session profile file placeholders do not need to be replaced as long as these parameters are overriden in other files (e.g. pod, test case). Test results are dispatched according to runner configuration options. For fully emulated test runs like this one, best suited runner is "Search" type. In case of testing against real EPC VNFs, user could prefer different runner type. JIRA: YARDSTICK-1348 Change-Id: I5caf4878fb212b38d4148a297c5dba03b8ab98a8 Signed-off-by: Orest Voznyy <orestx.voznyy@intel.com>
2018-09-04NSB NFVi PROX Missing VNF Statistics for CPU UtilizationDanielMartinBuckley37-0/+149
JIRA: YARDSTICK-1404 The test scripts require an extra argument to support collectd. Also the CPU utilization is a different variable name structure in the JSON file. Change-Id: I127b7e86c0f93f7743331a2d71eb81d690e42471 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-08-27Merge "Change tc_trex files to execute standalone tests"Rodolfo Alonso Hernandez9-53/+53
2018-08-14Change tc_trex files to execute standalone testsStepan Andrushko9-53/+53
Changes made in test cases for trex TG files to be able to run tests for standalone setup (OVS-DPDK/SRIOV). - tg__0: trafficgen_1 Changes to improve templates for tc_trex: - flavor: images: changed to default name: yardstick-nsb-image.img - default path for files under contexts section - RAM size JIRA: YARDSTICK-1368 Change-Id: Ida85de219acd566840de1a94975b8050c7f59b9b Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
2018-08-02NSB NFVi PROX BNG and vPE losing many packetsDanielMartinBuckley9-10/+109
JIRA: YARDSTICK-1101 The traffic generated by the generator in bng-4 result in non-symmetrical use of the cores on the SUT, as a whole range of IP addresses is skipped. Update cpe0 and cpe1 in gen files. In addition, for the routing table (ipv4.lua) for the BNG should be slighly different: while the BNG is a 4 ports test, only 2 of the ports are used as outgoing routing ports (the inet ports). Hence, the routing table should only use the mac of those two ports. The bad configuration (using 4 ports) result in an issue when BNG SUT and GEN are connected through a switch, packets are sent by the BNG SUT through the INET interfaces, but sometimes with the MAC of the CPE interface... Hence, packets are received on the wrong interface on the Gen site (resulting in some interfaces, the CPE ones, being overloaded) Created ipv4_bng.lua and remove mac 0 and 2 Change-Id: I97019f0415d2f58d50ec855d04800eb705f41541 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-07-23Add pktgen test case base filesRodolfo Alonso Hernandez2-0/+210
Added pktgen VNF topology, VNF descriptor and traffic profile files. JIRA: YARDSTICK-1346 Change-Id: Ifb1824edb2dc8db1afa83a53573fb2ed1c2a79ea Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-11Add ACL sample config fileMytnyk, Volodymyr1-1/+9
The acl_rules.yaml is unused, so renamed it to sample config. Updated the config with example of possible ACL configuration. JIRA: YARDSTICK-1304 Change-Id: If0537cf55f4c96f57844caed5bf1c9050647e0d5 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-05Enable traffic generator PID in "NSPerf" scenario setupRodolfo Alonso Hernandez1-0/+96
Now "NSPerf" scenario will inform about the traffic generator PIDs after setup process. With this information, IterationIPC runner will be able to receive the messages sent by those traffic generators and control the main iteration loop. The following example, using vFW as VNF and OpenStack as context, makes use of this new runner implementation: /samples/vnf_samples/nsut/vfw/ tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_iterationipc.yaml JIRA: YARDSTICK-1127 Change-Id: I46b1368bc209680b88ff9fb5c3b9beadf6271ac9 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-27NSB NFVi PROX BNG losing many packetsDanielMartinBuckley8-22/+44
JIRA: YARDSTICK-1101 Problem was incorrect generator and changed the traffic profile to allow a tolerated loss of 5%. ARP packets are not managed (just passed thru the system) therefor the tolerated loss must be higehr than normal. Change-Id: I03bd62b397a66b50961e810d033c6894d0b3e9a6 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-27NSB NFVi PROX VPE losing many packetsDanielMartinBuckley2-3/+6
JIRA: YARDSTICK-1105 Running a vPE test ends up with up to 25% drooped packets. This is due to tolerated loss being incorrectly configured, test duration was too short and test interval was too short. Note This is due to the fact that vPE use case have by default a tolerated loss of 100%, Now changed to 0.001, same as L2FWD Also: Grafan dashboard has been updated to show all SUT CPUS Utilization in 1 panel. And LINE rate MIN, MAX & TEST Rate have been added Change-Id: I7adae2199b3f656fe460705b6aeb3aa69c767d50 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-26Merge "Addition of Configurable Sampling and Configurable Confirmation Retry"Abhijit Sinha1-2/+8
2018-06-26Addition of Configurable Sampling and Configurable Confirmation RetryDanielMartinBuckley1-2/+8
JIRA: YARDSTICK-1221 In order to increase accuracy of result the following are done :- - Improve Measurement Accuracy (YARDSTICK-1212) - Improve Sampling Interval (YARDSTICK-1219) - Allow 4 PROX ports to be read simultaneously (YARDSTICK-1220) This change does the following :- - Stores LINE Rate statistics of Sample - Requires a confirmation retry before deciding to increase or decrease this is configurable. - Allows the user to disable Sampling or specify a sample interval - Added Code Coverage of ProxDurationRunner based on YARDSTICK-1199 Change-Id: I27242ac1849c9a2712866385b5fbc05977c71516 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-06-26NSB Topology fix for Prox 4 port test caseAbhijit Sinha14-47/+52
The uplink and downlink interfaces for the 4 port test cases were inconsistent and fixed in this commit. This affects all the 4 port PROX test cases. Tested on: Heat L2fwd-4 and L3fwd-4 test case. JIRA: YARDSTICK-1185 Change-Id: Ia2ce7ed0dc395b812f84ede94e259b42dc833579 Signed-off-by:Abhijit Sinha <abhijit.sinha@intel.com>
2018-06-22Merge "Configure ACL via static file"Abhijit Sinha4-136/+108
2018-06-21Configure ACL via static fileMytnyk, Volodymyr4-136/+108
This patch allows user to configure ACL/vFW SampleVNF ACL via configuration file provided in TC definition. The Yardstick applies the rules to SampleVNF from specified config file + rules generated by Yardstick (default rules). The example of SampleVNF ACL CLI commands generated/applied by Yardstick can be found at (using default ACL config file): ACL VNF ACL CLI commands: acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml http://paste.openstack.org/show/723303/ vFW VNF ACL CLI commands: vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml http://paste.openstack.org/show/723304/ Change-Id: I76a630261a982083b628e3985fc3bec14ca495db Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-06-21Merge "Add scale out TCs with availability zone support"Rodolfo Alonso Hernandez4-0/+333
2018-06-18Update pmd/lcore mask for OVS-DPDK contextStepan Andrushko1-3/+5
Added default values for pmd/lcore mask to the SampleVNF test case for Trex TG. lcore mask - specifies the CPU cores used for non-datapath OVS-DPDK threads. pmd mask - specifies the CPU cores used for data path packet processing. Updated documentation for Standalone OVS-DPDK context. JIRA: YARDSTICK-1246 Change-Id: I8d008a185c94d2047ffa4769d7974bc4d283fd7f Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
2018-06-07Fix latency in l2 and l3 PROX generator config filesXavier Simonart4-20/+85
JIRA: YARDSTICK-1211 Change-Id: I0899d470ca5a0ec7d42d36a9ff9c39cc7369310c Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-05-28Merge "PROX: [WIP] Added scale up TCs."Rodolfo Alonso Hernandez10-0/+810
2018-05-25Add scale out TCs with availability zone supportMytnyk, Volodymyr4-0/+333
Add PROX and vFW scale out TCs with availability zone configuration. To be able to specify the availability zone for specific VNF or TG the following example of command line option shoud be used: yardstick -d task start --task-args='{ "num_vnfs": 2, "availability_zone": { "vnf_0": "az_0", "tg_0": "az_0", "vnf_1": "az_1", "tg_1": "az_1", ... }}' <SCALE-OUT-TC-FILE> The steps to run new scale-out TCs is documented in the userguide. JIRA: YARDSTICK-1203 Change-Id: Ib3878485c5483981fe9b48ab02995712bcc31ae5 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-05-09Fix Prox L2fwd generator packetAbhijit Sinha2-12/+7
The Prox L2-fwd test case has a bad packet, which fails the test case to run in OpenStack context as it's dropped by the neutron. This fix is needed to successfully run the L2fwd 2 and 4 port test cases in heat based test cases. Change-Id: I86df31a6df1eaa6f968e46af159ac6a0157f402c JIRA: YARDSTICK-1164 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-03-21Offline support for bottlenecks projectliyin1-0/+123
JIRA: YARDSTICK-1053 Those three yaml files are for bottlenecks support offiline flavor The ssh time out problem will fix in changing the duration time Change-Id: Ifd317404a820d0446ffab5070211e48def1a0d2f Signed-off-by: liyin <liyin11@huawei.com>
2018-03-16Merge "NSB PROX L3FWD Dropping packets"Abhijit Sinha10-97/+207
2018-03-15NSB PROX L3FWD Dropping packetsDanielMartinBuckley10-97/+207
JIRA: YARDSTICK-1037 NSB PROX L3FWD was incorrect. The routing table (ipv4.lua) was incorrect. Also a specific ipv4 for 2 port configuration is required. Change-Id: I3a5fd1ea1d1ddf74cbdd6a5d9e7ced42d3c1d6e9 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com> Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-03-09Do NOT hardcode interface speed for PROX testsDanielMartinBuckley2-0/+4
JIRA: YARDSTICK-1035 Do not hardcode NIC/interface speed in PROX test. Test assumes NIC used is 10Gbps. This is incorrect. It could support 1Gbps, 10Gbps, 25Gbps, 40Gbps or something else. This is used to calculate pps (Packets Per Second) In Baremetal the NIC speed could be extracted. however when run on a virtual machine this is not possible. Solution: Add in options section of test file. eg. Options: interface_speed_gbps: 10 Where 10 refers to a 10Gbps. In a setup where multiple interfaces are used. This will refer to the speed of the slowest connection. Change-Id: I89ab16479a2cdd1d79e52cbcc5a972762c60d057 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-03-05PROX: [WIP] Added scale up TCs.Mytnyk, Volodymyr10-0/+810
These scale-up TCs replace PROX static TCs which will be removed by separate commit once those new TCs are merged. Change-Id: I892a81c4bfd199782fb561faccc11e70a49675ae Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-03-01vFW scale-up template.Mytnyk, Volodymyr7-0/+400
Added topology and traffic profile templates Added support for using JinJa2 templates in topology definition Added support for static pipeline configs for SampleVNFs JIRA: YARDSTICK-1043 Change-Id: Iab99fd5b5ad69ca32ee70b9fe47779387ad27e7f Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com> Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-02-28Merge "Addition of storage of extra counters for Grafana"Abhijit Sinha2-8/+18
2018-02-28Addition of storage of extra counters for GrafanaDanielMartinBuckley2-8/+18
JIRA: YARDSTICK-1036 This stores a number of extra counters in influxdb for Prox test cases. It also stores existing counters with a "succcess_" tag. Previously throughput where stored without success or failure indication. Also "Result_" counters are also stored. These can now be used by Grafana to graph output. Change-Id: Ie5636c14ecbab1b53a988bdfbd47ddd1fcdbd695 Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2018-02-19Make segmentation_id configurable for tc_heat_rfc2544_ipv4_1rule_1flow_64B_trexMytnyk, Volodymyr1-0/+7
Updated vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml TC to be able to configure segmentation_id from commmand line. E.g.: yardstick -d task start --task-args='{"provider": "sriov", \ "segmentation_id": 100}' ... JIRA: YARDSTICK-1004 Change-Id: I53daae3468de2a1f523bd96817143a5f809238a2 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-02-15Merge "Update heat RFC2544 based TC to support SRIOV VF ports."Emma Foley1-0/+11
2018-02-14BugFix: Fix to pod context filenameXavier Simonart1-1/+1
The "context:file" of tc_prox_baremetal_lw_aftr has an incorrect path, compaired to all other prox test cases. Change-Id: Id24e74905f36bc84fdf93d1a2966211ecad55c8b Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-02-14Update heat RFC2544 based TC to support SRIOV VF ports.Mytnyk, Volodymyr1-0/+11
Updated vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex.yaml TC to be able to run it in heat context with SRIOV VF ports configured in OpenStack. E.g.: yardstick task start --task-args='{"provider": "sriov"}' ... yardstick task start --task-args='{"provider": "sriov"}\ physical_networks: ["physnet1", "physnet2"]}' ... Console log: http://paste.openstack.org/show/666931/ Result output: http://paste.openstack.org/show/666930/ JIRA: YARDSTICK-1004 Change-Id: If0dabd0791e4e295782fee0f3de1536474218876 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-02-08Prox vnf descriptor cleanupAbhijit Sinha3-6/+6
JIRA: YARDSTICK-1003 - There are redundant files for Prox vnf descriptors tg and vnf for 1, 2 and 4 port set-up. - We can use one vnf descriptor file per prox tg and prox vnf, reducing the number of redundant files. - Tested on Prox BM L2fwd 2 and 4 port test case. Change-Id: I4c61fd11725121f19392443460ac2ad39c934e2d Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-02-01Merge "Adding new vFirewall Test cases based on Concurrency, Connections per ↵Ross Brattain59-0/+2980
second, Throughput and Transactions per second for various http locator image sizes including 1b, 4k, 64k, 256k, 1024k"
2018-01-30Add sample OpenStack/SRIOV RFC2544 based TCMytnyk, Volodymyr1-0/+88
Add sample OpenStack/SRIOV RFC2544 based test case which can be run using external Trex. Console log: http://paste.openstack.org/show/658002/ Result output: http://paste.openstack.org/show/658004/ JIRA: YARDSTICK-967 Change-Id: Id0e2d6d47f459c7e6a3370735bab74f7ce502b24 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-01-23Cleanup of redundant files from Prox directoryAbhijit Sinha15-631/+0
JIRA: YARDSTICK-965 Removed the redundant files and directory from Prox test folder. Change-Id: I6167f0a4ccdd581153dad3ec9f5eaaf2619aacbd Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2018-01-02Merge "Adding vFW RFC2544 and ixload test cases with various packet sizes"Ross Brattain11-0/+714
2017-12-16samples: Add generic L3 forwarder testsDino Madarang61-0/+6865
A generic throughput test case that can be used as a stub code for a Linux-based VNF configured as an L3 forwarder. Supported context: * Standalone OVSDPDK and SRIOV * Baremetal Code changes: * Allow pmd-cpu-mask and lcore mask for OVS DPDK * router_vnf.py - configures interface IP addresses and static arp entries using ip command * NFVi KPIs * Allow cputune tag for standalone context to be able to PIN on NUMA 1 cpus SRIOV Test cases: * RFC2544 Ethernet framesizes, 128K Flows * 2,4 and 6 ports * 2 and 3 vcpus per port * OVSDPDK Test cases: * RFC2544 Ethernet framesizes, 128K Flows * 2 and 4 ports * 2 vcpus per port * 2 PMD threads per port TODO: * Documentation * Add 6 ports tests References: * router_vnf.py is based on sample_vnf.py * tc_*.yaml files are based on acl/vfw test case files Added unitests Added get_stats to parse ip -s link Change-Id: Id1b969d5420dfcab7c1e695acbd2cd1655747efe Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com> Signed-off-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Reviewed-by: Alain Jebara <alain.jebara@intel.com> Reviewed-by: Deepak S <deepak.s@linux.intel.com> Reviewed-by: Emma Foley <emma.l.foley@intel.com> Reviewed-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Reviewed-by: Ross Brattain <ross.b.brattain@intel.com> Reviewed-by: Edward MacGillivray <edward.s.macgillivray@intel.com> Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-12-11Adding vFW RFC2544 and ixload test cases with various packet sizesPhani Kiran Thaticharla11-0/+714
Changed private to uplink and public to downlink Change-Id: Id9273d9489f58bd45b60a00fc9e5bcbe9e136c84 Signed-off-by: Phani Kiran Thaticharla <phani.kiran.thaticharla@intel.com> Reviewed-by: Oscar Medina-Duran <oscar.medina-duran@intel.com> Reviewed-by: Deepak S <deepak.s@linux.intel.com> Reviewed-by: Ross Brattain <ross.b.brattain@intel.com> 
2017-12-04Adding new vFirewall Test cases based on Concurrency, Connections per ↵Phani Kiran Thaticharla59-0/+2980
second, Throughput and Transactions per second for various http locator image sizes including 1b, 4k, 64k, 256k, 1024k Change-Id: I253d1fa20a0324bc9efeaa4da1a24560e644734c Signed-off-by: Phani Kiran Thaticharla <phani.kiran.thaticharla@intel.com> Reviewed-by: Oscar Medina-Duran <oscar.medina-duran@intel.com> Reviewed-by: Deepak S <deepak.s@linux.intel.com> Reviewed-by: Ross Brattain <ross.b.brattain@intel.com> 
2017-11-17Merge "Add vfw ixload testcase for heat"Ross Brattain4-1/+269