{"id":21375,"library":"genie-trafficgen","title":"genie-trafficgen","description":"Genie Library for traffic generator connection support. Version 26.3 provides abstractions for controlling traffic generators (e.g., Ixia, Spirent) via Genie's unified API. Part of Cisco's pyATS/Genie ecosystem. Release cadence is irregular.","status":"active","version":"26.3","language":"python","source_language":"en","source_url":"https://github.com/CiscoTestAutomation/genie-trafficgen","tags":["traffic generation","ixia","spirent","genie","testing"],"install":[{"cmd":"pip install genie-trafficgen","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core Genie library required for trafficgen abstractions","package":"genie","optional":false},{"reason":"pyATS framework often used alongside Genie","package":"pyats","optional":true}],"imports":[{"note":"Subpackage path changed in older versions; use genie.trafficgen directly","wrong":"from genie.libs.trafficgen import TrafficGen","symbol":"TrafficGen","correct":"from genie.trafficgen import TrafficGen"},{"note":"Ixia device class available under genie.trafficgen.ixia","symbol":"Ixia","correct":"from genie.trafficgen.ixia import Ixia"}],"quickstart":{"code":"from genie.trafficgen import TrafficGen\nfrom genie.conf import Genie\n\ntg = TrafficGen()\ntg.connect(host='10.1.1.1', port=1234, protocol='ssh')\nprint('Connected to traffic generator:', tg.host)\ntg.disconnect()","lang":"python","description":"Basic connection to a traffic generator using default SSH protocol."},"warnings":[{"fix":"Use TrafficGen directly instead of subclassing; migrate custom device support to new plugin system.","message":"API changes in version 26.x: TrafficGen class replaced abstract base, breaking old subclass patterns.","severity":"breaking","affected_versions":">=26.0,<27.0"},{"fix":"Change import to `from genie.trafficgen import TrafficGen`.","message":"Direct import from `genie.libs.trafficgen` is deprecated; use `genie.trafficgen` instead.","severity":"deprecated","affected_versions":">=26.0,<27.0"},{"fix":"Wrap in timeout or use async version with custom timeout param if available.","message":"TrafficGen.connect() may hang indefinitely if device is unreachable; no timeout by default.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install genie-trafficgen' to install or upgrade.","cause":"Missing or outdated installation; package renamed or not installed.","error":"ModuleNotFoundError: No module named 'genie.trafficgen'"},{"fix":"Change import to 'from genie.trafficgen import TrafficGen'.","cause":"Importing 'genie' directly instead of 'genie.trafficgen'.","error":"AttributeError: module 'genie' has no attribute 'trafficgen'"},{"fix":"Verify device IP, port, and supported protocol (ssh/telnet). Check credentials if required.","cause":"Incorrect host/port or protocol not supported.","error":"genie.trafficgen.exceptions.ConnectionError: Could not connect to host"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}