<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1933050000;
mso-list-type:hybrid;
mso-list-template-ids:420146250 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi list,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m working under Havana.<o:p></o:p></p>
<p class="MsoNormal"> openstack-neutron.noarch 2013.2-1.el6 @openstack-havana<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">openstack-neutron-linuxbridge.noarch 2013.2-1.el6 @openstack-havana<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">openstack-neutron-openvswitch.noarch 2013.2-1.el6 @openstack-havana<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">python-neutron.noarch 2013.2-1.el6 @openstack-havana<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">python-neutronclient.noarch 2.3.1-2.el6 @openstack-havana<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">I met an issue here:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in"><span style="mso-fareast-language:JA">1.</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif";mso-fareast-language:JA">
</span><span style="mso-fareast-language:JA">We have a network “vlan-1” working under VLAN mode.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in"><span style="mso-fareast-language:JA">2.</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif";mso-fareast-language:JA">
</span><span style="mso-fareast-language:JA">For instance booted from network “vlan-1”, on compute node, easy to observed the vlan tag on the virtual port is “1”:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><b><span style="mso-fareast-language:JA">ovs-vsctl show<o:p></o:p></span></b></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA">b3ac6cf1-a2c1-4e64-9bf4-ac8e84814332<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA"> Bridge br-int<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA"> ……<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA">
<span style="background:yellow;mso-highlight:yellow">Port "qvod36113be-0f"<o:p></o:p></span></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="background:yellow;mso-highlight:yellow;mso-fareast-language:JA">
<b><span style="color:red">tag: 1</span></b></span><b><span style="mso-fareast-language:JA"><o:p></o:p></span></b></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA"> Interface "qvod36113be-0f"<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.25in"><span style="mso-fareast-language:JA">……<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in"><span style="mso-fareast-language:JA">3.</span><span style="font-size:7.0pt;font-family:"Times New Roman","serif";mso-fareast-language:JA">
</span><b><span style="color:red;mso-fareast-language:JA">Issue</span></b><span style="color:red;mso-fareast-language:JA">
</span><span style="mso-fareast-language:JA">: the dhcp agent on network node, its virtual port’s vlan id is not “1”:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><b><span style="mso-fareast-language:JA">ovs-vsctl show<o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA">34e0c8b4-315c-42c5-9d7d-183d3a6fbd83<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA">……<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA"> Bridge br-int<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA">
<span style="background:yellow;mso-highlight:yellow">Port "tapc14349df-c0"<o:p></o:p></span></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="background:yellow;mso-highlight:yellow;mso-fareast-language:JA">
<b><span style="color:red">tag: 4095</span></b></span><b><span style="mso-fareast-language:JA"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA"> Interface "tapc14349df-c0"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="mso-fareast-language:JA">……<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">I have learned that </span>
<span style="font-size:10.0pt;font-family:"Arial","sans-serif";mso-fareast-language:JA">VLAN tag 4095 has special meaning that the port is “dead”.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";mso-fareast-language:JA">By searching bugs, I found this one:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D;mso-fareast-language:JA"><a href="https://bugs.launchpad.net/neutron/+bug/1269795">https://bugs.launchpad.net/neutron/+bug/1269795</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D;mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal">But, the biggest difference between my issue and this bug is:<o:p></o:p></p>
<p class="MsoNormal">even I removed everything from openvswitch, and restart neutron-openvswitch-agent & neutron-dhcp-agent, the port is still not work.<o:p></o:p></p>
<p class="MsoNormal">While the bug reporter said if restart neutron-openvswitch-agent, things would back to work.
<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal">I did some tests like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>The init status on network node:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1">
<![if !supportLists]><span style="mso-list:Ignore">a.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>ip netns => empty<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l0 level2 lfo1">
<![if !supportLists]><span style="mso-list:Ignore">b.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>ovs-vsctl show => only br-int & br-eth4(phynet) exit<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F">34e0c8b4-315c-42c5-9d7d-183d3a6fbd83<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Bridge br-int<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Port br-int<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Interface br-int<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> type: internal<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Bridge "br-eth4"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Port "br-eth4"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Interface "br-eth4"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> type: internal<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Port "eth4"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in"><span style="color:#7F7F7F"> Interface "eth4"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in;text-indent:9.0pt"><span style="color:#7F7F7F">ovs_version: "1.11.0"<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.0in;text-indent:9.0pt"><span style="color:#7F7F7F"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Start neutron-openvswitch-agent<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Start neutron-dhcp-agent<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#7F7F7F"><o:p> </o:p></span></p>
<p class="MsoNormal">Then I noticed the log in openvswitch-agent.log:<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#7F7F7F">2014-06-04 14:17:56.627 41763 DEBUG neutron.agent.linux.utils [-]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=2', '--', '--columns=external_ids,name,ofport', 'find', 'Interface', 'external_ids:iface-id="c14349df-c064-4731-ae50-de50dc0fef37"']<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Exit code: 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Stdout: 'external_ids : {attached-mac="fa:18:3e:9b:46:4d", iface-id="c14349df-c064-4731-ae50-de50dc0fef37", iface-status=active}\nname : "tapc14349df-c0"\nofport : 8\n'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Stderr: '' execute /usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py:60<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F;background:yellow;mso-highlight:yellow">2014-06-04 14:17:56.628 41763 DEBUG neutron.plugins.openvswitch.agent.ovs_neutron_agent [-]
</span><span style="color:red;background:yellow;mso-highlight:yellow">Device c14349df-c064-4731-ae50-de50dc0fef37 not defined on plugin
</span><span style="color:#7F7F7F;background:yellow;mso-highlight:yellow">treat_devices_added /usr/lib/python2.6/site-packages/neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:931</span><span style="color:#7F7F7F"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">2014-06-04 14:17:56.628 41763 DEBUG neutron.agent.linux.utils [-] Running command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=2', 'set', 'Port', 'tapc14349df-c0', 'tag=4095']
execute /usr/lib/python2.6/site-packages/neutron/agent/linux/utils.py:43<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">2014-06-04 14:17:56.726 41763 DEBUG neutron.agent.linux.utils [-]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Command: ['sudo', 'neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ovs-vsctl', '--timeout=2', 'set', 'Port', 'tapc14349df-c0', 'tag=4095']<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Exit code: 0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">Stdout: ''<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">…….<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F"><o:p> </o:p></span></p>
<p class="MsoNormal">In function <span style="background:yellow;mso-highlight:yellow">
treat_devices_added </span>, openvswitch-agent try to get details for this port from RPC, so I checked neutron-server’s log, and I get:<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#7F7F7F">2014-06-04 06:35:56.603 78765 WARNING neutron.plugins.ml2.plugin [-] In _notify_port_updated(), no bound segment for port c14349df-c064-4731-ae50-de50dc0fef37 on network c7e26ebc-078b-4375-b313-795a89a9d8bd<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#7F7F7F">2014-06-04 06:35:57.695 78765 WARNING neutron.plugins.ml2.rpc [-] Device c14349df-c064-4731-ae50-de50dc0fef37 requested by agent ovs36f40340c540 on network c7e26ebc-078b-4375-b313-795a89a9d8bd not bound, vif_type:
unbound<o:p></o:p></span></p>
<p class="MsoNormal">This log happens <span style="background:yellow;mso-highlight:yellow">
when I start neutron-dhcp-agent</span>.<o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Obviously, currently, when dhcp-agent start,
</span><span style="color:red">it try to use the already exist port </span><span style="color:#00B050">c1…37
</span><span style="color:#1F497D">(because the port used to work for dhcp).<o:p></o:p></span></p>
<p class="MsoNormal">Would/Should DHCP agent change the port status ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But, why the port is still in “down” status ??<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looks like openvswitch-agent take this port as a dead port due to the wrong status in database:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">neutron port-show c14349df-c064-4731-ae50-de50dc0fef37<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">+-----------------------+------------------------------------------------------------------------------------+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| Field | Value |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">+-----------------------+------------------------------------------------------------------------------------+<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| admin_state_up | True |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| allowed_address_pairs | |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| binding:capabilities | {"port_filter": false} |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| binding:host_id | |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:red">| binding:vif_type | unbound
</span><span style="color:#7F7F7F">|<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| device_id | dhcpb5e69c7b-a9a1-5cb7-9d79-465144102f2a-c7e26ebc-078b-4375-b313-795a89a9d8bd |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| device_owner | network:dhcp |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| extra_dhcp_opts | |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| fixed_ips | {"subnet_id": "22789dfc-e41e-412c-a325-10a210f176c5", "ip_address": "30.1.100.19"} |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| id | c14349df-c064-4731-ae50-de50dc0fef37 |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| mac_address | fa:18:3e:9b:46:4d |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| name | |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| network_id | c7e26ebc-078b-4375-b313-795a89a9d8bd |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| security_groups | |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| </span>
<span style="color:red">status | DOWN
</span><span style="color:#7F7F7F">|<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">| tenant_id | 45c69667e2a64c889719ef8d8e0dd098 |<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="color:#7F7F7F">+-----------------------+------------------------------------------------------------------------------------+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">-chen<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>