[Libvirt-cim] [V4 PATCH 2/8] vlan library - add missing header files in libnl-devel 1.1

Chip Vincent cvincent at linux.vnet.ibm.com
Thu Jan 19 01:04:55 UTC 2012


I installed the package and the file is indeed missing even though it is 
advertised by the rpm (I'm using RHEL 6.2--is this bug in other distros?). As 
such, I don't see another option short of manually creating them, which is also 
ours to maintain.IMO, you might as well place this in the libxkutil directory 
where we keep the other general purpose headers.

On 01/18/2012 05:12 PM, Sharad Mishra wrote:
> I guess we are okay including the LGPL code written by others in
> libvirt-cim. The only issue I see is the one that DV raised earlier ... now
> it becomes our baby to maintain.
>
> Regards,
> Sharad Mishra
> Open Virtualization
> Linux Technology Center
> IBM
>
> libvirt-cim-bounces at redhat.com wrote on 01/18/2012 01:41:44 AM:
>
>> Wenchao Xia<xiawenc at linux.vnet.ibm.com>
>> Sent by: libvirt-cim-bounces at redhat.com
>>
>> 01/18/2012 01:41 AM
>>
>> Please respond to
>> List for discussion and development of libvirt CIM
> <libvirt-cim at redhat.com>
>> To
>>
>> libvirt-cim at redhat.com
>>
>> cc
>>
>> Wenchao Xia<xiawenc at cn.ibm.com>
>>
>> Subject
>>
>> [Libvirt-cim] [V4 PATCH 2/8] vlan library - add missing header files
>> in libnl-devel 1.1
>>
>>      Because libnl-devel-1.1 package missed some header files even
> iffunctions
>> are included in its .so file, they are directly be put here. Codes
>> are from the
>> help documents that libnl-devel-1.1 provides.
>>
>> Signed-off-by: Wenchao Xia<xiawenc at cn.ibm.com>
>> ---
>>   libnetwork/include/netlink/route/link/info-api.h |   71 +++++++++++
>> +++++++++++
>>   libnetwork/include/netlink/route/link/vlan.h     |   55 ++++++++++++++++
> +
>>   2 files changed, 126 insertions(+), 0 deletions(-)
>>   create mode 100644 libnetwork/include/netlink/route/link/info-api.h
>>   create mode 100644 libnetwork/include/netlink/route/link/vlan.h
>>
>> diff --git a/libnetwork/include/netlink/route/link/info-api.h b/
>> libnetwork/include/netlink/route/link/info-api.h
>> new file mode 100644
>> index 0000000..7a2e498
>> --- /dev/null
>> +++ b/libnetwork/include/netlink/route/link/info-api.h
>> @@ -0,0 +1,71 @@
>> +/*
>> + * netlink/route/link/info-api.h        Link Info API
>> + *
>> + *      This library is free software; you can redistribute it and/or
>> + *      modify it under the terms of the GNU Lesser General Public
>> + *      License as published by the Free Software Foundation version 2.1
>> + *      of the License.
>> + *
>> + * Copyright (c) 2003-2008 Thomas Graf<tgraf at suug.ch>
>> + */
>> +
>> +#ifndefNETLINK_LINK_INFO_API_H_
>> +#define NETLINK_LINK_INFO_API_H_
>> +
>> +#include<netlink/netlink.h>
>> +
>> +#ifdef __cplusplus
>> +extern "C" {
>> +#endif
>> +
>> +/**
>> + * @ingroup link_info
>> + *
>> + * Link info operations
>> + */
>> +struct rtnl_link_info_ops
>> +{
>> +        /** Name of operations, must match name on kernel side */
>> +        char *          io_name;
>> +
>> +        /** Reference count (internal, do not use) */
>> +        int             io_refcnt;
>> +
>> +        /** Called to assign an info type to a link.
>> +         * Has to allocate enough resources to hold attributes. Can
>> +         * use link->l_info to store a pointer. */
>> +        int           (*io_alloc)(struct rtnl_link *);
>> +
>> +        /** Called to parse the link info attribute.
>> +         * Must parse the attribute and assign all values to the link.
>> +         */
>> +        int           (*io_parse)(struct rtnl_link *,
>> +                                  struct nlattr *,
>> +                                  struct nlattr *);
>> +
>> +        /** Called when the link object is dumped.
>> +         * Must dump the info type specific attributes. */
>> +        int           (*io_dump[NL_DUMP_MAX+1])(struct rtnl_link *,
>> +                                                struct
>> nl_dump_params *, int);
>> +
>> +        /** Called when a link object is cloned.
>> +         * Must clone all info type specific attributes. */
>> +        int           (*io_clone)(struct rtnl_link *, struct rtnl_link
> *);
>> +
>> +        /** Called when construction a link netlink message.
>> +         * Must append all info type specific attributes to the message.
> */
>> +        int           (*io_put_attrs)(struct nl_msg *, struct rtnl_link
> *);
>> +
>> +        /** Called to release all resources previously allocated
>> +         * in either io_alloc() or io_parse(). */
>> +        void          (*io_free)(struct rtnl_link *);
>> +
>> +        struct rtnl_link_info_ops *     io_next;
>> +};
>> +
>> +extern struct rtnl_link_info_ops *rtnl_link_info_ops_lookup(const char
> *);
>> +
>> +extern int                      rtnl_link_register_info(struct
>> rtnl_link_info_ops *);
>> +extern int                      rtnl_link_unregister_info(struct
>> rtnl_link_info_ops *);
>> +
>> +#endif
>> diff --git a/libnetwork/include/netlink/route/link/vlan.h b/
>> libnetwork/include/netlink/route/link/vlan.h
>> new file mode 100644
>> index 0000000..80aa921
>> --- /dev/null
>> +++ b/libnetwork/include/netlink/route/link/vlan.h
>> @@ -0,0 +1,55 @@
>> +/*
>> + * netlink/route/link/vlan.h            VLAN interface
>> + *
>> + *      This library is free software; you can redistribute it and/or
>> + *      modify it under the terms of the GNU Lesser General Public
>> + *      License as published by the Free Software Foundation version 2.1
>> + *      of the License.
>> + *
>> + * Copyright (c) 2003-2008 Thomas Graf<tgraf at suug.ch>
>> + */
>> +
>> +#ifndef NETLINK_LINK_VLAN_H_
>> +#define NETLINK_LINK_VLAN_H_
>> +
>> +#include<netlink/netlink.h>
>> +#include<netlink/route/link.h>
>> +
>> +#ifdef __cplusplus
>> +extern "C" {
>> +#endif
>> +
>> +struct vlan_map
>> +{
>> +        uint32_t                vm_from;
>> +        uint32_t                vm_to;
>> +};
>> +
>> +#define VLAN_PRIO_MAX 7
>> +
>> +extern char *           rtnl_link_vlan_flags2str(int, char *, size_t);
>> +extern int              rtnl_link_vlan_str2flags(const char *);
>> +
>> +extern int              rtnl_link_vlan_set_id(struct rtnl_link *, int);
>> +extern int              rtnl_link_vlan_get_id(struct rtnl_link *);
>> +
>> +extern int              rtnl_link_vlan_set_flags(struct rtnl_link *,
>> +                                                 unsigned int);
>> +extern int              rtnl_link_vlan_unset_flags(struct rtnl_link *,
>> +                                                   unsigned int);
>> +extern unsigned int     rtnl_link_vlan_get_flags(struct rtnl_link *);
>> +
>> +extern int              rtnl_link_vlan_set_ingress_map(struct rtnl_link
> *,
>> +                                                       int, uint32_t);
>> +extern uint32_t *       rtnl_link_vlan_get_ingress_map(struct rtnl_link
> *);
>> +
>> +extern int              rtnl_link_vlan_set_egress_map(struct rtnl_link
> *,
>> +                                                      uint32_t, int);
>> +extern struct vlan_map *rtnl_link_vlan_get_egress_map(struct rtnl_link
> *,
>> +                                                      int *);
>> +
>> +#ifdef __cplusplus
>> +}
>> +#endif
>> +
>> +#endif
>> --
>> 1.7.1
>>
>>
>> _______________________________________________
>> Libvirt-cim mailing list
>> Libvirt-cim at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvirt-cim
>>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
>


-- 
Chip Vincent
Open Virtualization
IBM Linux Technology Center
cvincent at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list