# HG changeset patch
# User Ewan Mellor <ewan@xxxxxxxxxxxxx>
# Date 1173397644 0
# Node ID 2ff4a2a5a6e5286a92d26c330564d943f95d2552
# Parent e562440e04128855ce0ed5c65b9d22488748f228
Added {VIF,VBD}.{plug,unplug} methods. Docs and C bindings -- Xend to follow.
Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx>
---
docs/xen-api/xenapi-datamodel.tex | 130 ++++++++++++++++++++++++++++++++++++++
tools/libxen/include/xen_vbd.h | 16 ++++
tools/libxen/include/xen_vif.h | 16 ++++
tools/libxen/src/xen_vbd.c | 28 ++++++++
tools/libxen/src/xen_vif.c | 28 ++++++++
5 files changed, 218 insertions(+)
diff -r e562440e0412 -r 2ff4a2a5a6e5 docs/xen-api/xenapi-datamodel.tex
--- a/docs/xen-api/xenapi-datamodel.tex Thu Mar 08 23:22:56 2007 +0000
+++ b/docs/xen-api/xenapi-datamodel.tex Thu Mar 08 23:47:24 2007 +0000
@@ -7118,6 +7118,71 @@ Quals & Field & Type & Description \\
\hline
\end{longtable}
\subsection{Additional RPCs associated with class: VIF}
+\subsubsection{RPC name:~plug}
+
+{\bf Overview:}
+Hotplug the specified VIF, dynamically attaching it to the running VM.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} void plug (session_id s, VIF ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt VIF ref } & self & The VIF to hotplug \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+void
+}
+
+
+
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~unplug}
+
+{\bf Overview:}
+Hot-unplug the specified VIF, dynamically unattaching it from the running
+VM.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} void unplug (session_id s, VIF ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt VIF ref } & self & The VIF to hot-unplug \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+void
+}
+
+
+
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
\subsubsection{RPC name:~get\_all}
{\bf Overview:}
@@ -10464,6 +10529,71 @@ void
\vspace{0.3cm}
\vspace{0.3cm}
\vspace{0.3cm}
+\subsubsection{RPC name:~plug}
+
+{\bf Overview:}
+Hotplug the specified VBD, dynamically attaching it to the running VM.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} void plug (session_id s, VBD ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt VBD ref } & self & The VBD to hotplug \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+void
+}
+
+
+
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
+\subsubsection{RPC name:~unplug}
+
+{\bf Overview:}
+Hot-unplug the specified VBD, dynamically unattaching it from the running
+VM.
+
+ \noindent {\bf Signature:}
+\begin{verbatim} void unplug (session_id s, VBD ref self)\end{verbatim}
+
+
+\noindent{\bf Arguments:}
+
+
+\vspace{0.3cm}
+\begin{tabular}{|c|c|p{7cm}|}
+ \hline
+{\bf type} & {\bf name} & {\bf description} \\ \hline
+{\tt VBD ref } & self & The VBD to hot-unplug \\ \hline
+
+\end{tabular}
+
+\vspace{0.3cm}
+
+ \noindent {\bf Return Type:}
+{\tt
+void
+}
+
+
+
+\vspace{0.3cm}
+\vspace{0.3cm}
+\vspace{0.3cm}
\subsubsection{RPC name:~get\_all}
{\bf Overview:}
diff -r e562440e0412 -r 2ff4a2a5a6e5 tools/libxen/include/xen_vbd.h
--- a/tools/libxen/include/xen_vbd.h Thu Mar 08 23:22:56 2007 +0000
+++ b/tools/libxen/include/xen_vbd.h Thu Mar 08 23:47:24 2007 +0000
@@ -358,6 +358,22 @@ xen_vbd_media_change(xen_session *sessio
/**
+ * Hotplug the specified VBD, dynamically attaching it to the running
+ * VM
+ */
+extern bool
+xen_vbd_plug(xen_session *session, xen_vbd self);
+
+
+/**
+ * Hot-unplug the specified VBD, dynamically unattaching it from the
+ * running VM
+ */
+extern bool
+xen_vbd_unplug(xen_session *session, xen_vbd self);
+
+
+/**
* Return a list of all the VBDs known to the system.
*/
extern bool
diff -r e562440e0412 -r 2ff4a2a5a6e5 tools/libxen/include/xen_vif.h
--- a/tools/libxen/include/xen_vif.h Thu Mar 08 23:22:56 2007 +0000
+++ b/tools/libxen/include/xen_vif.h Thu Mar 08 23:47:24 2007 +0000
@@ -332,6 +332,22 @@ xen_vif_remove_from_qos_algorithm_params
/**
+ * Hotplug the specified VIF, dynamically attaching it to the running
+ * VM
+ */
+extern bool
+xen_vif_plug(xen_session *session, xen_vif self);
+
+
+/**
+ * Hot-unplug the specified VIF, dynamically unattaching it from the
+ * running VM
+ */
+extern bool
+xen_vif_unplug(xen_session *session, xen_vif self);
+
+
+/**
* Return a list of all the VIFs known to the system.
*/
extern bool
diff -r e562440e0412 -r 2ff4a2a5a6e5 tools/libxen/src/xen_vbd.c
--- a/tools/libxen/src/xen_vbd.c Thu Mar 08 23:22:56 2007 +0000
+++ b/tools/libxen/src/xen_vbd.c Thu Mar 08 23:47:24 2007 +0000
@@ -552,6 +552,34 @@ xen_vbd_media_change(xen_session *sessio
bool
+xen_vbd_plug(xen_session *session, xen_vbd self)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = self }
+ };
+
+ xen_call_(session, "VBD.plug", param_values, 1, NULL, NULL);
+ return session->ok;
+}
+
+
+bool
+xen_vbd_unplug(xen_session *session, xen_vbd self)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = self }
+ };
+
+ xen_call_(session, "VBD.unplug", param_values, 1, NULL, NULL);
+ return session->ok;
+}
+
+
+bool
xen_vbd_get_all(xen_session *session, struct xen_vbd_set **result)
{
diff -r e562440e0412 -r 2ff4a2a5a6e5 tools/libxen/src/xen_vif.c
--- a/tools/libxen/src/xen_vif.c Thu Mar 08 23:22:56 2007 +0000
+++ b/tools/libxen/src/xen_vif.c Thu Mar 08 23:47:24 2007 +0000
@@ -500,6 +500,34 @@ xen_vif_remove_from_qos_algorithm_params
bool
+xen_vif_plug(xen_session *session, xen_vif self)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = self }
+ };
+
+ xen_call_(session, "VIF.plug", param_values, 1, NULL, NULL);
+ return session->ok;
+}
+
+
+bool
+xen_vif_unplug(xen_session *session, xen_vif self)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = self }
+ };
+
+ xen_call_(session, "VIF.unplug", param_values, 1, NULL, NULL);
+ return session->ok;
+}
+
+
+bool
xen_vif_get_all(xen_session *session, struct xen_vif_set **result)
{
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|