nwy | 20 Sep 15:40 2014
Picon

[SPAM:####] 回复: [SPAM:####] yulli77 <at> gmail.com 가 귀하를 팔로우하려고 합니다. 수락하시겠습니까?

korean dog please get off my sight thanks

"yulli77 <at> gmail.com" <info <at> flipmailer.com>于 2014-9-20 上午11:35写道:
<at> media screen and (max-width: 480px) { table.wrapper{ width: 100% !important; } .backup-message{ display: none; } .button-gutter{ width: 26% !important; } .button-yes{ width: 35% !important; } .button-spacer{ width: 5% !important; } .button-no{ width: 8% !important; } }
여기를 클릭하여 yulli77 <at> gmail.com가 즐겨찾는 웹사이트를 확인하세요!
yulli77 <at> gmail.com 가 귀하를 팔로우하려고 합니다
당신을 친구로 추가하고 싶습니다
-yulli77 <at> gmail.com
수락 거절
yulli77 <at> gmail.com 를 팔로우하면 그들이 추천하는 멋진 웹사이트를 발견하는 데 도움이 됩니다 :)
여기를 클릭하여 yulli77 <at> gmail.com 또는 모든 친구들로부터의 이메일구독을 해제합니다


P.O. BOX 70928, Sunnyvale, CA 94086
<div>
<p dir="ltr">korean dog please get off my sight thanks</p>
<div class="quote">"yulli77 <at> gmail.com" &lt;info <at> flipmailer.com&gt;&#20110; 2014-9-20 &#19978;&#21320;11:35&#20889;&#36947;&#65306;<br type="attribution"><blockquote class="quote">


		 <at> media screen and (max-width: 480px) {
			table.wrapper{
				width: 100% !important;
			}
			.backup-message{
				display: none;
			}
			.button-gutter{
				width: 26% !important;
			}
			.button-yes{
				width: 35% !important;
			}
			.button-spacer{
				width: 5% !important;
			}
			.button-no{
				width: 8% !important;
			}
		}
	
        <table class="wrapper" cellspacing="0" cellpadding="0" width="100%" border="0" bgcolor="#FFFFFF"><tr class="backup-message">
<td colspan="5">
					<a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss <at> lists.stanford.edu&amp;invitername=yulli77 <at> gmail.com&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77 <at> gmail.com&amp;src=clickhere" target="_blank">
					&#50668;&#44592;&#47484; &#53364;&#47533;&#54616;&#50668; yulli77 <at> gmail.com&#44032; &#51600;&#44200;&#52286;&#45716; &#50937;&#49324;&#51060;&#53944;&#47484; &#54869;&#51064;&#54616;&#49464;&#50836;!
					</a>
				</td>
			</tr></table>
<table class="wrapper" cellspacing="0" cellpadding="0" width="600" border="0" bgcolor="#FFFFFF">
<tr>
<td colspan="5">
	                <a href="javascript:void(0)">yulli77 <at> gmail.com</a> &#44032; &#44480;&#54616;&#47484; &#54036;&#47196;&#50864;&#54616;&#47140;&#44256; &#54633;&#45768;&#45796;
                </td>
            </tr>
<tr>
<td class="message" colspan="6">
                            &#45817;&#49888;&#51012; &#52828;&#44396;&#47196; &#52628;&#44032;&#54616;&#44256; &#49910;&#49845;&#45768;&#45796;
                        </td>
                    </tr>
<tr>
<td colspan="6">
                            <a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss <at> lists.stanford.edu&amp;invitername=yulli77 <at> gmail.com&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77 <at> gmail.com&amp;src=email">-yulli77 <at> gmail.com
                            </a>
                        </td>
                    </tr>
<tr>
<td class="button-gutter" width="34%"></td>
                <td class="button-yes" width="22%" align="center">
					<a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss <at> lists.stanford.edu&amp;invitername=yulli77 <at> gmail.com&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77 <at> gmail.com&amp;src=yes" target="_blank">
					&#49688;&#46973;
					</a>
				</td>           
				<td class="button-spacer" width="4%"></td>
	            <td class="button-no" width="5%" align="center">
                    <a class="btn" href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss <at> lists.stanford.edu&amp;invitername=yulli77 <at> gmail.com&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77 <at> gmail.com&amp;src=no" target="_blank">
		            &#44144;&#51208;
                    </a>
                </td>
                <td class="button-gutter" width="33%">
                </td>
            </tr>
<tr>
<td colspan="5">
                
                	<a href="#"> 
				    yulli77 <at> gmail.com
					</a> 
					 &#47484; &#54036;&#47196;&#50864;&#54616;&#47732; &#44536;&#46308;&#51060; &#52628;&#52380;&#54616;&#45716; &#47691;&#51652; &#50937;&#49324;&#51060;&#53944;&#47484; &#48156;&#44204;&#54616;&#45716; &#45936; &#46020;&#50880;&#51060; &#46121;&#45768;&#45796;  :)
            	</td>
            </tr>
<tr>
<td colspan="5">
                	<a href="http://invites.flipmailer.com/uns_inviter.jsp?fullname=&amp;email=openflow-discuss <at> lists.stanford.edu&amp;invitername=yulli77 <at> gmail.com&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77 <at> gmail.com&amp;src=bottom" target="_blank">
                	&#50668;&#44592;&#47484; &#53364;&#47533;&#54616;&#50668; yulli77 <at> gmail.com &#46608;&#45716; &#47784;&#46304; &#52828;&#44396;&#46308;&#47196;&#48512;&#53552;&#51032; &#51060;&#47700;&#51068;&#44396;&#46021;&#51012; &#54644;&#51228;&#54633;&#45768;&#45796;
                	</a>
                </td>
            </tr>
<tr>
<td colspan="5">	
			    <br><br> P.O. BOX 70928, Sunnyvale, CA 94086
	        	</td>
            </tr>
</table>
     


</blockquote>
</div>
</div>
yulli77 | 20 Sep 05:35 2014
Picon

yulli77@... 가 귀하를 팔로우하려고 합니다. 수락하시겠습니까?

여기를 클릭하여 yulli77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org가 즐겨찾는 웹사이트를 확인하세요!
yulli77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org 가 귀하를 팔로우하려고 합니다
당신을 친구로 추가하고 싶습니다
-yulli77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
수락 거절
yulli77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org 를 팔로우하면 그들이 추천하는 멋진 웹사이트를 발견하는 데 도움이 됩니다 :)
여기를 클릭하여 yulli77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org 또는 모든 친구들로부터의 이메일구독을 해제합니다


P.O. BOX 70928, Sunnyvale, CA 94086
<div>

        <table class="wrapper" cellspacing="0" cellpadding="0" width="100%" border="0" bgcolor="#FFFFFF"><tr class="backup-message">
<td colspan="5">
					<a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss-3+4lAyCyj6BegcJQxxnBRDe48wsgrGvP <at> public.gmane.org&amp;invitername=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;src=clickhere" target="_blank">
					&#50668;&#44592;&#47484; &#53364;&#47533;&#54616;&#50668; yulli77@...&#44032; &#51600;&#44200;&#52286;&#45716; &#50937;&#49324;&#51060;&#53944;&#47484; &#54869;&#51064;&#54616;&#49464;&#50836;!
					</a>
				</td>
			</tr></table>
