On 7/9/2024 6:53 AM, Kory Maincent wrote: > Add new attributed to tsinfo allowing to get the tsinfo from a phc provider > (composed by a phc index and a phc qualifier) on a netdevice's link. > Add simultaneously a tsconfig command to be able to get and set hwtstamp > configuration for a specified phc provider. > > Here is few examples: > ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema > --dump tsinfo-get > --json '{"header":{"dev-name":"eth0"}}' > [{'header': {'dev-index': 3, 'dev-name': 'eth0'}, > 'hwtst-provider': {'index': 0, 'qualifier': 0}, > 'phc-index': 0, > 'rx-filters': {'bits': {'bit': [{'index': 0, 'name': 'none'}, > {'index': 2, 'name': 'some'}]}, > 'nomask': True, > 'size': 16}, > 'timestamping': {'bits': {'bit': [{'index': 0, 'name': 'hardware-transmit'}, > {'index': 2, 'name': 'hardware-receive'}, > {'index': 6, > 'name': 'hardware-raw-clock'}]}, > 'nomask': True, > 'size': 17}, > 'tx-types': {'bits': {'bit': [{'index': 0, 'name': 'off'}, > {'index': 1, 'name': 'on'}]}, > 'nomask': True, > 'size': 4}}, > {'header': {'dev-index': 3, 'dev-name': 'eth0'}, > 'hwtst-provider': {'index': 2, 'qualifier': 0}, > 'phc-index': 2, > 'rx-filters': {'bits': {'bit': [{'index': 0, 'name': 'none'}, > {'index': 1, 'name': 'all'}]}, > 'nomask': True, > 'size': 16}, > 'timestamping': {'bits': {'bit': [{'index': 0, 'name': 'hardware-transmit'}, > {'index': 1, 'name': 'software-transmit'}, > {'index': 2, 'name': 'hardware-receive'}, > {'index': 3, 'name': 'software-receive'}, > {'index': 4, > 'name': 'software-system-clock'}, > {'index': 6, > 'name': 'hardware-raw-clock'}]}, > 'nomask': True, > 'size': 17}, > 'tx-types': {'bits': {'bit': [{'index': 0, 'name': 'off'}, > {'index': 1, 'name': 'on'}, > {'index': 2, 'name': 'onestep-sync'}]}, > 'nomask': True, > 'size': 4}}] > > ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do tsinfo-get > --json '{"header":{"dev-name":"eth0"}, > "hwtst-provider":{"index":0, "qualifier":0 } > }' > {'header': {'dev-index': 3, 'dev-name': 'eth0'}, > 'hwtst-provider': {'index': 0, 'qualifier': 0}, > 'phc-index': 0, > 'rx-filters': {'bits': {'bit': [{'index': 0, 'name': 'none'}, > {'index': 2, 'name': 'some'}]}, > 'nomask': True, > 'size': 16}, > 'timestamping': {'bits': {'bit': [{'index': 0, 'name': 'hardware-transmit'}, > {'index': 2, 'name': 'hardware-receive'}, > {'index': 6, 'name': 'hardware-raw-clock'}]}, > 'nomask': True, > 'size': 17}, > 'tx-types': {'bits': {'bit': [{'index': 0, 'name': 'off'}, > {'index': 1, 'name': 'on'}]}, > 'nomask': True, > 'size': 4}} > > ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do tsinfo-set > --json '{"header":{"dev-name":"eth0"}, > "hwtst-provider":{"index":2, "qualifier":0}}' > None > ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do tsconfig-get > --json '{"header":{"dev-name":"eth0"}}' > {'header': {'dev-index': 3, 'dev-name': 'eth0'}, > 'hwtstamp-flags': 1, > 'hwtstamp-provider': {'index': 1, 'qualifier': 0}, > 'rx-filters': {'bits': {'bit': [{'index': 12, 'name': 'ptpv2-event'}]}, > 'nomask': True, > 'size': 16}, > 'tx-types': {'bits': {'bit': [{'index': 1, 'name': 'on'}]}, > 'nomask': True, > 'size': 4}} > > ./ynl/cli.py --spec netlink/specs/ethtool.yaml --no-schema --do tsconfig-set > --json '{"header":{"dev-name":"eth0"}, > "hwtstamp-provider":{"index":1, "qualifier":0 }, > "rx-filters":{"bits": {"bit": {"name":"ptpv2-l4-event"}}, > "nomask": 1}, > "tx-types":{"bits": {"bit": {"name":"on"}}, > "nomask": 1}}' > None > > Signed-off-by: Kory Maincent <kory.maincent@xxxxxxxxxxx> > --- Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>