Hi,

I noticed a weird behavior in openvswitch 1.3.0 that when I install a
flow with mod_dl_dst, the packet gets corrupted.  I created a deb
package from the official 1.3.0 release and installed to my machine.

$ dpkg -l | grep openvswitch
ii  openvswitch-common                           1.3.0-1
                     Open vSwitch common components
ii  openvswitch-datapath-module-2.6.38-13-server 1.3.0-1
                     Open vSwitch Linux datapath kernel module
ii  openvswitch-datapath-source                  1.3.0-1
                     Open vSwitch datapath module source -
module-assistant version
ii  openvswitch-switch                           1.3.0-1
                     Open vSwitch switch implementations

I created two internal ports on the datapath:

$ ovs-dpctl show dtest
system@dtest:
        lookups: hit:13 missed:28 lost:0
        flows: 0
        port 0: dtest (internal)
        port 1: p1 (internal)
        port 2: p2 (internal)

$ ip addr show p1
8: p1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc
noqueue state UNKNOWN
    link/ether 00:23:20:92:5a:a6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/29 scope global p1
    inet6 fe80::223:20ff:fe92:5aa6/64 scope link
       valid_lft forever preferred_lft forever
$ ip addr show p2
9: p2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc
noqueue state UNKNOWN
    link/ether 00:23:20:9c:2c:d1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/29 scope global p2
    inet6 fe80::223:20ff:fe9c:2cd1/64 scope link
       valid_lft forever preferred_lft forever

When I install the following flow that modifies dl_dst, and send a
packet wi mz, I'm observing a corruption on port 2: p2.

$ sudo ovs-ofctl add-flow dtest "in_port=1
actions=mod_dl_dst=00:23:20:9c:2c:d1,output=2"
$ sudo ovs-ofctl dump-flows dtest
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=1037.556s, table=0, n_packets=1, n_bytes=42,
in_port=1 actions=mod_dl_dst:00:23:20:9c:2c:d1,output:2

$ sudo mz p1 -t icmp "ping" -A 10.0.0.1 -B 10.0.0.2 -b ff:ff:ff:ff:ff:ff
$ sudo tcpdump -i p2 -e
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on p2, link-type EN10MB (Ethernet), capture size 65535 bytes
15:53:23.887733 08:00:01:00:02:00 (oui Unknown) > 00:23:20:9c:2c:d1
(oui Unknown), 802.3, length 42: LLC, dsap Unknown (0x20) Individual,
ssap Unknown (0x9c) Command, ctrl 0xd12c: Information, send seq 22,
rcv seq 104, Flags [Poll], length 28

where I was expecting to get output something like:

15:57:06.117676 00:23:20:92:5a:a6 (oui Unknown) > 00:23:20:9c:2c:d1
(oui Unknown), ethertype IPv4 (0x0800), length 42: 10.0.0.1 >
10.0.0.2: ICMP echo request, id 66, seq 1, length 8

I'm sure that this didn't happen in previous versions that I've used -
1.1.2 and 1.2.2.  Any ideas?

Thanks,

Yoshi
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to