Re: [PATCH net-next v17 14/14] netlink: specs: Enhance tsinfo netlink attributes and add a tsconfig set command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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>




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux