Hi again,

> """
> An IPv4 or IPv6 address was previously defined like:
> ```
> u8 is_ip6;
> u8 address[16];
> ```
> 
> Which made it hard for language bindings to represent the
> address as anything but a byte string.
> The new explicit address types are shown above.
> """
> 
> I bumped into ip address defined like above,   then what is the correct way 
> to pass ip address to python api ?
> 
> I tried below way, but it seems that is not corrent,
> 
> vip_addr = ''.join(list(inet_pton(AF_INET, '90.1.2.1')))
> 
> pass `vip_addr` to a python api that need ip address,  I can not get the 
> correct result.

Just passing the result of "inet_pton(AF_INET, '90.1.2.1') should work.
u8 address[16] in python doesn't take a Python list, but a byte string.
Let me add that to the documentation too. ;-)

Cheers,
Ole

> 
> Best Regards
> Yulong Pei
> 
> -----Original Message-----
> From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Ole Troan
> Sent: Wednesday, May 8, 2019 4:45 PM
> To: Pei, Yulong <yulong....@intel.com>
> Cc: vpp-dev@lists.fd.io; csit-...@lists.fd.io; Ni, Hongjun 
> <hongjun...@intel.com>; Liu, Yu Y <yu.y....@intel.com>; Kinsella, Ray 
> <ray.kinse...@intel.com>
> Subject: Re: [vpp-dev] [csit-dev] how to know data type mapping between 
> *.api.json with PYTHON API ?
> 
> Hi again,
> 
>> Thanks for you kindly help.  Now I know the data type mapping, and I 
>> have another question, When I pass parameters to a python api, the api 
>> excuted successfully,  no error reported,  but the final result is not 
>> what I want to get, So I want to debug to know where the issue existed,  
>> Does python api have debug mode to step in an python api internal to know 
>> the parameter that pass to the api is valid ?
> 
> You can enable logging in the Python mode that gives quite a bit of 
> information. Feel free to add to that btw.
> There is also API tracing on the VPP side you can enable. And of course you 
> can run both the Python side and the VPP side in debuggers.
> 
> But yes, any suggestions for how debuggability of developing new API messages 
> are welcome.
> 
> Cheers,
> Ole
> 
>> -----Original Message-----
>> From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of 
>> Ole Troan
>> Sent: Tuesday, May 7, 2019 3:20 PM
>> To: Pei, Yulong <yulong....@intel.com>
>> Cc: vpp-dev@lists.fd.io; csit-...@lists.fd.io; Ni, Hongjun 
>> <hongjun...@intel.com>; Liu, Yu Y <yu.y....@intel.com>; Kinsella, Ray 
>> <ray.kinse...@intel.com>
>> Subject: Re: [vpp-dev] [csit-dev] how to know data type mapping between 
>> *.api.json with PYTHON API ?
>> 
>> Hi Yulong,
>> 
>> Good question. That has been on my list of things to document for a while.
>> Does
>> https://gerrit.fd.io/r/#/c/19389/
>> 
>> answer your question?
>> Please suggest improvements and improve the text as you notice gaps.
>> 
>> Best regards,
>> Ole
>> 
>> 
>>> On 7 May 2019, at 07:49, Pei, Yulong <yulong....@intel.com> wrote:
>>> 
>>> Hello vpp-dev & csit-dev,
>>> 
>>> I  have a question about how to know data type mapping between  *.api.json 
>>> with PYTHON API ?
>>> 
>>> Let me use “./src/vnet/ip/ip.api” as example,  as I know,   vppapigen will 
>>> autogenerate  “ip.api.json” from “ip.api”
>>> 
>>> And then vpp_papi can autogenerate  its python api from “ip.api.json”, is 
>>> there any way to know data type mapping between  *.api.json with PYTHON API 
>>> ?
>>> 
>>> For example:
>>> 
>>> In “./src/vnet/ip/ip.api”,
>>> 
>>> define ip6_fib_details
>>> {
>>> u32 context;
>>> u32 table_id;
>>> u8  table_name[64];
>>> u8  address_length;
>>> u8  address[16];
>>> u32 count;
>>> u32 stats_index;
>>> vl_api_fib_path_t path[count];
>>> };
>>> 
>>> Then in   “ip.api.json”, I  got,
>>> 
>>>       [
>>>           "ip6_fib_details",
>>>           [
>>>               "u16",
>>>               "_vl_msg_id"
>>>           ],
>>>           [
>>>               "u32",
>>>               "context"
>>>           ],
>>>           [
>>>               "u32",
>>>               "table_id"
>>>           ],
>>>           [
>>>               "u8",
>>>               "table_name",
>>>               64
>>>           ],
>>>           [
>>>               "u8",
>>>               "address_length"
>>>           ],
>>>           [
>>>               "u8",
>>>               "address",
>>>               16
>>>           ],
>>>           [
>>>               "u32",
>>>               "count"
>>>           ],
>>>           [
>>>               "u32",
>>>               "stats_index"
>>>           ],
>>>           [
>>>               "vl_api_fib_path_t",
>>>               "path",
>>>               0,
>>>               "count"
>>>           ],
>>>           {
>>>               "crc": "0xef11e94d"
>>>           }
>>>       ],
>>> 
>>> My question is that which kind of python data type can be used to map below 
>>> json types ?
>>>           [
>>>               "u8",
>>>               "table_name",
>>>               64
>>>           ],
>>> 
>>>           [
>>>               "u8",
>>>               "address",
>>>               16
>>>           ],
>>> 
>>>           [
>>>               "vl_api_fib_path_t",
>>>               "path",
>>>               0,
>>>               "count"
>>>           ],
>>> 
>>> Best Regards
>>> Yulong Pei
>>> 
>>> 
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> 
>>> View/Reply Online (#3484): 
>>> https://lists.fd.io/g/csit-dev/message/3484
>>> Mute This Topic: https://lists.fd.io/mt/31529209/675193
>>> Group Owner: csit-dev+ow...@lists.fd.io
>>> Unsubscribe: https://lists.fd.io/g/csit-dev/unsub  
>>> [otr...@employees.org]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#12962): https://lists.fd.io/g/vpp-dev/message/12962
> Mute This Topic: https://lists.fd.io/mt/31529576/675193
> Group Owner: vpp-dev+ow...@lists.fd.io
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [otr...@employees.org]
> -=-=-=-=-=-=-=-=-=-=-=-

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12963): https://lists.fd.io/g/vpp-dev/message/12963
Mute This Topic: https://lists.fd.io/mt/31529576/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to