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>
+ */
+
+#ifndef NETLINK_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