[ovs-discuss] "netdev-dummy/receive" is not a valid command

Flaviof flavio at flaviof.com
Tue May 24 22:24:21 UTC 2016


Hi folks,

I'm trying to write a simple script to generate a packet into an existing
ovs interface (below). Instead of using "ovs-appctl ofproto/trace", I'm
attempting "ovs-appctl netdev-dummy/receive" so I can generate the raw
bytes, similar to what we have in the AT tests.

Is "netdev-dummy/receive" something that did not exist in 2.0.2?
Any pointers on how one could use that functionality?
Maybe I could do this from an ovs sandbox?

Thanks,

-- flaviof

---

[dell:ovsScripts.git] (master)$ lsmod | grep dummy

dummy                  16384  0

[dell:ovsScripts.git] (master)$

[dell:ovsScripts.git] (master)$ sudo ovs-vsctl show

c0006a18-e32c-44aa-9985-7641d61a74fc

    Bridge brtest

        Port brtest

            Interface brtest

                type: internal

        Port "dummy0"

            Interface "dummy0"

    ovs_version: "2.0.2"

[dell:ovsScripts.git] (master)$

[dell:ovsScripts.git] (master)$ ip a s dev dummy0

13: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master
ovs-system state UNKNOWN group default

    link/ether 00:01:02:03:04:05 brd ff:ff:ff:ff:ff:ff

    inet 192.168.55.254/24 scope global dummy0

       valid_lft forever preferred_lft forever

    inet6 fe80::d074:13ff:fe2f:26d3/64 scope link

       valid_lft forever preferred_lft forever

[dell:ovsScripts.git] (master)$

[dell:ovsScripts.git] (master)$

[dell:ovsScripts.git] (master)$ cat sendIcmp.sh

#!/bin/bash


ip_to_hex() {

    printf "%02x%02x%02x%02x" "$@"

}


test_ipv4_icmp_request() {

    local invif=$1 eth_src=$2 eth_dst=$3 ipv4_src=$4 ipv4_dst=$5
icmpv4_code=$6

    shift; shift; shift; shift; shift; shift

    # This packet has bad checksums but logical L3 routing doesn't check.

    local hdrchksum=0000

    local icmp_seq=0001

    local icmp_ts=02bb445700000000  ; # May/24/16 16:35:14 EDT

    local
icmp_data=000102030405060708090001020304050607080900010203040506070809000102030405060708090001020304050607
 ; # 48 bytes

    local icmp_payload=0800${hdrchksum}5fbf${icmp_seq}${icmp_ts}${icmp_data}

    local
packet=${eth_dst}${eth_src}080045000054000040004001${hdrchksum}${ipv4_src}${ipv4_dst}0035111100080000${icmp_payload}

    sudo ovs-appctl netdev-dummy/receive $invif $packet



}


eth_dst=000102030405
eth_src=001122334455
ip_src=$(ip_to_hex 192 168 50 33)
ip_dst=$(ip_to_hex 192 168 55 254)

set -x

test_ipv4_icmp_request dummy0 $eth_src $eth_dst $ip_src $ip_dst

echo ok


[dell:ovsScripts.git] (master)$

[dell:ovsScripts.git] (master)$ ./sendIcmp.sh

+ test_ipv4_icmp_request dummy0 001122334455 000102030405 c0a83221 c0a837fe

+ local invif=dummy0 eth_src=001122334455 eth_dst=000102030405
ipv4_src=c0a83221 ipv4_dst=c0a837fe icmpv4_code=

+ local hdrchksum=0000

+ local icmp_seq=0001

+ local icmp_ts=02bb445700000000

+ local
icmp_data=000102030405060708090001020304050607080900010203040506070809000102030405060708090001020304050607

+ local
icmp_payload=080000005fbf000102bb445700000000000102030405060708090001020304050607080900010203040506070809000102030405060708090001020304050607

+ local
packet=0001020304050011223344550800450000540000400040010000c0a83221c0a837fe0035111100080000080000005fbf000102bb445700000000000102030405060708090001020304050607080900010203040506070809000102030405060708090001020304050607

+ sudo ovs-appctl netdev-dummy/receive dummy0
0001020304050011223344550800450000540000400040010000c0a83221c0a837fe0035111100080000080000005fbf000102bb445700000000000102030405060708090001020304050607080900010203040506070809000102030405060708090001020304050607

"netdev-dummy/receive" is not a valid command

ovs-appctl: ovs-vswitchd: server returned an error

+ echo ok

ok

[dell:ovsScripts.git] (master)$
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160524/05da4e4a/attachment-0002.html>


More information about the discuss mailing list