Dear all
I really need your help. I want to install many flow entries in flow table.
So I write the function to modify flow.
The idea is when controller receives packet, it will check the udp
destination port.
If udp dest == 7, the flow will be installed for packet that have udp dest
== 3, 4 , 5, 6,7 and src mac=="00:00:00:00:00:01". So next packet that have
udp dest == 3, 4 , 5, 6 or 7 and src mac=="00:00:00:00:00:01"will be
matched in flow table. I wrote the code below but it is does not work.
Can u give any idea
#install fow at switch data
    def install_flow_switch (event, out_port=1, dstport=44,
requester="00:00:00:00:00:01"):
        msg = of.ofp_flow_mod()and src mac=="00:00:00:00:00:01"
        msg.data = event.ofp
        msg.match.dl_dst = EthAddr(requester)
        msg.match.tp_dst = dstport
        msg.actions.append(of.ofp_action_output(port = out_port))
        event.connection.send(msg)

# do layer searching for getting udp_src _port
    if packet.type == packet.IP_TYPE:
        ip_packet = packet.payload
        if ip_packet.protocol == ipv4.UDP_PROTOCOL:
            udp_packet = ip_packet.payload
            content_name = udp_packet.srcport # Name of data packet
requested
            idr = udp_packet.dstport # Id for tagging of flow matching

     if idr==7:#first interest packet then we install flow
                install_flow_switch_re (event, out_port=2, dstport=3,
requester="00:00:00:00:00:01")
                install_flow_switch_re (event, out_port=2, dstport=4,
requester="00:00:00:00:00:01")
                install_flow_switch_re (event, out_port=2, dstport=5,
requester="00:00:00:00:00:01")
                install_flow_switch_re (event, out_port=2, dstport=6,
requester="00:00:00:00:00:01")
                install_flow_switch_re (event, out_port=2, dstport=7,
requester="00:00:00:00:00:01")

-- 
Mr. Chanthan Hel
Electrical engineering, Faculty of Engineering,
Chulalongkorn University (CU)

*Phone: +66 81 456 84 27*

Reply via email to