MCPcopy Create free account
hub / github.com/F-Stack/f-stack / main

Function main

dpdk/usertools/dpdk-rss-flows.py:411–482  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

409
410
411def main():
412 args = parse_args()
413 use_l4_port = args.sport_range != NO_PORT or args.dport_range != NO_PORT
414
415 algo = RSSAlgo(
416 queues_count=args.rx_queues,
417 key=args.rss_key,
418 reta_size=args.reta_size,
419 use_l4_port=use_l4_port,
420 )
421 template = TrafficTemplate(
422 args.ip_src,
423 args.ip_dst,
424 args.sport_range,
425 args.dport_range,
426 )
427
428 results = balanced_traffic(
429 algo, template, args.check_reverse_traffic, args.all_flows
430 )
431
432 if args.json:
433 flows = []
434 for q, qr, pkt in results:
435 flows.append(
436 {
437 "queue": q,
438 "queue_reverse": qr,
439 "src_ip": str(pkt.ip_src),
440 "dst_ip": str(pkt.ip_dst),
441 "src_port": pkt.l4_sport,
442 "dst_port": pkt.l4_dport,
443 }
444 )
445 print(json.dumps(flows, indent=2))
446 return
447
448 if use_l4_port:
449 header = ["SRC_IP", "SPORT", "DST_IP", "DPORT", "QUEUE"]
450 else:
451 header = ["SRC_IP", "DST_IP", "QUEUE"]
452 if args.check_reverse_traffic:
453 header.append("QUEUE_REVERSE")
454
455 rows = [tuple(header)]
456 widths = [len(h) for h in header]
457
458 for q, qr, pkt in results:
459 if use_l4_port:
460 row = [pkt.ip_src, pkt.l4_sport, pkt.ip_dst, pkt.l4_dport, q]
461 else:
462 row = [pkt.ip_src, pkt.ip_dst, q]
463 if args.check_reverse_traffic:
464 row.append(qr)
465 cells = []
466 for i, r in enumerate(row):
467 r = str(r)
468 if len(r) > widths[i]:

Callers 1

dpdk-rss-flows.pyFile · 0.70

Calls 5

RSSAlgoClass · 0.85
TrafficTemplateClass · 0.85
balanced_trafficFunction · 0.85
parse_argsFunction · 0.70
printFunction · 0.50

Tested by

no test coverage detected