> usr/src/lib/libwladm/common/libwladm.c (not including the smf changes)
> 
> 1. I don't like the fact that do_connect() and do_disconnect() takes two 
> arguments fd and link which refers to basically the same object. I 
> understand that the fundamental problem behind this is libwladm trying 
> to reuse fd for every operation, but which I think it is unnecessary.
> 
> There are some other problems and inconsistencies - we don't need to 
> reuse gbuf in every functioins libwladm calls. Another example is some 
> of do_xxx() function returns wladm_status_t and some of them returns int.
> 
> So ideally, for example, I prefer the do_get_capability() function to be 
> in the form of:
> 
>   wladm_status_t do_get_capability(const char *link, wl_capability_t *cap);
> 
> I understand some of these problems already existed before your changes, 
> but as you are the same project team working on the libwladm code 
> before, I hope you can make the necessary changes so that this project 
> and the future ones won't add some strange code to work around these 
> problems.
> 
> | DEFER
> | As you said, these problems exist before this project, so I suggest we 
> open a bug to track
> | this issue, and fix in another build.
> 

Please let me know the bugid. As I am also doing changes o libwladm (now 
libdlwlan), I might just take over that bug.

> 2. do_connect()
> 
> Why not call wpa_instance_delete() when connecting attempt fails or 
> timeout on L602 and L608?
> 
> | EXPLAIN
> | When dladm disconnect-wifi, it will call do_disconnect(), and 
> do_disconnect() will call wpa_instance_delete().
> | When do_connect() fails, it will call do_disconnect(), so the 
> wpa_instance_delete() will be executed.
> 

I see. Although it is a little unexpected that do_disconnect() *needs* to be 
called even do_connect fails.

> the change webrev is at: http://cr.grommit.com/~zf162725/cr_0322/
> 
Looks good.

- Cathy

Reply via email to