# Example 10 Gbps: TRAFFICGEN_TREXINE_SPEED_GBPS = '10'
# Today only 10 Gbps is supported
TRAFFICGEN_TREX_LINE_SPEED_GBPS = '10'
+# FOR SR-IOV tests to work with T-Rex enable Promiscuous mode
+TRAFFICGEN_TREX_PROMISCUOUS=False
PATHS['trafficgen'] = {
'trex': {
'type' : 'src',
# Example 10 Gbps: TRAFFICGEN_TREXINE_SPEED_GBPS = '10'
# Today only 10 Gbps is supported
TRAFFICGEN_TREX_LINE_SPEED_GBPS = '10'
+# FOR SR-IOV tests to work with T-Rex enable Promiscuous mode
+TRAFFICGEN_TREX_PROMISCUOUS=False
# TREX Configuration and Connection Info-- END
####################################################
.. code-block:: console
TRAFFICGEN_TREX_RFC2544_TPUT_THRESHOLD = ''
+
+SR-IOV
+~~~~~~
+T-Rex by default only accepts packets on the receive side if the destination mac matches the
+MAC address specificed in the /etc/trex-cfg.yaml on the server side. For SR-IOV this creates
+challenges with modifying the MAC address in the traffic profile to correctly flow packets
+through specified VFs. To remove this limitation enable promiscuous mode on T-Rex to allow
+all packets regardless of the destination mac to be accepted.
+
+.. code-block:: console
+
+ TRAFFICGEN_TREX_PROMISCUOUS=True
my_ports = [0, 1]
self._stlclient.reset(my_ports)
ports_info = self._stlclient.get_port_info(my_ports)
+ # for SR-IOV
+ if settings.getValue('TRAFFICGEN_TREX_PROMISCUOUS'):
+ self._stlclient.set_port_attr(my_ports, promiscuous=True)
+
packet_1, packet_2 = Trex.create_packets(traffic, ports_info)
stream_1, stream_2, stream_1_lat, stream_2_lat = Trex.create_streams(packet_1, packet_2, traffic)
self._stlclient.add_streams(stream_1, ports=[0])