As I was able to see a PacketOut message in Wireshark from a tcpdump and
Ryu didn't have any errors while sending it to the switch, I tried to look
at the logs on the ovs side.
I've enabled the debug-level logs with:
>
> sudo ovs-appctl vlog/set ANY:syslog:dbg && sudo ovs-appctl vlog/set
> ANY:file:dbg


After which was able to see:

2019-08-15T18:04:37.183Z|09862|vconn|DBG|tcp:127.0.0.1:6633: received:
> OFPT_PACKET_OUT (OF1.4) (xid=0x4a011755): in_port=LOCAL actions=drop
> data_len=44
>
> vlan_tci=0x0000,dl_src=fe:ee:ee:ee:ee:ef,dl_dst=08:00:06:04:00:01,dl_type=0xc0a8


I think the `actions=drop` causes the packet to be dropped without even
hitting any tables.
The packet is created with:

>         pkt = ethernet.ethernet(ethertype=ETH_TYPE_ARP,
>                                 src='fe:ee:ee:ee:ee:ef',
>                                 dst='ff:ff:ff:ff:ff:ff') / \
>               arp.arp(hwtype=arp.ARP_HW_TYPE_ETHERNET, proto=ETH_TYPE_IP,
>                       hlen=6, plen=4,
>                       opcode=arp.ARP_REQUEST,
>                       src_mac='fe:ee:ee:ee:ee:ef', src_ip='192.168.70.2',
>                       dst_mac='00:00:00:00:00:00', dst_ip='192.168.70.3')
>         pkt.serialize()



Do you have any suggestions on how to fix it?


Thanks.
Best,
Martin

On Thu, Aug 15, 2019 at 10:15 AM Martin Mirakyan <mirakyanmar...@gmail.com>
wrote:

> Thanks for the suggestions,
>
> I was able to see an Openflow 1.4 PacketOut message in Wireshark from
> tcpdump and a TCP message from port 6633 to port 49020. And there were no
> error messages in Ryu logs when verbose mode is enabled.
>
> But still, `n_packets=0, n_bytes=0` for all the tables out there. So the
> packet doesn't actually hit the switch.
> Do you have any ideas why this might be happening?
>
> Thanks again for your help.
> Best,
> Martin
>
> On Thu, Aug 15, 2019 at 6:19 AM Yusuke Iwase <iwase.yusu...@gmail.com>
> wrote:
>
>> Hi,
>>
>> First, please verify whether the packets you sent ware forwarded or not.
>> For example, tcpdump or wireshark are useful to check it. Also please
>> confirm the log messages with log-level=debug. "ryu-manager --verbose"
>> option should work to set log-level. With this option, please check
>> whether any error message will be output or not.
>>
>> Regards,
>> Iwase
>>
>> On 2019/08/14 13:34, Martin Mirakyan wrote:
>> > Thanks!
>> >
>> > I'm trying to do as you suggested, but interestingly whenever I execute
>> > `ovs-ofctl dump-flows gtp_br0` I see that all the tables have
>> > `n_packets=0, n_bytes=0`. So, as far as I understand, the PacketOut is
>> > getting called but that doesn't reach the switch. Do you have any
>> > suggestions on what might be the problem?
>> >
>> > Thanks again for your time.
>> >
>> > Best,
>> > Martin
>> >
>> > On Tue, Aug 13, 2019 at 8:58 PM Yusuke Iwase <iwase.yusu...@gmail.com
>> > <mailto:iwase.yusu...@gmail.com>> wrote:
>> >
>> >     Hi,
>> >
>> >     Yes, you can send the Packet-Out messages without any Packet-In
>> >     messages, but it is required to confirm that Ryu and your switch are
>> >     connected and "datapath" instance for the target switch is given.
>> >
>> >     If you need to send a Packet-Out message at the initialization step,
>> >     how about sending the message in "switch_features_handler"?
>> >
>> >
>> https://ryu.readthedocs.io/en/latest/ofproto_v1_3_ref.html#ryu.ofproto.ofproto_v1_3_parser.OFPSwitchFeatures
>> >
>> >     This handler should be invoked at the initialization step for the
>> >     target switch and "datapath" instance will be given.
>> >
>> >     Regards,
>> >     Iwase
>> >
>> >
>> >     2019年8月14日(水) 3:08 Martin Mirakyan <mirakyanmar...@gmail.com
>> >     <mailto:mirakyanmar...@gmail.com>>:
>> >
>> >         Dear Ryu developer support team,
>> >
>> >         Is it possible to send a packet to the switch from a Ryu app
>> >         without having any kind of PacketIn events? I want to initiate a
>> >         packet-send from a Ryu app so that the trigger of the event is
>> >         the Ryu app itself not something external.
>> >
>> >         I've tried to do (in `def start`):
>> >
>> >         datapath.send_packet_out(in_port=ofp.OFPP_LOCAL,
>> >         actions=[],
>> >         data=pkt.data)
>> >
>> >
>> >         But when I print `ovs-ofctl dump-flows gtp_br0` all the tables
>> >         show n_packets=0 (they aren't 0 if I initiate traffic not from a
>> >         Ryu app).
>> >
>> >         Is there something I might be missing?
>> >
>> >         Thanks.
>> >         Best,
>> >         Martin
>> >         _______________________________________________
>> >         Ryu-devel mailing list
>> >         Ryu-devel@lists.sourceforge.net
>> >         <mailto:Ryu-devel@lists.sourceforge.net>
>> >         https://lists.sourceforge.net/lists/listinfo/ryu-devel
>> >
>>
>
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to