δΊ 2012-1-19 9:04, Chip Vincent ει:
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.
it is a burden to take care of the baby header files by ourself,
but I think libnl-1 project have stopped to release newer version,
instead they are working on libnl-3, so these header files would not
need to be updated in the future, if we use libnl-1.
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(a)redhat.com wrote on 01/18/2012 01:41:44 AM:
>
>> Wenchao Xia<xiawenc(a)linux.vnet.ibm.com>
>> Sent by: libvirt-cim-bounces(a)redhat.com
>>
>> 01/18/2012 01:41 AM
>>
>> Please respond to
>> List for discussion and development of libvirt CIM
> <libvirt-cim(a)redhat.com>
>> To
>>
>> libvirt-cim(a)redhat.com
>>
>> cc
>>
>> Wenchao Xia<xiawenc(a)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(a)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(a)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(a)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(a)redhat.com
>>
https://www.redhat.com/mailman/listinfo/libvirt-cim
>>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/libvirt-cim
>
--
Best Regards
Wayne Xia
mail:xiawenc@linux.vnet.ibm.com
tel:86-010-82450803