[PATCH] cls: add rtnl_u32_get_classid() API
Cong Wang
xiyou.wangcong at gmail.com
Wed Mar 4 09:27:14 PST 2015
On Wed, Mar 4, 2015 at 6:03 AM, Thomas Haller <thaller at redhat.com> wrote:
> On Tue, 2015-03-03 at 22:05 -0800, Cong Wang wrote:
>>
>> +int rtnl_u32_get_classid(struct rtnl_cls *cls, uint32_t *classid)\
>> +{
>> + struct rtnl_u32 *u;
>> +
>> + if (!(u = rtnl_tc_data(TC_CAST(cls))))
>> + return -NLE_NOMEM;
>
> I dislike that the getter tries to allocate memory. I know, other places
> do that too...
>
> I pushed a new function rtnl_tc_data_peek() to master. How is that?
>
> + if (!(u = rtnl_tc_data_peek(TC_CAST(cls))))
> + return -NLE_INVAL;
>
Nice! Definitely better!
>> diff --git a/libnl-route-3.sym b/libnl-route-3.sym
>> index 2768f05..7a5f26f 100644
>> --- a/libnl-route-3.sym
>> +++ b/libnl-route-3.sym
>> @@ -815,6 +815,7 @@ global:
>> rtnl_u32_del_action;
>> rtnl_u32_get_key;
>> rtnl_u32_set_classid;
>> + rtnl_u32_get_classid;
>
> the new symobls should move down to the new libnl_3_2_26 section (at the
> end of the file).
Ah, my bad, I missed that.
>
>> rtnl_u32_set_cls_terminal;
>> rtnl_u32_set_divisor;
>> rtnl_u32_set_flags;
>
>
>
>
> If you agree with me doing these two changes, no need to resend the
> patch (unless you want).
Totally agree with your changes, please go ahead to change it.
More information about the libnl
mailing list