6.8. HW 오프로드 흐름 디버깅

ovs-vswitch.log 파일에 다음 메시지가 표시되면 다음 절차를 사용할 수 있습니다.

2020-01-31T06:22:11.257Z|00473|dpif_netlink(handler402)|ERR|failed to offload flow: Operation not supported: p6p1_5

절차

  1. offload 모듈에서 로깅을 활성화하고 이 오류에 대한 추가 로그 정보를 가져오려면 컴퓨팅 노드에서 다음 명령을 사용합니다.

    ovs-appctl vlog/set dpif_netlink:file:dbg
    # Module name changed recently (check based on the version used
    ovs-appctl vlog/set netdev_tc_offloads:file:dbg [OR] ovs-appctl vlog/set netdev_offload_tc:file:dbg
    ovs-appctl vlog/set tc:file:dbg
  2. ovs-vswitchd 로그를 다시 검사하여 문제에 대한 추가 세부 정보를 확인합니다.

    다음 예제 로그에서는 지원되지 않는 속성 표시로 인해 오프로드가 실패했습니다.

     2020-01-31T06:22:11.218Z|00471|dpif_netlink(handler402)|DBG|system@ovs-system: put[create] ufid:61bd016e-eb89-44fc-a17e-958bc8e45fda recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(7),skb_mark(0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:d2:f5:f3,dst=fa:16:3e:c4:a3:eb),eth_type(0x0800),ipv4(src=10.1.1.8/0.0.0.0,dst=10.1.1.31/0.0.0.0,proto=1/0,tos=0/0x3,ttl=64/0,frag=no),icmp(type=0/0,code=0/0), actions:set(tunnel(tun_id=0x3d,src=10.10.141.107,dst=10.10.141.124,ttl=64,tp_dst=4789,flags(df|key))),6
    
    2020-01-31T06:22:11.253Z|00472|netdev_tc_offloads(handler402)|DBG|offloading attribute pkt_mark isn't supported
    
    2020-01-31T06:22:11.257Z|00473|dpif_netlink(handler402)|ERR|failed to offload flow: Operation not supported: p6p1_5

Mellanox NIC 디버깅

Mellanox은 Red Hat SOS 보고서와 마찬가지로 시스템 정보 스크립트를 제공했습니다.

https://github.com/Mellanox/linux-sysinfo-snapshot/blob/master/sysinfo-snapshot.py

이 명령을 실행하면 관련 로그 정보의 zip 파일을 생성합니다. 이는 지원 사례에 유용합니다.

절차

  • 다음 명령을 사용하여 이 시스템 정보 스크립트를 실행할 수 있습니다.

    # ./sysinfo-snapshot.py --asap --asap_tc --ibdiagnet --openstack

또한 Mellanox 펌웨어 툴(MFT), mlxconfig, mlxlink 및 OFED(OpenFabrics Enterprise Distribution) 드라이버를 설치할 수 있습니다.

유용한 CLI 명령

다음 옵션과 함께 ethtool 유틸리티를 사용하여 진단 정보를 수집합니다.

  • ethtool -l <uplink representor> : 채널 수 보기
  • ethtool -I <uplink/VFs> : 통계 확인
  • ethtool -i <uplink rep> : 드라이버 정보 보기
  • ethtool -g <uplink rep> : 링 크기 확인
  • ethtool -k <uplink/VFs> : 활성화된 기능보기

표현자 및 PF 포트에서 tcpdump 유틸리티를 사용하여 트래픽 흐름을 유사하게 확인합니다.

  • 대표 포트의 링크 상태에 대한 변경 사항은 VF 링크 상태에도 영향을 줍니다.
  • Representor 포트 통계도 VF 통계로 표시됩니다.

다음 명령을 사용하여 유용한 진단 정보를 가져옵니다.

$ ovs-appctl dpctl/dump-flows -m type=offloaded

$ ovs-appctl dpctl/dump-flows -m

$ tc filter show dev ens1_0 ingress

$ tc -s filter show dev ens1_0 ingress

$ tc monitor