X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Fbfd.at;h=fb8b1d3d7ec3e64c84a9571c611aa53eb80c218e;hb=2d21cf728c148ab4a06eba2455878f8592ebeead;hp=c54fff034cdafbc8d61523f9f14a5f6d47c245f2;hpb=e019a574fe225cd7b2afebe06627ec2c3d58fc57;p=sliver-openvswitch.git diff --git a/tests/bfd.at b/tests/bfd.at index c54fff034..fb8b1d3d7 100644 --- a/tests/bfd.at +++ b/tests/bfd.at @@ -213,3 +213,37 @@ BFD_CHECK_RX([p0], [1000ms], [300ms]) OVS_VSWITCHD_STOP AT_CLEANUP + +AT_SETUP([bfd - check_tnl_key]) +OVS_VSWITCHD_START([add-port br0 p1 -- set Interface p1 type=gre \ + options:remote_ip=2.2.2.2 options:key=1 ofport_request=1 -- \ + set interface p1 bfd:enable=true -- \ + set bridge br0 fail-mode=standalone]) + +# by default check_tnl_key is false. so we should process a bfd packet with tun_id=1. +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate], [0], [stdout]) +# check that the packet should be handled as BFD packet. +AT_CHECK([tail -2 stdout], [0], [dnl +This flow is handled by the userspace slow path because it: + - Consists of BFD packets. +], []) + +# turn on the check_tnl_key. +AT_CHECK([ovs-vsctl set interface p1 bfd:check_tnl_key=true]) +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate], [0], [stdout]) +# check that the packet should be handled as normal packet. +AT_CHECK([tail -1 stdout], [0],[dnl +Datapath actions: 100 +], []) + +# set the tunnel key to 0. +AT_CHECK([ovs-vsctl set interface p1 options:key=0]) +AT_CHECK([ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate], [0], [stdout]) +# check that the packet should be handled as BFD packet. +AT_CHECK([tail -2 stdout], [0], [dnl +This flow is handled by the userspace slow path because it: + - Consists of BFD packets. +], []) + +OVS_VSWITCHD_STOP +AT_CLEANUP