<table class="wrapper" cellspacing="0" cellpadding="0" width="600" border="0" bgcolor="#FFFFFF">
<tr>
<td colspan="5">
	                <a href="javascript:void(0)">yulli77@...</a> &#44032; &#44480;&#54616;&#47484; &#54036;&#47196;&#50864;&#54616;&#47140;&#44256; &#54633;&#45768;&#45796;
                </td>
            </tr>
<tr>
<td class="message" colspan="6">
                            &#45817;&#49888;&#51012; &#52828;&#44396;&#47196; &#52628;&#44032;&#54616;&#44256; &#49910;&#49845;&#45768;&#45796;
                        </td>
                    </tr>
<tr>
<td colspan="6">
                            <a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss-3+4lAyCyj6BegcJQxxnBRDe48wsgrGvP <at> public.gmane.org&amp;invitername=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;src=email">-yulli77@...
                            </a>
                        </td>
                    </tr>
<tr>
<td class="button-gutter" width="34%"></td>
                <td class="button-yes" width="22%" align="center">
					<a href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss-3+4lAyCyj6BegcJQxxnBRDe48wsgrGvP <at> public.gmane.org&amp;invitername=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;src=yes" target="_blank">
					&#49688;&#46973;
					</a>
				</td>           
				<td class="button-spacer" width="4%"></td>
	            <td class="button-no" width="5%" align="center">
                    <a class="btn" href="http://invites.flipmailer.com/signup_e.html?fullname=&amp;email=openflow-discuss-3+4lAyCyj6BegcJQxxnBRDe48wsgrGvP <at> public.gmane.org&amp;invitername=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;src=no" target="_blank">
		            &#44144;&#51208;
                    </a>
                </td>
                <td class="button-gutter" width="33%">
                </td>
            </tr>
<tr>
<td colspan="5">

                	<a href="#"> 
				    yulli77@...
					</a> 
					 &#47484; &#54036;&#47196;&#50864;&#54616;&#47732; &#44536;&#46308;&#51060; &#52628;&#52380;&#54616;&#45716; &#47691;&#51652; &#50937;&#49324;&#51060;&#53944;&#47484; &#48156;&#44204;&#54616;&#45716; &#45936; &#46020;&#50880;&#51060; &#46121;&#45768;&#45796;  :)
            	</td>
            </tr>
<tr>
<td colspan="5">
                	<a href="http://invites.flipmailer.com/uns_inviter.jsp?fullname=&amp;email=openflow-discuss-3+4lAyCyj6BegcJQxxnBRDe48wsgrGvP <at> public.gmane.org&amp;invitername=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;inviterid=30822951&amp;userid=0&amp;token=0&amp;emailmasterid=07cbb0d0-3e78-4851-bda0-6cb8d83ec07f&amp;from=yulli77-Re5JQEeQqe8AvxtiuMwx3w <at> public.gmane.org&amp;src=bottom" target="_blank">
                	&#50668;&#44592;&#47484; &#53364;&#47533;&#54616;&#50668; yulli77@... &#46608;&#45716; &#47784;&#46304; &#52828;&#44396;&#46308;&#47196;&#48512;&#53552;&#51032; &#51060;&#47700;&#51068;&#44396;&#46021;&#51012; &#54644;&#51228;&#54633;&#45768;&#45796;
                	</a>
                </td>
            </tr>
<tr>
<td colspan="5">	
			    <br><br> P.O. BOX 70928, Sunnyvale, CA 94086
	        	</td>
            </tr>
</table>
     </div>
Brian Krisler | 17 Sep 17:25 2014
Picon

Ports and packet rerouting. What am I missing?

Hello,

I am trying to do some packet rerouting, and not sure if I am attacking the problem correctly.

I have a network such as:

     A              
     |
    B  — C
     |        |
    D —  E
     |
    F

Where:
   A, B, C are on 192.168.0.0
   D, E, F are on 192.168.1.0
   B, C, D, E are on 192.158.2.0 (each are running an instance of OpenFlow)

A can communicate with F using the route: A -> B -> D -> F

To achieve this, I use these two flows:

NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=2509.307s, table=0, n_packets=337, n_bytes=26658, idle_age=529, in_port=LOCAL actions=output:1
 cookie=0x0, duration=2499.588s, table=0, n_packets=0, n_bytes=0, idle_age=2499, in_port=1 actions=LOCAL

Now, I would like to alter the route and have traffic flow: A -> B -> C -> D -> F

To do that, I created a 192.168.3.0 network that contains only B and C, and added these NICs to OpenFlow as a new port:

[B: ~]$ sudo ovs-vsctl show
2eb2aa7f-7527-46d6-bedf-0806cf112183
    Bridge "s3br1"
        Controller "tcp:192.168.2.1:6633"
        fail_mode: secure
        Port "p8p1"
            Interface "p8p1"
        Port "p16p1"
            Interface "p16p1"
        Port "s3br1"
            Interface "s3br1"
                type: internal
    ovs_version: "2.1.2"

[B: ~]$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 82  bytes 7888 (7.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 82  bytes 7888 (7.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p16p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.13  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::a00:27ff:fe3f:99a  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:3f:09:9a  txqueuelen 1000  (Ethernet)
        RX packets 146  bytes 12378 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1152  bytes 95833 (93.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p8p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::a00:27ff:fe3e:773c  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:3e:77:3c  txqueuelen 1000  (Ethernet)
        RX packets 1079  bytes 83131 (81.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8401  bytes 695450 (679.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

s3br1: flags=67<UP,BROADCAST,RUNNING>  mtu 1500
        inet 192.168.2.13  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::b057:33ff:fe72:8945  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:3e:77:3c  txqueuelen 0  (Ethernet)
        RX packets 1170  bytes 88919 (86.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9353  bytes 760406 (742.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[B: ~]$ sudo ovs-ofctl dump-ports-desc s3br1
OFPST_PORT_DESC reply (xid=0x2):
 1(p8p1): addr:08:00:27:3e:77:3c
     config:     0
     state:      0
     current:    1GB-FD COPPER AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG
     speed: 1000 Mbps now, 1000 Mbps max
 2(p16p1): addr:08:00:27:3f:09:9a
     config:     0
     state:      0
     current:    1GB-FD COPPER AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG
     speed: 1000 Mbps now, 1000 Mbps max
 LOCAL(s3br1): addr:08:00:27:3e:77:3c
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max

I setup a similar configuration on C.
I then altered the flows  so instead of:
    B:LOCAL -> B:1
I have:
    B:LOCAL -> B:2

I expected the path:
   A -> B:LOCAL -> B:1 -> D -> F
to become:
   A -> B:LOCAL -> B:2 -> C -> D -> F

However, traffic is not getting to the second rule:

NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=2509.307s, table=0, n_packets=337, n_bytes=26658, idle_age=529, in_port=LOCAL actions=output:2
 cookie=0x0, duration=2499.588s, table=0, n_packets=0, n_bytes=0, idle_age=2499, in_port=2 actions=LOCAL

While I understand there might be issues with C not routing correctly to D, from the output above, it appears the packet never leaves B.

Am I misunderstanding how ports work? I have been using tshark to inspect the packets, and have not been able to locate any
possible issue. I can see the packet from A -> F arrive on the bridge, but there is no further information.

Thanks for any help.

Brian



<div>Hello,<div><br></div>
<div>I am trying to do some packet rerouting, and not sure if I am attacking the problem correctly.</div>
<div><br></div>
<div>I have a network such as:</div>
<div><br></div>
<div>&nbsp; &nbsp; &nbsp;A &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp;|</div>
<div>&nbsp; &nbsp; B &nbsp;&mdash; C</div>
<div>&nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp;|</div>
<div>&nbsp; &nbsp; D&nbsp;&mdash;&nbsp;&nbsp;E</div>
<div>&nbsp; &nbsp; &nbsp;|</div>
<div>&nbsp; &nbsp; F</div>
<div><br></div>
<div>Where:</div>
<div>&nbsp; &nbsp;A, B, C are on 192.168.0.0</div>
<div>&nbsp; &nbsp;D, E, F are on 192.168.1.0</div>
<div>&nbsp; &nbsp;B, C, D, E are on 192.158.2.0 (each are running an instance of OpenFlow)</div>
<div><br></div>
<div>A can communicate with F using the route: A -&gt; B -&gt; D -&gt; F</div>
<div><br></div>
<div>To achieve this, I use these two flows:</div>
<div><br></div>
<blockquote>
<div>NXST_FLOW reply (xid=0x4):</div>
<div>&nbsp;cookie=0x0, duration=2509.307s, table=0, n_packets=337, n_bytes=26658, idle_age=529, in_port=LOCAL actions=output:1</div>
<div>&nbsp;cookie=0x0, duration=2499.588s, table=0, n_packets=0, n_bytes=0, idle_age=2499, in_port=1 actions=LOCAL</div>
</blockquote>
<div><br></div>
<div>Now, I would like to alter the route and have traffic flow: A -&gt; B -&gt; C -&gt; D -&gt; F</div>
<div><br></div>
<div>To do that, I created a 192.168.3.0 network that contains only B and C, and added these NICs to OpenFlow as a new port:</div>
<div><br></div>
<blockquote>
<div>[B: ~]$ sudo ovs-vsctl show</div>
<div>2eb2aa7f-7527-46d6-bedf-0806cf112183</div>
<div>&nbsp; &nbsp;&nbsp;Bridge "s3br1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Controller "tcp:192.168.2.1:6633"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;fail_mode: secure</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Port "p8p1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Interface "p8p1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Port "p16p1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Interface "p16p1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Port "s3br1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Interface "s3br1"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;type: internal</div>
<div>&nbsp; &nbsp;&nbsp;ovs_version: "2.1.2"</div>
</blockquote>
<div><br></div>
<blockquote>
<div>[B: ~]$ ifconfig</div>
<div>lo: flags=73&lt;UP,LOOPBACK,RUNNING&gt;&nbsp;&nbsp;mtu 65536</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet 127.0.0.1&nbsp;&nbsp;netmask 255.0.0.0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet6 ::1&nbsp;&nbsp;prefixlen 128&nbsp;&nbsp;scopeid 0x10&lt;host&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;loop&nbsp;&nbsp;txqueuelen 0&nbsp;&nbsp;(Local Loopback)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX packets 82&nbsp;&nbsp;bytes 7888 (7.7 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX errors 0&nbsp;&nbsp;dropped 0&nbsp;&nbsp;overruns 0&nbsp;&nbsp;frame 0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX packets 82&nbsp;&nbsp;bytes 7888 (7.7 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX errors 0&nbsp;&nbsp;dropped 0 overruns 0&nbsp;&nbsp;carrier 0&nbsp;&nbsp;collisions 0</div>
<div><br></div>
<div>p16p1: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;&nbsp;&nbsp;mtu 1500</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet 192.168.3.13&nbsp;&nbsp;netmask 255.255.255.0&nbsp;&nbsp;broadcast 192.168.3.255</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet6 fe80::a00:27ff:fe3f:99a&nbsp;&nbsp;prefixlen 64&nbsp;&nbsp;scopeid 0x20&lt;link&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;ether 08:00:27:3f:09:9a&nbsp;&nbsp;txqueuelen 1000&nbsp;&nbsp;(Ethernet)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX packets 146&nbsp;&nbsp;bytes 12378 (12.0 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX errors 0&nbsp;&nbsp;dropped 0&nbsp;&nbsp;overruns 0&nbsp;&nbsp;frame 0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX packets 1152&nbsp;&nbsp;bytes 95833 (93.5 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX errors 0&nbsp;&nbsp;dropped 0 overruns 0&nbsp;&nbsp;carrier 0&nbsp;&nbsp;collisions 0</div>
<div><br></div>
<div>p8p1: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;&nbsp;&nbsp;mtu 1500</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet6 fe80::a00:27ff:fe3e:773c&nbsp;&nbsp;prefixlen 64&nbsp;&nbsp;scopeid 0x20&lt;link&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;ether 08:00:27:3e:77:3c&nbsp;&nbsp;txqueuelen 1000&nbsp;&nbsp;(Ethernet)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX packets 1079&nbsp;&nbsp;bytes 83131 (81.1 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX errors 0&nbsp;&nbsp;dropped 0&nbsp;&nbsp;overruns 0&nbsp;&nbsp;frame 0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX packets 8401&nbsp;&nbsp;bytes 695450 (679.1 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX errors 0&nbsp;&nbsp;dropped 0 overruns 0&nbsp;&nbsp;carrier 0&nbsp;&nbsp;collisions 0</div>
<div><br></div>
<div>s3br1: flags=67&lt;UP,BROADCAST,RUNNING&gt;&nbsp;&nbsp;mtu 1500</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet 192.168.2.13&nbsp;&nbsp;netmask 255.255.255.0&nbsp;&nbsp;broadcast 192.168.2.255</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;inet6 fe80::b057:33ff:fe72:8945&nbsp;&nbsp;prefixlen 64&nbsp;&nbsp;scopeid 0x20&lt;link&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;ether 08:00:27:3e:77:3c&nbsp;&nbsp;txqueuelen 0&nbsp;&nbsp;(Ethernet)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX packets 1170&nbsp;&nbsp;bytes 88919 (86.8 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;RX errors 0&nbsp;&nbsp;dropped 0&nbsp;&nbsp;overruns 0&nbsp;&nbsp;frame 0</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX packets 9353&nbsp;&nbsp;bytes 760406 (742.5 KiB)</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;TX errors 0&nbsp;&nbsp;dropped 0 overruns 0&nbsp;&nbsp;carrier 0&nbsp;&nbsp;collisions 0</div>
</blockquote>
<div><br></div>
<blockquote>
<div>[B: ~]$ sudo ovs-ofctl dump-ports-desc s3br1</div>
<div>OFPST_PORT_DESC reply (xid=0x2):</div>
<div>&nbsp;1(p8p1): addr:08:00:27:3e:77:3c</div>
<div>&nbsp; &nbsp; &nbsp;config:&nbsp;&nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;state:&nbsp; &nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;current:&nbsp; &nbsp;&nbsp;1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;supported:&nbsp;&nbsp;10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;speed: 1000 Mbps now, 1000 Mbps max</div>
<div>&nbsp;2(p16p1): addr:08:00:27:3f:09:9a</div>
<div>&nbsp; &nbsp; &nbsp;config:&nbsp;&nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;state:&nbsp; &nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;current:&nbsp; &nbsp;&nbsp;1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;supported:&nbsp;&nbsp;10MB-HD 10MB-FD 100MB-HD 100MB-FD 1GB-FD COPPER AUTO_NEG</div>
<div>&nbsp; &nbsp; &nbsp;speed: 1000 Mbps now, 1000 Mbps max</div>
<div>&nbsp;LOCAL(s3br1): addr:08:00:27:3e:77:3c</div>
<div>&nbsp; &nbsp; &nbsp;config:&nbsp;&nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;state:&nbsp; &nbsp; &nbsp;&nbsp;0</div>
<div>&nbsp; &nbsp; &nbsp;speed: 0 Mbps now, 0 Mbps max</div>
</blockquote>
<div>
<br>I setup a similar configuration on C.</div>
<div>I then altered the flows &nbsp;so instead of:</div>
<div>&nbsp; &nbsp; B:LOCAL -&gt; B:1</div>
<div>I have:</div>
<div>&nbsp; &nbsp; B:LOCAL -&gt; B:2</div>
<div><br></div>
<div>I expected the path:</div>
<div>&nbsp; &nbsp;A -&gt; B:LOCAL -&gt; B:1 -&gt; D -&gt; F</div>
<div>to become:</div>
<div>&nbsp; &nbsp;A -&gt; B:LOCAL -&gt; B:2 -&gt; C -&gt; D -&gt; F</div>
<div><br></div>
<div>However, traffic is not getting to the second rule:</div>
<div><br></div>
<blockquote>
<div>NXST_FLOW reply (xid=0x4):</div>
<div>&nbsp;cookie=0x0, duration=2509.307s, table=0, n_packets=337, n_bytes=26658, idle_age=529, in_port=LOCAL actions=output:2</div>
<div>&nbsp;cookie=0x0, duration=2499.588s, table=0, n_packets=0, n_bytes=0, idle_age=2499, in_port=2 actions=LOCAL</div>
</blockquote>
<div><br></div>
<div>While I understand there might be issues with C not routing correctly to D, from the output above, it appears the packet never leaves B.</div>
<div><br></div>
<div>Am I misunderstanding how ports work? I have been using tshark to inspect the packets, and have not been able to locate any</div>
<div>possible issue. I can see the packet from A -&gt; F arrive on the bridge, but there is no further information.</div>
<div><br></div>
<div>Thanks for any help.</div>
<div><br></div>
<div>Brian</div>
<div><br></div>
<div><br></div>
<div><br></div>
</div>
Choma Joshua | 16 Sep 19:25 2014
Picon

Fwd: POX error


Hi

I am using the Ubuntu 12.04.5 LTS, Oracle VM VirtualBox and Virtual Machine Image (OVF format, 64-bit, Mininet 2.0).

General

Name:                  Mininet
Operating System:Ubuntu (32 bit)

System
Base Memory:      512 MB
Boot order:           Floppy, CD/DVD, Hard Disk
Acceleration:        PAE/NX

Display
Video Memory: 12 MB
Remote Desktop Server: Disabled
Video Capture: Disabled

I am at the "Open Hub Code and Begin" step and the error i am getting is:

INFO:openflow.of_01:[00-00-00-00-00-01 1] connected
DEBUG:misc.of_tutorial:Controlling [00-00-00-00-00-01 1]
ERROR:openflow.of_01:[00-00-00-00-00-01 1] OpenFlow Error:
[00-00-00-00-00-01 1] Error: header:
[00-00-00-00-00-01 1] Error:   version: 1
[00-00-00-00-00-01 1] Error:   type:    1 (OFPT_ERROR)
[00-00-00-00-00-01 1] Error:   length:  36
[00-00-00-00-00-01 1] Error:   xid:     6
[00-00-00-00-00-01 1] Error: type: OFPET_BAD_REQUEST (1)
[00-00-00-00-00-01 1] Error: code: OFPBRC_BUFFER_EMPTY (7)
[00-00-00-00-00-01 1] Error: datalen: 24


I have been using the POX code below:

from pox.core import core
import pox.openflow.libopenflow_01 as of
import re

log = core.getLogger()



class Tutorial (object):

  """
  A Tutorial object is created for each switch that connects.
  A Connection object for that switch is passed to the __init__ function.
  """
  def __init__ (self, connection):
    # Keep track of the connection to the switch so that we can
    # send it messages!
    self.connection = connection

    # This binds our PacketIn event listener
    connection.addListeners(self)

    # Use this table to keep track of which ethernet address is on
    # which switch port (keys are MACs, values are ports).
    self.mac_to_port = {}
    self.matrix={}
# this will keep track of the traffic matrix.
                   # matrix[i][j]=number of times a packet from i went to j

  def send_packet (self,buffer_id, raw_data, out_port, in_port):
    """
    Sends a packet out of the specified switch port.
    If buffer_id is a valid buffer on the switch, use that. Otherwise , send the raw data in a raw data.
    The "in_port" is the  port number that the packet arrived on. Use OFPP_NONE if you are generating this packet
    """
    msg = of.ofp_packet_out()
    msg.in_port = in_port
    if buffer_id != -1 and buffer_id is not None:

      # We got a buffer ID from the switch, use that
      msg.buffer_id = buffer_id
    else:

      # No buffer ID from switch -- we got the raw data
      if raw_data is None:
        # No raw_data specified -- nothing to send!
        return
      msg.data = raw_data
 action = of.ofp_action_output(port = out_port)
    msg.actions.append(action)


    # Send message to switch
    self.connection.send(msg)



    # Send message to switch
    self.connection.send(msg)


  def act_like_hub (self, packet, packet_in):
    """
    Implement hub-like behavior -- send all packets to all ports besides
    the input port.
    """
    #Flood packet on all port
    self.send_packet(packet_in.buffer_id, packet_in.data, of.OFPP_FLOOD, packet_in.in_port)
     # Note that if we didn't get a valid buffer_id, a slightly better
    # implementation would check that we got the full data before
    # sending it (len(packet_in.data) should be == packet_in.total_len)).


  def act_like_switch (self, packet, packet_in):
    """
    Implement switch-like behavior.
    """

    """ # DELETE THIS LINE TO START WORKING ON THIS (AND THE ONE BELOW!) #

    # Here's some psuedocode to start you off implementing a learning
    # switch.  You'll need to rewrite it as real Python code.

    # Learn the port for the source MAC
    self.mac_to_port ... <add or update entry>

    if the port associated with the destination MAC of the packet is known:

      # Send packet out the associated port
      self.resend_packet(packet_in, ...)

      # Once you have the above working, try pushing a flow entry
      # instead of resending the packet (comment out the above and
      # uncomment and complete the below.)


            log.debug("Installing flow...")
      # Maybe the log statement should have source/destination/port?

      #msg = of.ofp_flow_mod()
      #
      ## Set fields to match received packet
      #msg.match = of.ofp_match.from_packet(packet)
      #
      #< Set other fields of flow_mod (timeouts? buffer_id?) >
      #
      #< Add an output action, and send -- similar to resend_packet() >

    else:
      # Flood the packet out everything but the input port
        # This part looks familiar, right?
      self.resend_packet(packet_in, of.OFPP_ALL)

    """ # DELETE THIS LINE TO START WORKING ON THIS #
    # Learn the port for the source MAC
    self.mac_to_port[packet.src]=packet_in.in_port
    # Add the entry to the traffic matrix
    if self.mac_to_port.get(packet.dst)!=None:
       # Send packet out the associated port
       self.send_packet(packet_in.buffer_id, packet_in.data, self.mac_to_port[packet.dst],packet_in.in_port)
    else:

       # Flood the packet out everything but the input port (same as hub)
       self.send_packet(packet_in.buffer_id, packet_in.data, of.OFPP_FLOOD, packet_in.in_port)


  def _handle_PacketIn (self, event):
    """
    Handles packet in messages from the switch.
    ''""

    packet = event.parsed # This is the parsed packet data.
    if not packet.parsed:
      log.warning("Ignoring incomplete packet")
      return

    packet_in = event.ofp # The actual ofp_packet_in message.

    # Comment out the following line and uncomment the one after
    # when starting the exercise.
    self.act_like_hub(packet, packet_in)
    #self.act_like_switch(packet, packet_in)



def launch ():
  """
  Starts the component
  """
  def start_switch (event):
    log.debug("Controlling %s" % (event.connection,))
    Tutorial(event.connection)
  core.openflow.addListenerByName("ConnectionUp", start_switch)

         



Please do assist with the error, i am new to mininet.

Regards
Joshua Choma
South Africa, University of Witwatersrand                                                                                               

<div><div dir="ltr">
<br><div class="gmail_quote">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi <br><br>
</div>I am using the Ubuntu 12.04.5 LTS, Oracle VM VirtualBox and Virtual Machine Image (OVF format, 64-bit, Mininet 2.0). <br><br>
</div>General<br><br>
</div>Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mininet<br>
</div>Operating System:Ubuntu (32 bit)<br><br>System<br>
</div>
<div>Base Memory:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 MB<br>
</div>
<div>Boot order:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Floppy, CD/DVD, Hard Disk<br>
</div>
<div>Acceleration:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PAE/NX<br><br>
</div>
<div>Display<br>
</div>
<div>Video Memory: 12 MB<br>
</div>
<div>Remote Desktop Server: Disabled<br>
</div>
<div>Video Capture: Disabled<br><br>
</div>
<div>I am at the "Open Hub Code and Begin" step and the error i am getting is:<br><br>INFO:openflow.of_01:[00-00-00-00-00-01 1] connected<br>DEBUG:misc.of_tutorial:Controlling [00-00-00-00-00-01 1]<br>ERROR:openflow.of_01:[00-00-00-00-00-01 1] OpenFlow Error:<br>[00-00-00-00-00-01 1] Error: header: <br>[00-00-00-00-00-01 1] Error:&nbsp;&nbsp; version: 1<br>[00-00-00-00-00-01 1] Error:&nbsp;&nbsp; type:&nbsp;&nbsp;&nbsp; 1 (OFPT_ERROR)<br>[00-00-00-00-00-01 1] Error:&nbsp;&nbsp; length:&nbsp; 36<br>[00-00-00-00-00-01 1] Error:&nbsp;&nbsp; xid:&nbsp;&nbsp;&nbsp;&nbsp; 6<br>[00-00-00-00-00-01 1] Error: type: OFPET_BAD_REQUEST (1)<br>[00-00-00-00-00-01 1] Error: code: OFPBRC_BUFFER_EMPTY (7)<br>[00-00-00-00-00-01 1] Error: datalen: 24<br><br><br>
</div>
<div>I have been using the POX code below:<br><br><span>from pox.core import core<br>import pox.openflow.libopenflow_01 as of<br>import re<br><br>log = core.getLogger()<br><br><br><br>class Tutorial (object):</span><br>&nbsp; """<br>&nbsp; A Tutorial object is created for each switch that connects.<br>&nbsp; A Connection object for that switch is passed to the __init__ function.<br>&nbsp; """<br><span>&nbsp;<span> def __init__ (self, connection):<span></span></span></span><br>&nbsp;&nbsp;&nbsp; # Keep track of the connection to the switch so that we can<br>&nbsp;&nbsp;&nbsp; # send it messages!<br>&nbsp;&nbsp;&nbsp;<span> self.connection = connection<span><span></span></span></span><br><br>&nbsp;&nbsp;&nbsp; # This binds our PacketIn event listener<br>&nbsp;&nbsp;&nbsp; <span>connection.addListeners(self)</span><br><br>&nbsp;&nbsp;&nbsp; # Use this table to keep track of which ethernet address is on<br>&nbsp;&nbsp;&nbsp; # which switch port (keys are MACs, values are ports).<br>&nbsp;&nbsp;&nbsp;<span> self.mac_to_port = {}<br>&nbsp;&nbsp;&nbsp; self.matrix={} </span># this will keep track of the traffic matrix.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # matrix[i][j]=number of times a packet from i went to j<br><br>&nbsp;<span> def send_packet (self,buffer_id, raw_data, out_port, in_port):</span><br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; Sends a packet out of the specified switch port.<br>&nbsp;&nbsp;&nbsp; If buffer_id is a valid buffer on the switch, use that. Otherwise , send the raw data in a raw data.<br>&nbsp;&nbsp;&nbsp; The "in_port" is the&nbsp; port number that the packet arrived on. Use OFPP_NONE if you are generating this packet<br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; <span>msg = of.ofp_packet_out()<br>&nbsp;&nbsp;&nbsp; msg.in_port = in_port<br>&nbsp;&nbsp;&nbsp; if buffer_id != -1 and buffer_id is not None:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # We got a buffer ID from the switch, use that<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span> msg.buffer_id = buffer_id<br>&nbsp;&nbsp;&nbsp; else:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # No buffer ID from switch -- we got the raw data<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span>if raw_data is None:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # No raw_data specified -- nothing to send!<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span>&nbsp; return<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msg.data = raw_data<br>&nbsp;action = of.ofp_action_output(port = out_port)<br>&nbsp;&nbsp;&nbsp; msg.actions.append(action)</span><br><br>&nbsp;&nbsp;&nbsp; # Send message to switch<br>&nbsp;&nbsp;&nbsp;<span> self.connection.send(msg)<br></span><br><br><br>&nbsp;&nbsp;&nbsp; # Send message to switch<br>&nbsp;&nbsp;&nbsp; <span>self.connection.send(msg)<br></span><br><br>&nbsp; <span>def act_like_hub (self, packet, packet_in):</span><br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; Implement hub-like behavior -- send all packets to all ports besides<br>&nbsp;&nbsp;&nbsp; the input port.<br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; #Flood packet on all port<br>&nbsp;&nbsp;&nbsp;<span> self.send_packet(packet_in.buffer_id, packet_in.data, of.OFPP_FLOOD, packet_in.in_port)</span><br>&nbsp;&nbsp;&nbsp;&nbsp; # Note that if we didn't get a valid buffer_id, a slightly better<br>&nbsp;&nbsp;&nbsp; # implementation would check that we got the full data before<br>&nbsp;&nbsp;&nbsp; # sending it (len(packet_in.data) should be == packet_in.total_len)).<br><br><br>&nbsp;<span> def act_like_switch (self, packet, packet_in):</span><br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; Implement switch-like behavior.<br>&nbsp;&nbsp;&nbsp; """<br><br>&nbsp;&nbsp;&nbsp; """ # DELETE THIS LINE TO START WORKING ON THIS (AND THE ONE BELOW!) #<br><br>&nbsp;&nbsp;&nbsp; # Here's some psuedocode to start you off implementing a learning<br>&nbsp;&nbsp;&nbsp; # switch.&nbsp; You'll need to rewrite it as real Python code.<br><br>&nbsp;&nbsp;&nbsp; # Learn the port for the source MAC<br><span>&nbsp;&nbsp;&nbsp; self.mac_to_port ... &lt;add or update entry&gt;<br><br>&nbsp;&nbsp;&nbsp; if the port associated with the destination MAC of the packet is known:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Send packet out the associated port<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span> self.resend_packet(packet_in, ...)</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Once you have the above working, try pushing a flow entry<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # instead of resending the packet (comment out the above and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # uncomment and complete the below.)<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<span>&nbsp; log.debug("Installing flow...")</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Maybe the log statement should have source/destination/port?<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #msg = of.ofp_flow_mod()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ## Set fields to match received packet<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #msg.match = of.ofp_match.from_packet(packet)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&lt; Set other fields of flow_mod (timeouts? buffer_id?) &gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&lt; Add an output action, and send -- similar to resend_packet() &gt;<br><br>&nbsp;&nbsp;<span>&nbsp; else:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Flood the packet out everything but the input port<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # This part looks familiar, right?<br>&nbsp;&nbsp;&nbsp;&nbsp;<span>&nbsp; self.resend_packet(packet_in, of.OFPP_ALL)<br></span><br>&nbsp;&nbsp;&nbsp; """ # DELETE THIS LINE TO START WORKING ON THIS #<br>&nbsp;&nbsp;&nbsp; # Learn the port for the source MAC<br>&nbsp;&nbsp;&nbsp;<span> self.mac_to_port[packet.src]=packet_in.in_port</span><br>&nbsp;&nbsp;&nbsp; # Add the entry to the traffic matrix<br>&nbsp;&nbsp;&nbsp; <span>if self.mac_to_port.get(packet.dst)!=None:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Send packet out the associated port<br>&nbsp;&nbsp;&nbsp;<span>&nbsp;&nbsp;&nbsp; self.send_packet(packet_in.buffer_id, packet_in.data, self.mac_to_port[packet.dst],packet_in.in_port)<br>&nbsp;&nbsp;&nbsp; else:</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Flood the packet out everything but the input port (same as hub)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span> self.send_packet(packet_in.buffer_id, packet_in.data, of.OFPP_FLOOD, packet_in.in_port)<br></span><br><br>&nbsp;<span> def _handle_PacketIn (self, event):</span><br>&nbsp;&nbsp;&nbsp; """<br>&nbsp;&nbsp;&nbsp; Handles packet in messages from the switch.<br>&nbsp;&nbsp;&nbsp; ''"" <br><br>&nbsp;<span>&nbsp;&nbsp; packet = event.parsed # This is the parsed packet data.<br>&nbsp;&nbsp;&nbsp; if not packet.parsed:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log.warning("Ignoring incomplete packet")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return<br><br>&nbsp;&nbsp;&nbsp; packet_in = event.ofp # The actual ofp_packet_in message.<br></span><br>&nbsp;&nbsp;&nbsp; # Comment out the following line and uncomment the one after<br>&nbsp;&nbsp;&nbsp; # when starting the exercise.<br>&nbsp;&nbsp;&nbsp; <span>self.act_like_hub(packet, packet_in)</span><br>&nbsp;&nbsp;&nbsp; #self.act_like_switch(packet, packet_in)<br><br><br><br><span>def launch ()</span>:<br>&nbsp; """<br>&nbsp; Starts the component<br>&nbsp; """<br>&nbsp;<span> def start_switch (event):<br>&nbsp;&nbsp;&nbsp; log.debug("Controlling %s" % (event.connection,))<br>&nbsp;&nbsp;&nbsp; Tutorial(event.connection)<br>&nbsp; core.openflow.addListenerByName("ConnectionUp", start_switch)</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br><br><br>
</div>
<div>Please do assist with the error, i am new to mininet.<br><br>
</div>
<div>Regards<span class="HOEnZb"><br></span>
</div>
<span class="HOEnZb"><div>Joshua Choma<br>
</div>
<div>South Africa, University of Witwatersrand&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
</div></span>
</div>
</div>
<br>
</div></div>
Viccon | 11 Sep 18:19 2014

I need your help about SDN

Hi,
I really loves hacking, which definitely requires solid knowledge, and finally I got you on github. : )
Here it is, I already know the ssh username/password of a user in another VPC, and our VPCs belongs to the very same company, that is, we are under the same SDN (software defined network)
Given the fact that a VPC user is logically isolated from other VPC users, it seems impossible that I could log in to other VPC.
Where should I start? The SDN controller? Openflow protocol? or something else?
Seems too hard...






<div>
<div>
<div>
<div>
<div>Hi,<br>I really loves hacking, which definitely requires solid knowledge, and finally I got you on github. : )<br>Here it is, I already know the ssh username/password of a user in 
another VPC, and our VPCs belongs to the very same company, that is, we 
are under the same SDN (software defined network)</div>Given the fact that a VPC user is logically isolated from other VPC users, it seems impossible that I could log in to other VPC.<br>Where should I start? The SDN controller? Openflow protocol? or something else?<br>Seems too hard...</div>
<br><br><span title="neteasefooter"><span></span></span>
</div>
<br><br><span title="neteasefooter"><span></span></span>
</div>
<br><br><span title="neteasefooter"><span></span></span>
</div>
Guduri Prathyusha | 11 Sep 12:32 2014
Picon

Doubt with Switch Configuration

Hello All,

Am doing a project for my masters in Software Defined Networking. To be precise my project is on elastic distributed controllers. My question is...

Suppose a switch is already configured to a master controller, Can this controller configure the switch to another slave controller????

If yes please tell me how??

Any kind of help will be appreciated. Thanks in advance.
<div><div dir="ltr">
<div>
<div>
<div>Hello All,<br><br>
</div>Am doing a project for my masters in Software Defined Networking. To be precise my project is on elastic distributed controllers. My question is...<br><br>
</div>Suppose a switch is already configured to a master controller, Can this controller configure the switch to another slave controller???? <br><br>
</div>
<div>If yes please tell me how?? <br><br>
</div>
<div>Any kind of help will be appreciated. Thanks in advance.<br>
</div>
</div></div>
Sylar Shen | 5 Aug 07:10 2014
Picon

[Flowvisor v1.4] Controller cannot get flowentry when switch is NEC PF5240

Hi all:
I am using Flowvisor v1.4 to connect a Ryu controller and a NEC PF5240 physical openflow switch.
Ryu controller can INSERT/DELETE the flowentry of the switch but cannot GET the flowentry from the switch (It cannot MODIFY flowentry, either. Because it seems that it's  an unimplemented flowMod.modify)
When Ryu tried to GET the flowentry, it received an empty value in the response body which means Ryu got nothing.
When I looked into the log of Flowvisor, it showed "flowvisor: WARN classifier-dpid=00:00:00:00:00:00:00:06 : Dropping empty stats reply: ofmsg:v=1;t=STATS_REPLY;l=12;x=273;st=PORT"
However, the flowentry did exist when using the command "fvctl list-datapath-flowrewritedb conA 6" to check in Flowvisor.
And I changed the switch to a physical Pica-8 openflow switch and the mininet as well, it worked fine and can GET/INSERT/DELETE the flowentry.

Is there anyone who had the same experience as I did?
Thanks~~~
-----------------
Best Regards,
Sylar Shen
<div><div dir="ltr">
<div class="gmail_default">Hi all:</div>
<div class="gmail_default">I am using Flowvisor v1.4 to connect a Ryu controller and a NEC PF5240 physical openflow switch.</div>
<div class="gmail_default">Ryu controller can INSERT/DELETE the flowentry of the switch but cannot GET the flowentry from the switch (It cannot MODIFY flowentry, either. Because it seems that it's &nbsp;an unimplemented flowMod.modify)</div>
<div class="gmail_default">When Ryu tried to GET the flowentry, it received an empty value in the response body which means Ryu got nothing.</div>
<div class="gmail_default">
When I looked into the log of Flowvisor, it showed "flowvisor: WARN classifier-dpid=00:00:00:00:00:00:00:06 : Dropping empty stats reply: ofmsg:v=1;t=STATS_REPLY;l=12;x=273;st=PORT"</div>
<div class="gmail_default">
However, the flowentry did exist when using the command "fvctl list-datapath-flowrewritedb conA 6" to check in Flowvisor.</div>
<div class="gmail_default">And I changed the switch to a physical Pica-8 openflow switch and the mininet as well, it worked fine and can GET/INSERT/DELETE the flowentry.<br>
</div>
<div class="gmail_default"><br></div>
<div class="gmail_default">Is there anyone who had the same experience as I did?</div>
<div class="gmail_default">
Thanks~~~</div>
<div class="gmail_default">-----------------</div>
<div>
<div dir="ltr">
<div>Best Regards,</div>Sylar Shen</div>
</div>
</div></div>
Pedro Henrique | 31 Jul 16:03 2014
Picon

FlowVisor and OFPBRC_BUFFER_UNKNOWN

Hi.
I'm using FlowVisor 1.4.0 to slice my network, basically I'm giving one slice to the Floodlight Controller and another two slices to the Pox Controller. Maybe I'm doing something wrong during this slices configuration, but I want to do something like this:
1 - All the UDP traffic will be handled by Pox
2 - All the TCP traffic will be handled by Pox
3 - Any other traffic will be handled by Floodlight

To do this, I'm setting the priority of Pox's slices to 2 and Floodlight's slices to 1.
As you can see below:

{"force-enqueue": -1, "name": "floodlight_1", "slice-action": [{"slice-name": "floodlight_slice", "permission": 7}], "queues": [], "priority": 1, "dpid": "all_dpids", "id": 41, "match": {"wildcards": 4194303}}
{"force-enqueue": -1, "name": "pox_1", "slice-action": [{"slice-name": "pox_slice", "permission": 7}], "queues": [], "priority": 2, "dpid": "all_dpids", "id": 40, "match": {"wildcards": 4194271, "nw_proto": 17}}
{"force-enqueue": -1, "name": "pox_2", "slice-action": [{"slice-name": "pox_slice", "permission": 7}], "queues": [], "priority": 2, "dpid": "all_dpids", "id": 42, "match": {"wildcards": 4194271, "nw_proto": 6}}  

Ok, after this, I'm running Floodlight, Pox and I can ping any hosts without problem, I mean, Floodlight is working perfectly. However, when I try to send an UDP or TCP traffic, POX show me this message for all switches and the traffic is not sent.

ERROR:openflow.of_01:[00-00-00-00-00-44 3] OpenFlow Error:
[00-00-00-00-00-44 3] Error: header: 
[00-00-00-00-00-44 3] Error:   version: 1
[00-00-00-00-00-44 3] Error:   type:    1 (OFPT_ERROR)
[00-00-00-00-00-44 3] Error:   length:  36
[00-00-00-00-00-44 3] Error:   xid:     0
[00-00-00-00-00-44 3] Error: type: OFPET_BAD_REQUEST (1)
[00-00-00-00-00-44 3] Error: code: OFPBRC_BUFFER_UNKNOWN (8)
[00-00-00-00-00-44 3] Error: datalen: 24
[00-00-00-00-00-44 3] Error: 0000: 01 0d 00 18 00 00 38 e2  00 00 0b 69 00 01 00 08   ......8....i....
[00-00-00-00-00-44 3] Error: 0010: 00 00 00 08 ff fb 00 00                            ........
 
Some more details, if I turn off flowvisor, Pox works perfectly and no problem happens. Also my network topology doesn't have loops and I'm running this module without modification:  forwarding.l2_learning.

Thank you for the attention.  
<div><div dir="ltr">
<span>Hi.</span><div>I'm using FlowVisor 1.4.0 to slice my network, basically I'm giving one slice to the Floodlight Controller and another two slices to the Pox Controller. Maybe I'm doing something wrong during this slices configuration, but I want to do something like this:</div>
<div>1 - All the UDP traffic will be handled by Pox</div>
<div>2 - All the TCP traffic will be handled by Pox</div>
<div>
3 - Any other traffic will be handled by Floodlight</div>
<div><br></div>
<div>To do this, I'm setting the priority of Pox's slices to 2 and Floodlight's slices to 1.</div>
<div>As you can see below:</div>
<div><br></div>
<div>{"force-enqueue": -1, "name": "floodlight_1", "slice-action": [{"slice-name": "floodlight_slice", "permission": 7}], "queues": [], "priority": 1, "dpid": "all_dpids", "id": 41, "match": {"wildcards": 4194303}}</div>
<div>{"force-enqueue": -1, "name": "pox_1", "slice-action": [{"slice-name": "pox_slice", "permission": 7}], "queues": [], "priority": 2, "dpid": "all_dpids", "id": 40, "match": {"wildcards": 4194271, "nw_proto": 17}}</div>
<div>{"force-enqueue": -1, "name": "pox_2", "slice-action": [{"slice-name": "pox_slice", "permission": 7}], "queues": [], "priority": 2, "dpid": "all_dpids", "id": 42, "match": {"wildcards": 4194271, "nw_proto": 6}} &nbsp;</div>
<div><br></div>
<div>Ok, after this, I'm running Floodlight, Pox and I can ping any hosts without problem, I mean, Floodlight is working perfectly. However, when I try to send an UDP or TCP traffic, POX show me this message for all switches and the traffic is not sent.</div>
<div><br></div>
<div>ERROR:openflow.of_01:[00-00-00-00-00-44 3] OpenFlow Error:</div>
<div>
[00-00-00-00-00-44 3] Error: header:&nbsp;</div>
<div>[00-00-00-00-00-44 3] Error: &nbsp; version: 1</div>
<div>[00-00-00-00-00-44 3] Error: &nbsp; type: &nbsp; &nbsp;1 (OFPT_ERROR)</div>
<div>[00-00-00-00-00-44 3] Error: &nbsp; length: &nbsp;36</div>
<div>[00-00-00-00-00-44 3] Error: &nbsp; xid: &nbsp; &nbsp; 0</div>
<div>
[00-00-00-00-00-44 3] Error: type: OFPET_BAD_REQUEST (1)</div>
<div>[00-00-00-00-00-44 3] Error: code: OFPBRC_BUFFER_UNKNOWN (8)</div>
<div>
[00-00-00-00-00-44 3] Error: datalen: 24</div>
<div>[00-00-00-00-00-44 3] Error: 0000: 01 0d 00 18 00 00 38 e2 &nbsp;00 00 0b 69 00 01 00 08 &nbsp; ......8....i....</div>
<div>
[00-00-00-00-00-44 3] Error: 0010: 00 00 00 08 ff fb 00 00 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;........</div>
<div>&nbsp;</div>
<div>
Some more details, if I turn off flowvisor, Pox works perfectly and no problem happens. Also my network topology doesn't have loops and I'm running this module without modification: &nbsp;forwarding.l2_learning.</div>
<div>
<br>
</div>
<div>Thank you for the attention. &nbsp;</div>
</div></div>
王栋耀 | 27 Jul 11:23 2014
Picon

question on VLAN push

hi all, 
   I am a new comer for OpenFlow, and now studying VLAN related operation based on OpenFlow spec 1.4.0.  and I got a little confusion about the VLAN PUSH action. according to the spec, it will use the following struct
struct ofp_action_push { uint16_t type; /* OFPAT_PUSH_VLAN/MPLS/PBB. */ uint16_t len; /* Length is 8. */ uint16_t ethertype; /* Ethertype */ uint8_t pad[2]; };and here only the ethertype is indicated. so how to control the PCP and VID value when pushing a new VLAN tag?
can anybody explain it for me? in addition, more words on QinQ-based matching are appreciated. thanks in advance.
Best Regards wang
<div><div dir="ltr">hi all,&nbsp;<div>&nbsp; &nbsp;I am a new comer for OpenFlow, and now studying VLAN related operation based on OpenFlow spec 1.4.0. &nbsp;and I got a little confusion about the VLAN PUSH action. according to the spec, it will use the following struct</div>
<div>
<span>struct</span><span> </span><span>ofp_action_push</span><span> </span><span>{</span>

<span>    </span>uint16_t<span> </span><span>type</span><span>;</span><span>                  </span><span>/*</span><span> </span><span>OFPAT_PUSH_VLAN/MPLS/PBB.</span><span> </span><span>*/</span>

<span>    </span>uint16_t<span> </span><span>len</span><span>;</span><span>                   </span><span>/*</span><span> </span><span>Length</span><span> </span><span>is</span><span> </span><span>8.</span><span> </span><span>*/</span>

<span>    </span>uint16_t<span> </span><span>ethertype</span><span>;</span><span>             </span><span>/*</span><span> </span><span>Ethertype</span><span> </span><span>*/</span>

<span>    </span>uint8_t<span> </span><span>pad</span><span>[</span><span>2</span><span>];</span>

<span>};</span><span>and here only the ethertype is indicated. so how to control the PCP and VID value when pushing a new VLAN tag?</span>
<span><br></span>can anybody explain it for me? in addition, more words on QinQ-based matching are appreciated. thanks in advance.
<br>Best Regards
wang</div>
</div></div>
Pedro Bastida Abellán | 23 Jul 17:20 2014
Picon

1G-NetFPGA packet loss test

Hello everybody,

I´ve installed 1G-NetFPGA cards working as OpenFlow switches. They are 
connected one to the other. To each of them I have connected two hosts 
as in the figure.

HOST1--------OFS1------------OFS2----------HOST3
                         /                        \
                       /                             \
                HOST2                        HOST4

The controller is Beacon, working with the default bundles. We are 
trying to  test the platform obtaining the packet loss rate depending on 
the the load of the link (1 Gbps) between OF switches. The tool we are 
using to meassure packet loss is Iperf. We have realized that UDP 
datagram size used with Iperf has a very high impact on the results. 
Here you are the results reported by Iperf when we generate a 10Mbps UDP 
flow between HOST1 and HOST2 with a background traffic of 1Gbps (500Gbps 
from HOST1 to HOST2 and 500Gbps from HOST3 to HOST4) and datagram size 
of 1470 bytes, depending on the datagram size of packets from the 10Mbps 
flow:

Datagram size (bytes)        Packet loss rate (%)
100                                            0.00043
200                                            0.11
250                                            0.37
500                                            1.8
750                                             4
1000                                           5
1250                                          9.3
1500                                         13

These results are not the expected by me since the differences are very  
big and losses  for small datagram sizes are very small.Could it have 
something to do with the design of the OpenFlow switch? Maybe the packet 
preprocessor or any other module gives this advantage to small datagram. 
I´ve been looking for documentation, modules designs and functions, etc  
for the openflow switch implementation for the NetFPGA but I´ve only 
found it for the 10G NetFPGA card and as far as I know there are many 
differences. Does anyone have any explanation  to these results?.
Thanks in advance.

Pedro Bastida.

Divya Chitimalla | 18 Jul 21:33 2014
Picon

OpenFlow version that supports bandwidth assignment to a flow

Hi all,

Which version of openflow controller supports dedicated bandwidth assignment to a flow? I have come across a material that states that the controller checks the bandwidth required by each flow via switches' flow table counters.

Thank you.
<div><div dir="ltr">Hi all,<div><br></div>
<div>Which version of openflow controller supports dedicated bandwidth assignment to a flow? I have come across a material that states that the controller checks the bandwidth required by each flow via switches' flow table counters.</div>
<div><br></div>
<div>Thank you.</div>
</div></div>

Gmane