From 9f1f1726d0b86a43df61bc22f6a8dec0f5c5b918 Mon Sep 17 00:00:00 2001 From: Hongbin Lu Date: Mon, 3 Sep 2018 22:32:45 +0000 Subject: [PATCH] Move files from ryu/* to os_ken/* After forking from Ryu, the namespace needs to change from 'ryu' to 'os_ken' so that it won't collide with the namespace of the old library. Change-Id: I807a8785e525cc02825d15a1a01eec3d5d20cce4 --- .gitignore | 1 - {ryu => os_ken}/app/__init__.py | 0 {ryu => os_ken}/app/bmpstation.py | 12 +- {ryu => os_ken}/app/cbench.py | 10 +- {ryu => os_ken}/app/conf_switch_key.py | 0 {ryu => os_ken}/app/example_switch_13.py | 14 +- {ryu => os_ken}/app/gui_topology/__init__.py | 0 .../app/gui_topology/gui_topology.py | 16 +- .../app/gui_topology/html/index.html | 0 .../app/gui_topology/html/router.svg | 0 .../app/gui_topology/html/ryu.topology.css | 0 .../app/gui_topology/html/ryu.topology.js | 0 {ryu => os_ken}/app/ofctl/__init__.py | 0 {ryu => os_ken}/app/ofctl/api.py | 10 +- {ryu => os_ken}/app/ofctl/event.py | 2 +- {ryu => os_ken}/app/ofctl/exception.py | 2 +- {ryu => os_ken}/app/ofctl/service.py | 8 +- {ryu => os_ken}/app/ofctl_rest.py | 40 +- {ryu => os_ken}/app/rest_conf_switch.py | 10 +- {ryu => os_ken}/app/rest_firewall.py | 44 +- {ryu => os_ken}/app/rest_qos.py | 48 +- {ryu => os_ken}/app/rest_router.py | 56 +- {ryu => os_ken}/app/rest_topology.py | 14 +- {ryu => os_ken}/app/rest_vtep.py | 42 +- {ryu => os_ken}/app/simple_monitor_13.py | 10 +- {ryu => os_ken}/app/simple_switch.py | 18 +- {ryu => os_ken}/app/simple_switch_12.py | 16 +- {ryu => os_ken}/app/simple_switch_13.py | 16 +- {ryu => os_ken}/app/simple_switch_14.py | 16 +- {ryu => os_ken}/app/simple_switch_15.py | 16 +- {ryu => os_ken}/app/simple_switch_igmp.py | 14 +- {ryu => os_ken}/app/simple_switch_igmp_13.py | 22 +- {ryu => os_ken}/app/simple_switch_lacp.py | 14 +- {ryu => os_ken}/app/simple_switch_lacp_13.py | 22 +- {ryu => os_ken}/app/simple_switch_rest_13.py | 18 +- {ryu => os_ken}/app/simple_switch_snort.py | 20 +- {ryu => os_ken}/app/simple_switch_stp.py | 14 +- {ryu => os_ken}/app/simple_switch_stp_13.py | 20 +- .../app/simple_switch_websocket_13.py | 20 +- {ryu => os_ken}/app/ws_topology.py | 10 +- {ryu => os_ken}/app/wsgi.py | 4 +- {ryu => os_ken}/base/__init__.py | 0 {ryu => os_ken}/base/app_manager.py | 22 +- {ryu => os_ken}/cfg.py | 6 +- {ryu => os_ken}/cmd/__init__.py | 0 {ryu => os_ken}/cmd/manager.py | 28 +- {ryu => os_ken}/cmd/of_config_cli.py | 8 +- {ryu => os_ken}/cmd/ofa_neutron_agent.py | 8 +- {ryu => os_ken}/cmd/rpc_cli.py | 4 +- {ryu => os_ken}/cmd/ryu_base.py | 14 +- {ryu => os_ken}/contrib/__init__.py | 0 {ryu => os_ken}/controller/__init__.py | 0 {ryu => os_ken}/controller/conf_switch.py | 6 +- {ryu => os_ken}/controller/controller.py | 38 +- {ryu => os_ken}/controller/dpset.py | 50 +- {ryu => os_ken}/controller/event.py | 0 {ryu => os_ken}/controller/handler.py | 12 +- {ryu => os_ken}/controller/mac_to_network.py | 6 +- {ryu => os_ken}/controller/mac_to_port.py | 4 +- {ryu => os_ken}/controller/network.py | 12 +- {ryu => os_ken}/controller/ofp_api.py | 12 +- {ryu => os_ken}/controller/ofp_event.py | 12 +- {ryu => os_ken}/controller/ofp_handler.py | 18 +- {ryu => os_ken}/controller/tunnels.py | 30 +- {ryu => os_ken}/exception.py | 0 {ryu => os_ken}/flags.py | 4 +- {ryu => os_ken}/hooks.py | 4 +- {ryu => os_ken}/lib/__init__.py | 0 {ryu => os_ken}/lib/addrconv.py | 0 {ryu => os_ken}/lib/alert.py | 0 {ryu => os_ken}/lib/bfdlib.py | 44 +- {ryu => os_ken}/lib/dpid.py | 0 {ryu => os_ken}/lib/hub.py | 4 +- {ryu => os_ken}/lib/igmplib.py | 36 +- {ryu => os_ken}/lib/ip.py | 4 +- {ryu => os_ken}/lib/lacplib.py | 28 +- {ryu => os_ken}/lib/mac.py | 2 +- {ryu => os_ken}/lib/mrtlib.py | 18 +- {ryu => os_ken}/lib/netconf/__init__.py | 0 {ryu => os_ken}/lib/netconf/constants.py | 0 {ryu => os_ken}/lib/netconf/netconf.xsd | 0 {ryu => os_ken}/lib/netconf/xml.xsd | 0 {ryu => os_ken}/lib/netdevice.py | 0 {ryu => os_ken}/lib/of_config/__init__.py | 0 {ryu => os_ken}/lib/of_config/base.py | 0 .../lib/of_config/capable_switch.py | 0 {ryu => os_ken}/lib/of_config/classes.py | 0 {ryu => os_ken}/lib/of_config/constants.py | 0 .../lib/of_config/generated_classes.py | 0 .../lib/of_config/ietf-inet-types.xsd | 0 .../lib/of_config/ietf-yang-types.xsd | 0 .../lib/of_config/of-config-1.0.xsd | 0 .../lib/of_config/of-config-1.1.1.xsd | 0 .../lib/of_config/of-config-1.1.xsd | 0 .../lib/of_config/xmldsig-core-schema.xsd | 0 {ryu => os_ken}/lib/ofctl_nicira_ext.py | 0 {ryu => os_ken}/lib/ofctl_string.py | 0 {ryu => os_ken}/lib/ofctl_utils.py | 0 {ryu => os_ken}/lib/ofctl_v1_0.py | 0 {ryu => os_ken}/lib/ofctl_v1_2.py | 0 {ryu => os_ken}/lib/ofctl_v1_3.py | 0 {ryu => os_ken}/lib/ofctl_v1_4.py | 0 {ryu => os_ken}/lib/ofctl_v1_5.py | 0 {ryu => os_ken}/lib/ofp_pktinfilter.py | 0 {ryu => os_ken}/lib/ovs/__init__.py | 0 {ryu => os_ken}/lib/ovs/bridge.py | 0 {ryu => os_ken}/lib/ovs/db_client.py | 0 {ryu => os_ken}/lib/ovs/vsctl.py | 0 {ryu => os_ken}/lib/ovs/vswitch_idl.py | 0 {ryu => os_ken}/lib/pack_utils.py | 0 {ryu => os_ken}/lib/packet/__init__.py | 0 {ryu => os_ken}/lib/packet/afi.py | 0 {ryu => os_ken}/lib/packet/arp.py | 0 {ryu => os_ken}/lib/packet/bfd.py | 0 {ryu => os_ken}/lib/packet/bgp.py | 0 {ryu => os_ken}/lib/packet/bmp.py | 0 {ryu => os_ken}/lib/packet/bpdu.py | 0 {ryu => os_ken}/lib/packet/cfm.py | 0 {ryu => os_ken}/lib/packet/dhcp.py | 0 {ryu => os_ken}/lib/packet/dhcp6.py | 0 {ryu => os_ken}/lib/packet/ether_types.py | 0 {ryu => os_ken}/lib/packet/ethernet.py | 0 {ryu => os_ken}/lib/packet/geneve.py | 0 {ryu => os_ken}/lib/packet/gre.py | 0 {ryu => os_ken}/lib/packet/icmp.py | 0 {ryu => os_ken}/lib/packet/icmpv6.py | 0 {ryu => os_ken}/lib/packet/igmp.py | 0 {ryu => os_ken}/lib/packet/in_proto.py | 0 {ryu => os_ken}/lib/packet/ipv4.py | 0 {ryu => os_ken}/lib/packet/ipv6.py | 0 {ryu => os_ken}/lib/packet/linux.py | 0 {ryu => os_ken}/lib/packet/llc.py | 0 {ryu => os_ken}/lib/packet/lldp.py | 0 {ryu => os_ken}/lib/packet/mpls.py | 0 {ryu => os_ken}/lib/packet/openflow.py | 0 {ryu => os_ken}/lib/packet/ospf.py | 0 {ryu => os_ken}/lib/packet/packet.py | 0 {ryu => os_ken}/lib/packet/packet_base.py | 0 {ryu => os_ken}/lib/packet/packet_utils.py | 0 {ryu => os_ken}/lib/packet/pbb.py | 0 {ryu => os_ken}/lib/packet/safi.py | 0 {ryu => os_ken}/lib/packet/sctp.py | 0 {ryu => os_ken}/lib/packet/slow.py | 0 {ryu => os_ken}/lib/packet/stream_parser.py | 0 {ryu => os_ken}/lib/packet/tcp.py | 0 {ryu => os_ken}/lib/packet/udp.py | 0 {ryu => os_ken}/lib/packet/vlan.py | 0 {ryu => os_ken}/lib/packet/vrrp.py | 0 {ryu => os_ken}/lib/packet/vxlan.py | 0 {ryu => os_ken}/lib/packet/zebra.py | 0 {ryu => os_ken}/lib/pcaplib.py | 0 {ryu => os_ken}/lib/port_no.py | 0 {ryu => os_ken}/lib/rpc.py | 0 {ryu => os_ken}/lib/snortlib.py | 0 {ryu => os_ken}/lib/sockaddr.py | 0 {ryu => os_ken}/lib/sockopt.py | 0 {ryu => os_ken}/lib/stplib.py | 0 {ryu => os_ken}/lib/stringify.py | 0 {ryu => os_ken}/lib/type_desc.py | 0 {ryu => os_ken}/lib/xflow/__init__.py | 0 {ryu => os_ken}/lib/xflow/netflow.py | 0 {ryu => os_ken}/lib/xflow/sflow.py | 0 {ryu => os_ken}/log.py | 2 +- {ryu => os_ken}/ofproto/__init__.py | 2 +- os_ken/ofproto/ether.py | 3 + os_ken/ofproto/inet.py | 3 + {ryu => os_ken}/ofproto/nicira_ext.py | 6 +- {ryu => os_ken}/ofproto/nx_actions.py | 12 +- {ryu => os_ken}/ofproto/nx_match.py | 16 +- {ryu => os_ken}/ofproto/ofproto_common.py | 0 {ryu => os_ken}/ofproto/ofproto_parser.py | 18 +- {ryu => os_ken}/ofproto/ofproto_protocol.py | 20 +- {ryu => os_ken}/ofproto/ofproto_utils.py | 8 +- {ryu => os_ken}/ofproto/ofproto_v1_0.py | 4 +- .../ofproto/ofproto_v1_0_parser.py | 32 +- {ryu => os_ken}/ofproto/ofproto_v1_2.py | 8 +- .../ofproto/ofproto_v1_2_parser.py | 26 +- {ryu => os_ken}/ofproto/ofproto_v1_3.py | 8 +- .../ofproto/ofproto_v1_3_parser.py | 36 +- {ryu => os_ken}/ofproto/ofproto_v1_4.py | 8 +- .../ofproto/ofproto_v1_4_parser.py | 30 +- {ryu => os_ken}/ofproto/ofproto_v1_5.py | 10 +- .../ofproto/ofproto_v1_5_parser.py | 32 +- {ryu => os_ken}/ofproto/oxm_fields.py | 4 +- {ryu => os_ken}/ofproto/oxs_fields.py | 2 +- {ryu => os_ken}/ofproto/oxx_fields.py | 6 +- {ryu => os_ken}/services/__init__.py | 0 .../services/protocols/__init__.py | 0 .../services/protocols/bgp/__init__.py | 0 .../services/protocols/bgp/api/__init__.py | 0 .../services/protocols/bgp/api/all.py | 0 .../services/protocols/bgp/api/base.py | 14 +- .../services/protocols/bgp/api/core.py | 10 +- .../services/protocols/bgp/api/import_map.py | 8 +- .../services/protocols/bgp/api/jsonrpc.py | 18 +- .../services/protocols/bgp/api/operator.py | 18 +- .../services/protocols/bgp/api/prefix.py | 100 +- .../protocols/bgp/api/rpc_log_handler.py | 4 +- .../services/protocols/bgp/api/rtconf.py | 30 +- .../services/protocols/bgp/application.py | 64 +- .../services/protocols/bgp/base.py | 34 +- .../services/protocols/bgp/bgp_sample_conf.py | 64 +- .../services/protocols/bgp/bgpspeaker.py | 180 +- {ryu => os_ken}/services/protocols/bgp/bmp.py | 16 +- .../services/protocols/bgp/constants.py | 0 .../services/protocols/bgp/core.py | 46 +- .../services/protocols/bgp/core_manager.py | 10 +- .../protocols/bgp/core_managers/__init__.py | 0 .../core_managers/configuration_manager.py | 12 +- .../bgp/core_managers/import_map_manager.py | 6 +- .../bgp/core_managers/peer_manager.py | 18 +- .../bgp/core_managers/table_manager.py | 146 +- .../protocols/bgp/info_base/__init__.py | 0 .../services/protocols/bgp/info_base/base.py | 28 +- .../services/protocols/bgp/info_base/evpn.py | 12 +- .../services/protocols/bgp/info_base/ipv4.py | 16 +- .../protocols/bgp/info_base/ipv4fs.py | 14 +- .../services/protocols/bgp/info_base/ipv6.py | 16 +- .../protocols/bgp/info_base/ipv6fs.py | 14 +- .../protocols/bgp/info_base/l2vpnfs.py | 12 +- .../services/protocols/bgp/info_base/rtc.py | 10 +- .../services/protocols/bgp/info_base/vpn.py | 10 +- .../services/protocols/bgp/info_base/vpnv4.py | 12 +- .../protocols/bgp/info_base/vpnv4fs.py | 12 +- .../services/protocols/bgp/info_base/vpnv6.py | 12 +- .../protocols/bgp/info_base/vpnv6fs.py | 12 +- .../services/protocols/bgp/info_base/vrf.py | 66 +- .../services/protocols/bgp/info_base/vrf4.py | 18 +- .../protocols/bgp/info_base/vrf4fs.py | 16 +- .../services/protocols/bgp/info_base/vrf6.py | 18 +- .../protocols/bgp/info_base/vrf6fs.py | 16 +- .../protocols/bgp/info_base/vrfevpn.py | 14 +- .../services/protocols/bgp/info_base/vrffs.py | 24 +- .../protocols/bgp/info_base/vrfl2vpnfs.py | 12 +- .../services/protocols/bgp/model.py | 12 +- .../services/protocols/bgp/net_ctrl.py | 36 +- .../protocols/bgp/operator/__init__.py | 0 .../protocols/bgp/operator/command.py | 0 .../bgp/operator/commands/__init__.py | 0 .../protocols/bgp/operator/commands/clear.py | 8 +- .../bgp/operator/commands/responses.py | 6 +- .../protocols/bgp/operator/commands/root.py | 11 + .../protocols/bgp/operator/commands/set.py | 10 +- .../bgp/operator/commands/show/__init__.py | 20 +- .../bgp/operator/commands/show/count.py | 12 +- .../bgp/operator/commands/show/importmap.py | 12 +- .../bgp/operator/commands/show/memory.py | 8 +- .../bgp/operator/commands/show/neighbor.py | 26 +- .../bgp/operator/commands/show/rib.py | 14 +- .../commands/show/route_formatter_mixin.py | 0 .../bgp/operator/commands/show/vrf.py | 16 +- .../protocols/bgp/operator/internal_api.py | 46 +- .../services/protocols/bgp/operator/ssh.py | 20 +- .../protocols/bgp/operator/views/__init__.py | 0 .../protocols/bgp/operator/views/base.py | 2 +- .../protocols/bgp/operator/views/bgp.py | 82 +- .../protocols/bgp/operator/views/conf.py | 6 +- .../protocols/bgp/operator/views/fields.py | 0 .../protocols/bgp/operator/views/other.py | 8 +- .../services/protocols/bgp/peer.py | 140 +- .../services/protocols/bgp/processor.py | 34 +- .../services/protocols/bgp/protocol.py | 0 .../services/protocols/bgp/rtconf/__init__.py | 0 .../services/protocols/bgp/rtconf/base.py | 14 +- .../services/protocols/bgp/rtconf/common.py | 22 +- .../protocols/bgp/rtconf/neighbors.py | 120 +- .../services/protocols/bgp/rtconf/vrfs.py | 48 +- .../protocols/bgp/signals/__init__.py | 4 + .../services/protocols/bgp/signals/base.py | 0 .../services/protocols/bgp/signals/emit.py | 2 +- .../services/protocols/bgp/speaker.py | 56 +- .../services/protocols/bgp/utils/__init__.py | 0 .../services/protocols/bgp/utils/bgp.py | 32 +- .../services/protocols/bgp/utils/circlist.py | 0 .../services/protocols/bgp/utils/evtlet.py | 2 +- .../services/protocols/bgp/utils/rtfilter.py | 18 +- .../services/protocols/bgp/utils/stats.py | 2 +- .../protocols/bgp/utils/validation.py | 2 +- .../services/protocols/ovsdb/__init__.py | 0 .../services/protocols/ovsdb/api.py | 4 +- .../services/protocols/ovsdb/client.py | 8 +- .../services/protocols/ovsdb/event.py | 20 +- .../services/protocols/ovsdb/manager.py | 14 +- .../services/protocols/ovsdb/model.py | 0 .../services/protocols/vrrp/__init__.py | 4 +- .../services/protocols/vrrp/api.py | 6 +- .../services/protocols/vrrp/dumper.py | 6 +- .../services/protocols/vrrp/event.py | 14 +- .../services/protocols/vrrp/manager.py | 18 +- .../services/protocols/vrrp/monitor.py | 12 +- .../services/protocols/vrrp/monitor_linux.py | 20 +- .../protocols/vrrp/monitor_openflow.py | 22 +- .../services/protocols/vrrp/router.py | 14 +- .../services/protocols/vrrp/rpc_manager.py | 16 +- .../services/protocols/vrrp/sample_manager.py | 16 +- .../services/protocols/vrrp/sample_router.py | 38 +- .../services/protocols/vrrp/utils.py | 12 +- .../services/protocols/zebra/__init__.py | 0 .../protocols/zebra/client/__init__.py | 0 .../services/protocols/zebra/client/event.py | 2 +- .../protocols/zebra/client/sample_dumper.py | 10 +- .../protocols/zebra/client/zclient.py | 20 +- .../services/protocols/zebra/db/__init__.py | 2 +- .../services/protocols/zebra/db/base.py | 0 .../services/protocols/zebra/db/interface.py | 12 +- .../services/protocols/zebra/db/route.py | 6 +- .../services/protocols/zebra/event.py | 16 +- .../protocols/zebra/server/__init__.py | 0 .../services/protocols/zebra/server/event.py | 2 +- .../protocols/zebra/server/sample_dumper.py | 10 +- .../protocols/zebra/server/zserver.py | 22 +- .../tests/integrated}/__init__.py | 0 .../tests/integrated/bgp}/__init__.py | 0 {ryu => os_ken}/tests/integrated/bgp/base.py | 10 +- .../tests/integrated/bgp/base_ip6.py | 10 +- .../tests/integrated/bgp/test_basic.py | 6 +- .../tests/integrated/bgp/test_ip6_basic.py | 6 +- .../tests/integrated/common}/__init__.py | 0 .../tests/integrated/common/docker_base.py | 8 +- .../common/install_docker_test_pkg.sh | 0 .../common/install_docker_test_pkg_common.sh | 0 .../install_docker_test_pkg_for_travis.sh | 0 .../tests/integrated/common/quagga.py | 0 .../tests/integrated/common/ryubgp.py | 42 +- {ryu => os_ken}/tests/integrated/run_test.py | 4 +- .../tests/integrated/run_tests_with_ovs12.py | 24 +- .../tests/integrated/test_add_flow_v10.py | 8 +- .../integrated/test_add_flow_v12_actions.py | 8 +- .../integrated/test_add_flow_v12_matches.py | 8 +- .../tests/integrated/test_of_config.py | 18 +- .../integrated/test_request_reply_v12.py | 10 +- .../tests/integrated/test_vrrp_linux_multi.py | 28 +- .../tests/integrated/test_vrrp_linux_multi.sh | 0 .../tests/integrated/test_vrrp_multi.py | 32 +- .../tests/integrated/test_vrrp_multi.sh | 0 {ryu => os_ken}/tests/integrated/tester.py | 22 +- .../tests/integrated/vrrp_common.py | 12 +- .../tests/mininet/l2/mpls/PopMPLS_mpls.mn | 0 .../tests/mininet/l2/mpls/PushMPLS_ip.mn | 0 .../tests/mininet/l2/mpls/PushMPLS_mpls.mn | 0 .../tests/mininet/l2/mpls/test_mpls.py | 16 +- .../tests/mininet/l2/vlan/PopVLAN_vlan.mn | 0 .../tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn | 0 .../tests/mininet/l2/vlan/PushVLAN_icmp.mn | 0 .../tests/mininet/l2/vlan/test_vlan.py | 18 +- .../tests/mininet/l3/icmp/ICMP_ping.mn | 0 .../tests/mininet/l3/icmp/ICMP_reply.mn | 0 .../tests/mininet/l3/icmp/test_icmp.py | 14 +- .../tests/mininet/l3/ip_ttl/DecNwTtl.mn | 0 .../tests/mininet/l3/ip_ttl/test_ip_ttl.py | 16 +- .../mininet/packet_lib/arp/ARP_gratuitous.mn | 0 .../tests/mininet/packet_lib/arp/ARP_reply.mn | 0 .../mininet/packet_lib/arp/ARP_request.mn | 0 .../tests/mininet/packet_lib/arp/test_arp.py | 26 +- .../tests/mininet/run_mnet-test.sh | 0 .../packet_data/bgp4/bgp4-keepalive.pcap | Bin .../tests/packet_data/bgp4/bgp4-open.pcap | Bin .../tests/packet_data/bgp4/bgp4-update.pcap | Bin .../packet_data/bgp4/bgp4-update_ipv6.pcap | Bin .../packet_data/bgp4/bgp4-update_vpnv6.pcap | Bin .../packet_data/bgp4/evpn_esi_arbitrary.pcap | Bin .../packet_data/bgp4/evpn_esi_as_based.pcap | Bin .../packet_data/bgp4/evpn_esi_l2_bridge.pcap | Bin .../tests/packet_data/bgp4/evpn_esi_lacp.pcap | Bin .../packet_data/bgp4/evpn_esi_mac_base.pcap | Bin .../packet_data/bgp4/evpn_esi_router_id.pcap | Bin .../packet_data/bgp4/evpn_nlri_eth_a-d.pcap | Bin .../packet_data/bgp4/evpn_nlri_eth_seg.pcap | Bin .../bgp4/evpn_nlri_inc_multi_eth_tag.pcap | Bin .../packet_data/bgp4/evpn_nlri_ip_prefix.pcap | Bin .../packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap | Bin .../bgp4/flowspec_action_redirect.pcap | Bin .../bgp4/flowspec_action_traffic_action.pcap | Bin .../bgp4/flowspec_action_traffic_marking.pcap | Bin .../bgp4/flowspec_action_traffic_rate.pcap | Bin .../packet_data/bgp4/flowspec_nlri_ipv4.pcap | Bin .../packet_data/bgp4/flowspec_nlri_ipv6.pcap | Bin .../packet_data/bgp4/flowspec_nlri_l2vpn.pcap | Bin .../packet_data/bgp4/flowspec_nlri_vpn4.pcap | Bin .../packet_data/bgp4/flowspec_nlri_vpn6.pcap | Bin .../mrt/rib.20161101.0000_pick.bz2 | Bin .../packet_data/mrt/updates.20161101.0000.bz2 | Bin .../of10/1-1-ofp_packet_out.packet | Bin .../packet_data/of10/1-2-ofp_flow_mod.packet | Bin .../packet_data/of10/1-4-ofp_packet_in.packet | Bin .../of10/1-5-features_request.packet | Bin .../of10/1-6-ofp_switch_features.packet | Bin ...OFP10-ofp_packet_out_packet_library.packet | Bin .../ovs-ofctl-of10-action_dec_mpls_ttl.packet | Bin .../ovs-ofctl-of10-action_dec_nw_ttl.packet | Bin .../ovs-ofctl-of10-action_pop_mpls.packet | Bin .../ovs-ofctl-of10-action_push_mpls.packet | Bin ...vs-ofctl-of10-action_set_mpls_label.packet | Bin .../ovs-ofctl-of10-action_set_mpls_tc.packet | Bin .../ovs-ofctl-of10-action_set_mpls_ttl.packet | Bin .../of12/3-0-ofp_desc_stats_reply.packet | Bin .../of12/3-1-ofp_packet_out.packet | Bin .../packet_data/of12/3-10-ofp_hello.packet | Bin .../of12/3-11-ofp_flow_stats_request.packet | Bin .../of12/3-12-ofp_flow_stats_reply.packet | Bin .../of12/3-13-ofp_echo_request.packet | Bin .../of12/3-14-ofp_echo_reply.packet | Bin .../of12/3-15-ofp_error_msg.packet | Bin .../of12/3-16-ofp_experimenter.packet | Bin .../of12/3-17-ofp_barrier_request.packet | Bin .../of12/3-18-ofp_barrier_reply.packet | Bin .../of12/3-19-ofp_role_request.packet | Bin .../packet_data/of12/3-2-ofp_flow_mod.packet | Bin .../of12/3-20-ofp_role_reply.packet | Bin .../of12/3-21-ofp_group_mod.packet | Bin .../packet_data/of12/3-22-ofp_port_mod.packet | Bin .../of12/3-23-ofp_table_mod.packet | Bin .../of12/3-24-ofp_desc_stats_request.packet | Bin .../3-25-ofp_aggregate_stats_request.packet | Bin .../3-26-ofp_aggregate_stats_reply.packet | Bin .../of12/3-27-ofp_table_stats_request.packet | Bin .../of12/3-28-ofp_table_stats_reply.packet | Bin .../of12/3-29-ofp_port_stats_request.packet | Bin .../packet_data/of12/3-3-ofp_flow_mod.packet | Bin .../of12/3-30-ofp_port_stats_reply.packet | Bin ...31-ofp_group_features_stats_request.packet | Bin ...3-32-ofp_group_features_stats_reply.packet | Bin .../3-33-ofp_group_desc_stats_request.packet | Bin .../3-34-ofp_group_desc_stats_reply.packet | Bin .../3-35-ofp_queue_get_config_request.packet | Bin .../3-36-ofp_queue_get_config_reply.packet | Bin .../of12/3-37-ofp_queue_stats_request.packet | Bin .../of12/3-38-ofp_queue_stats_reply.packet | Bin .../of12/3-39-ofp_port_status.packet | Bin .../packet_data/of12/3-4-ofp_packet_in.packet | Bin .../of12/3-40-ofp_flow_removed.packet | Bin .../3-41-ofp_error_msg_experimenter.packet | Bin .../of12/3-5-ofp_features_request.packet | Bin .../of12/3-59-ofp_packet_in.packet | Bin .../of12/3-6-ofp_features_reply.packet | Bin .../packet_data/of12/3-60-ofp_flow_mod.packet | Bin .../of12/3-61-ofp_group_stats_request.packet | Bin .../of12/3-62-ofp_group_stats_reply.packet | Bin .../of12/3-7-ofp_set_config.packet | Bin .../of12/3-8-ofp_get_config_request.packet | Bin .../of12/3-9-ofp_get_config_reply.packet | Bin ...OFP12-ofp_packet_out_packet_library.packet | Bin .../of13/4-0-ofp_desc_reply.packet | Bin .../of13/4-1-ofp_packet_out.packet | Bin .../packet_data/of13/4-10-ofp_hello.packet | Bin .../of13/4-11-ofp_flow_stats_request.packet | Bin .../of13/4-12-ofp_flow_stats_reply.packet | Bin .../of13/4-13-ofp_echo_request.packet | Bin .../of13/4-14-ofp_echo_reply.packet | Bin .../of13/4-15-ofp_error_msg.packet | Bin .../of13/4-16-ofp_experimenter.packet | Bin .../of13/4-17-ofp_barrier_request.packet | Bin .../of13/4-18-ofp_barrier_reply.packet | Bin .../of13/4-19-ofp_role_request.packet | Bin .../packet_data/of13/4-2-ofp_flow_mod.packet | Bin .../of13/4-20-ofp_role_reply.packet | Bin .../of13/4-21-ofp_group_mod.packet | Bin .../packet_data/of13/4-22-ofp_port_mod.packet | Bin .../of13/4-23-ofp_table_mod.packet | Bin .../of13/4-24-ofp_desc_request.packet | Bin .../4-25-ofp_aggregate_stats_request.packet | Bin .../4-26-ofp_aggregate_stats_reply.packet | Bin .../of13/4-27-ofp_table_stats_request.packet | Bin .../of13/4-28-ofp_table_stats_reply.packet | Bin .../of13/4-29-ofp_port_stats_request.packet | Bin .../packet_data/of13/4-3-ofp_flow_mod.packet | Bin .../of13/4-30-ofp_port_stats_reply.packet | Bin .../4-31-ofp_group_features_request.packet | Bin .../of13/4-32-ofp_group_features_reply.packet | Bin .../of13/4-33-ofp_group_desc_request.packet | Bin .../of13/4-34-ofp_group_desc_reply.packet | Bin .../4-35-ofp_queue_get_config_request.packet | Bin .../4-36-ofp_queue_get_config_reply.packet | Bin .../of13/4-37-ofp_queue_stats_request.packet | Bin .../of13/4-38-ofp_queue_stats_reply.packet | Bin .../of13/4-39-ofp_port_status.packet | Bin .../packet_data/of13/4-4-ofp_packet_in.packet | Bin .../of13/4-40-ofp_flow_removed.packet | Bin .../4-41-ofp_error_msg_experimenter.packet | Bin .../of13/4-42-ofp_get_async_request.packet | Bin .../of13/4-43-ofp_get_async_reply.packet | Bin .../of13/4-44-ofp_set_async.packet | Bin .../of13/4-45-ofp_meter_mod.packet | Bin .../packet_data/of13/4-46-ofp_flow_mod.packet | Bin .../of13/4-47-ofp_meter_config_request.packet | Bin .../of13/4-48-ofp_meter_config_reply.packet | Bin .../of13/4-49-ofp_meter_stats_request.packet | Bin .../of13/4-5-ofp_features_request.packet | Bin .../of13/4-50-ofp_meter_stats_reply.packet | Bin .../4-51-ofp_meter_features_request.packet | Bin .../of13/4-52-ofp_meter_features_reply.packet | Bin .../of13/4-53-ofp_port_desc_request.packet | Bin .../of13/4-54-ofp_port_desc_reply.packet | Bin .../4-55-ofp_table_features_request.packet | Bin .../of13/4-56-ofp_table_features_reply.packet | Bin .../of13/4-57-ofp_group_stats_request.packet | Bin .../of13/4-58-ofp_group_stats_reply.packet | Bin .../of13/4-59-ofp_packet_in.packet | Bin .../of13/4-6-ofp_features_reply.packet | Bin .../packet_data/of13/4-60-ofp_flow_mod.packet | Bin .../of13/4-61-ofp_experimenter_request.packet | Bin .../of13/4-62-ofp_experimenter_reply.packet | Bin .../of13/4-63-onf_flow_monitor_request.packet | Bin .../of13/4-7-ofp_set_config.packet | Bin .../of13/4-8-ofp_get_config_request.packet | Bin .../of13/4-9-ofp_get_config_reply.packet | Bin .../of13/libofproto-OFP13-echo_reply.packet | Bin .../of13/libofproto-OFP13-echo_request.packet | Bin .../of13/libofproto-OFP13-error_msg.packet | Bin .../libofproto-OFP13-features_reply.packet | Bin .../of13/libofproto-OFP13-flow_mod.packet | Bin .../libofproto-OFP13-flow_mod.truncated64 | 0 ...bofproto-OFP13-flow_mod_conjunction.packet | Bin ...ibofproto-OFP13-flow_mod_match_conj.packet | Bin .../of13/libofproto-OFP13-flow_removed.packet | Bin .../libofproto-OFP13-get_config_reply.packet | Bin .../of13/libofproto-OFP13-hello.packet | Bin .../of13/libofproto-OFP13-meter_mod.packet | Bin ...OFP13-ofp_packet_out_packet_library.packet | Bin .../of13/libofproto-OFP13-packet_in.packet | Bin .../of13/libofproto-OFP13-port_mod.packet | Bin .../of13/libofproto-OFP13-port_status.packet | Bin .../of13/libofproto-OFP13-set_config.packet | Bin .../of13/libofproto-OFP13-table_mod.packet | Bin .../ovs-ofctl-of13-action_conjunction.packet | Bin .../ovs-ofctl-of13-action_controller.packet | Bin .../ovs-ofctl-of13-action_controller2.packet | Bin .../of13/ovs-ofctl-of13-action_ct.packet | Bin .../ovs-ofctl-of13-action_ct_clear.packet | Bin .../of13/ovs-ofctl-of13-action_ct_exec.packet | Bin .../of13/ovs-ofctl-of13-action_ct_nat.packet | Bin .../ovs-ofctl-of13-action_ct_nat_v6.packet | Bin ...s-ofctl-of13-action_dec_ttl_cnt_ids.packet | Bin .../ovs-ofctl-of13-action_fintimeout.packet | Bin .../of13/ovs-ofctl-of13-action_learn.packet | Bin .../of13/ovs-ofctl-of13-action_note.packet | Bin .../ovs-ofctl-of13-action_output_trunc.packet | Bin .../ovs-ofctl-of13-action_resubmit.packet | Bin .../of13/ovs-ofctl-of13-action_sample.packet | Bin .../of13/ovs-ofctl-of13-action_sample2.packet | Bin .../ovs-ofctl-of13-action_stack_pop.packet | Bin .../ovs-ofctl-of13-action_stack_push.packet | Bin .../of13/ovs-ofctl-of13-match_conj.packet | Bin ...s-ofctl-of13-match_load_nx_register.packet | Bin ...s-ofctl-of13-match_move_nx_register.packet | Bin .../of13/ovs-ofctl-of13-match_pkt_mark.packet | Bin ...vs-ofctl-of13-match_pkt_mark_masked.packet | Bin .../of14/5-0-ofp_desc_reply.packet | Bin .../of14/5-1-ofp_packet_out.packet | Bin .../packet_data/of14/5-10-ofp_hello.packet | Bin .../of14/5-11-ofp_flow_stats_request.packet | Bin .../of14/5-12-ofp_flow_stats_reply.packet | Bin .../of14/5-13-ofp_echo_request.packet | Bin .../of14/5-14-ofp_echo_reply.packet | Bin .../of14/5-15-ofp_error_msg.packet | Bin .../of14/5-16-ofp_experimenter.packet | Bin .../of14/5-17-ofp_barrier_request.packet | Bin .../of14/5-18-ofp_barrier_reply.packet | Bin .../of14/5-19-ofp_role_request.packet | Bin .../packet_data/of14/5-2-ofp_flow_mod.packet | Bin .../of14/5-20-ofp_role_reply.packet | Bin .../of14/5-21-ofp_group_mod.packet | Bin .../packet_data/of14/5-22-ofp_port_mod.packet | Bin .../of14/5-23-ofp_table_mod.packet | Bin .../of14/5-24-ofp_desc_request.packet | Bin .../5-25-ofp_aggregate_stats_request.packet | Bin .../5-26-ofp_aggregate_stats_reply.packet | Bin .../of14/5-27-ofp_table_stats_request.packet | Bin .../of14/5-28-ofp_table_stats_reply.packet | Bin .../of14/5-29-ofp_port_stats_request.packet | Bin .../packet_data/of14/5-3-ofp_flow_mod.packet | Bin .../of14/5-30-ofp_port_stats_reply.packet | Bin .../5-31-ofp_group_features_request.packet | Bin .../of14/5-32-ofp_group_features_reply.packet | Bin .../of14/5-33-ofp_group_desc_request.packet | Bin .../of14/5-34-ofp_group_desc_reply.packet | Bin .../of14/5-35-ofp_queue_stats_request.packet | Bin .../of14/5-36-ofp_queue_stats_reply.packet | Bin .../of14/5-37-ofp_port_status.packet | Bin .../of14/5-38-ofp_flow_removed.packet | Bin .../5-39-ofp_error_msg_experimenter.packet | Bin .../packet_data/of14/5-4-ofp_packet_in.packet | Bin .../of14/5-40-ofp_get_async_request.packet | Bin .../of14/5-41-ofp_get_async_reply.packet | Bin .../of14/5-42-ofp_set_async.packet | Bin .../of14/5-43-ofp_meter_mod.packet | Bin .../packet_data/of14/5-44-ofp_flow_mod.packet | Bin .../of14/5-45-ofp_meter_config_request.packet | Bin .../of14/5-46-ofp_meter_config_reply.packet | Bin .../of14/5-47-ofp_meter_stats_request.packet | Bin .../of14/5-48-ofp_meter_stats_reply.packet | Bin .../5-49-ofp_meter_features_request.packet | Bin .../of14/5-5-ofp_features_request.packet | Bin .../of14/5-50-ofp_meter_features_reply.packet | Bin .../of14/5-51-ofp_port_desc_request.packet | Bin .../of14/5-52-ofp_port_desc_reply.packet | Bin .../5-53-ofp_table_features_request.packet | Bin .../of14/5-54-ofp_table_features_reply.packet | Bin .../of14/5-55-ofp_group_stats_request.packet | Bin .../of14/5-56-ofp_group_stats_reply.packet | Bin .../of14/5-57-ofp_packet_in.packet | Bin .../packet_data/of14/5-58-ofp_flow_mod.packet | Bin .../of14/5-59-ofp_experimenter_request.packet | Bin .../of14/5-6-ofp_features_reply.packet | Bin .../of14/5-60-ofp_experimenter_reply.packet | Bin .../of14/5-61-ofp_table_desc_request.packet | Bin .../of14/5-62-ofp_table_desc_reply.packet | Bin .../of14/5-63-ofp_queue_desc_request.packet | Bin .../of14/5-64-ofp_queue_desc_reply.packet | Bin .../of14/5-65-ofp_role_status.packet | Bin .../of14/5-66-ofp_flow_monitor_request.packet | Bin .../of14/5-67-ofp_flow_monitor_reply.packet | Bin .../of14/5-68-ofp_table_status.packet | Bin .../of14/5-69-ofp_bundle_ctrl_msg.packet | Bin .../of14/5-7-ofp_set_config.packet | Bin .../of14/5-70-ofp_bundle_add_msg.packet | Bin .../of14/5-71-ofp_requestforward.packet | Bin .../of14/5-8-ofp_get_config_request.packet | Bin .../of14/5-9-ofp_get_config_reply.packet | Bin ...OFP14-ofp_packet_out_packet_library.packet | Bin ...ofproto-OFP15-aggregate_stats_reply.packet | Bin ...proto-OFP15-aggregate_stats_request.packet | Bin .../libofproto-OFP15-barrier_reply.packet | Bin .../libofproto-OFP15-barrier_request.packet | Bin .../of15/libofproto-OFP15-bundle_add.packet | Bin .../of15/libofproto-OFP15-bundle_ctrl.packet | Bin ...ofproto-OFP15-bundle_features_reply.packet | Bin ...proto-OFP15-bundle_features_request.packet | Bin .../libofproto-OFP15-controller_status.packet | Bin ...proto-OFP15-controller_status_reply.packet | Bin ...oto-OFP15-controller_status_request.packet | Bin .../of15/libofproto-OFP15-desc_reply.packet | Bin .../of15/libofproto-OFP15-desc_request.packet | Bin .../of15/libofproto-OFP15-echo_reply.packet | Bin .../of15/libofproto-OFP15-echo_request.packet | Bin .../of15/libofproto-OFP15-error_msg.packet | Bin ...fproto-OFP15-error_msg_experimenter.packet | Bin .../of15/libofproto-OFP15-experimenter.packet | Bin ...libofproto-OFP15-experimenter_reply.packet | Bin ...bofproto-OFP15-experimenter_request.packet | Bin .../libofproto-OFP15-features_reply.packet | Bin .../libofproto-OFP15-features_request.packet | Bin .../libofproto-OFP15-flow_desc_reply.packet | Bin .../libofproto-OFP15-flow_desc_request.packet | Bin .../of15/libofproto-OFP15-flow_mod.packet | Bin ...bofproto-OFP15-flow_mod_conjunction.packet | Bin ...ibofproto-OFP15-flow_mod_match_conj.packet | Bin ...libofproto-OFP15-flow_monitor_reply.packet | Bin ...bofproto-OFP15-flow_monitor_request.packet | Bin .../of15/libofproto-OFP15-flow_removed.packet | Bin .../libofproto-OFP15-flow_stats_reply.packet | Bin ...libofproto-OFP15-flow_stats_request.packet | Bin .../libofproto-OFP15-get_async_reply.packet | Bin .../libofproto-OFP15-get_async_request.packet | Bin .../libofproto-OFP15-get_config_reply.packet | Bin ...libofproto-OFP15-get_config_request.packet | Bin .../libofproto-OFP15-group_desc_reply.packet | Bin ...libofproto-OFP15-group_desc_request.packet | Bin ...bofproto-OFP15-group_features_reply.packet | Bin ...fproto-OFP15-group_features_request.packet | Bin .../of15/libofproto-OFP15-group_mod.packet | Bin .../libofproto-OFP15-group_stats_reply.packet | Bin ...ibofproto-OFP15-group_stats_request.packet | Bin .../of15/libofproto-OFP15-hello.packet | Bin .../libofproto-OFP15-meter_desc_reply.packet | Bin ...libofproto-OFP15-meter_desc_request.packet | Bin ...bofproto-OFP15-meter_features_reply.packet | Bin ...fproto-OFP15-meter_features_request.packet | Bin .../of15/libofproto-OFP15-meter_mod.packet | Bin .../libofproto-OFP15-meter_stats_reply.packet | Bin ...ibofproto-OFP15-meter_stats_request.packet | Bin .../of15/libofproto-OFP15-packet_in.packet | Bin .../of15/libofproto-OFP15-packet_out.packet | Bin .../libofproto-OFP15-port_desc_reply.packet | Bin .../libofproto-OFP15-port_desc_request.packet | Bin .../of15/libofproto-OFP15-port_mod.packet | Bin .../libofproto-OFP15-port_stats_reply.packet | Bin ...libofproto-OFP15-port_stats_request.packet | Bin .../of15/libofproto-OFP15-port_status.packet | Bin .../libofproto-OFP15-queue_desc_reply.packet | Bin ...libofproto-OFP15-queue_desc_request.packet | Bin .../libofproto-OFP15-queue_stats_reply.packet | Bin ...ibofproto-OFP15-queue_stats_request.packet | Bin .../libofproto-OFP15-requestforward.packet | Bin .../of15/libofproto-OFP15-role_reply.packet | Bin .../of15/libofproto-OFP15-role_request.packet | Bin .../of15/libofproto-OFP15-role_status.packet | Bin .../of15/libofproto-OFP15-set_async.packet | Bin .../of15/libofproto-OFP15-set_config.packet | Bin .../libofproto-OFP15-table_desc_reply.packet | Bin ...libofproto-OFP15-table_desc_request.packet | Bin ...bofproto-OFP15-table_features_reply.packet | Bin ...fproto-OFP15-table_features_request.packet | Bin .../of15/libofproto-OFP15-table_mod.packet | Bin .../libofproto-OFP15-table_stats_reply.packet | Bin ...ibofproto-OFP15-table_stats_request.packet | Bin .../of15/libofproto-OFP15-table_status.packet | Bin .../tests/packet_data/pcap/big_endian.pcap | Bin .../packet_data/pcap/geneve_unknown.pcap | Bin .../packet_data/pcap/gre_full_options.pcap | Bin .../tests/packet_data/pcap/gre_no_option.pcap | Bin .../packet_data/pcap/gre_nvgre_option.pcap | Bin .../tests/packet_data/pcap/little_endian.pcap | Bin .../packet_data/pcap/openflow_flowmod.pcap | Bin .../pcap/openflow_flowstats_req.pcap | Bin .../pcap/openflow_invalid_version.pcap | Bin .../tests/packet_data/pcap/zebra_v2.pcap | Bin .../tests/packet_data/pcap/zebra_v3.pcap | Bin .../packet_data/pcap/zebra_v4_frr_v2.pcap | Bin .../tests/packet_data_generator/Makefile | 0 .../tests/packet_data_generator/rebar.config | 0 .../packet_data_generator/src/er.app.src | 0 .../tests/packet_data_generator/src/x.erl | 0 .../tests/packet_data_generator/src/x1.erl | 0 .../tests/packet_data_generator/src/x3.erl | 0 .../tests/packet_data_generator/src/x4.erl | 0 .../tests/packet_data_generator/src/x5.erl | 0 .../src/x_flower_packet.erl | 0 .../src/x_of_protocol.erl | 0 .../tests/packet_data_generator2/Makefile.BSD | 0 .../tests/packet_data_generator2/Makefile.GNU | 0 .../tests/packet_data_generator2/README | 0 .../tests/packet_data_generator2/gen.c | 0 .../tests/packet_data_generator3/gen.py | 12 +- {ryu => os_ken}/tests/run_tests.py | 6 +- .../tests/switch}/__init__.py | 0 .../tests/switch/of10/action/00_OUTPUT.json | 0 .../switch/of10/action/01_SET_VLAN_VID.json | 0 .../switch/of10/action/02_SET_VLAN_PCP.json | 0 .../switch/of10/action/03_STRIP_VLAN.json | 0 .../switch/of10/action/04_SET_DL_SRC.json | 0 .../switch/of10/action/05_SET_DL_DST.json | 0 .../switch/of10/action/06_SET_NW_SRC.json | 0 .../switch/of10/action/07_SET_NW_DST.json | 0 .../of10/action/08_SET_NW_TOS_IPv4.json | 0 .../of10/action/08_SET_NW_TOS_IPv6.json | 0 .../of10/action/09_SET_TP_SRC_IPv4_TCP.json | 0 .../of10/action/09_SET_TP_SRC_IPv4_UDP.json | 0 .../of10/action/09_SET_TP_SRC_IPv6_TCP.json | 0 .../of10/action/09_SET_TP_SRC_IPv6_UDP.json | 0 .../of10/action/10_SET_TP_DST_IPv4_TCP.json | 0 .../of10/action/10_SET_TP_DST_IPv4_UDP.json | 0 .../of10/action/10_SET_TP_DST_IPv6_TCP.json | 0 .../of10/action/10_SET_TP_DST_IPv6_UDP.json | 0 .../tests/switch/of10/match/00_IN_PORT.json | 0 .../tests/switch/of10/match/01_DL_SRC.json | 0 .../tests/switch/of10/match/02_DL_DST.json | 0 .../tests/switch/of10/match/03_DL_VLAN.json | 0 .../switch/of10/match/04_DL_VLAN_PCP.json | 0 .../tests/switch/of10/match/05_DL_TYPE.json | 0 .../switch/of10/match/06_NW_TOS_IPv4.json | 0 .../switch/of10/match/06_NW_TOS_IPv6.json | 0 .../switch/of10/match/07_NW_PROTO_IPv4.json | 0 .../switch/of10/match/07_NW_PROTO_IPv6.json | 0 .../tests/switch/of10/match/08_NW_SRC.json | 0 .../switch/of10/match/08_NW_SRC_Mask.json | 0 .../tests/switch/of10/match/09_NW_DST.json | 0 .../switch/of10/match/09_NW_DST_Mask.json | 0 .../switch/of10/match/10_TP_SRC_IPv4_TCP.json | 0 .../switch/of10/match/10_TP_SRC_IPv4_UDP.json | 0 .../switch/of10/match/10_TP_SRC_IPv6_TCP.json | 0 .../switch/of10/match/10_TP_SRC_IPv6_UDP.json | 0 .../switch/of10/match/11_TP_DST_IPv4_TCP.json | 0 .../switch/of10/match/11_TP_DST_IPv4_UDP.json | 0 .../switch/of10/match/11_TP_DST_IPv6_TCP.json | 0 .../switch/of10/match/11_TP_DST_IPv6_UDP.json | 0 .../tests/switch/of13/action/00_OUTPUT.json | 0 .../switch/of13/action/11_COPY_TTL_OUT.json | 0 .../switch/of13/action/12_COPY_TTL_IN.json | 0 .../switch/of13/action/15_SET_MPLS_TTL.json | 0 .../switch/of13/action/16_DEC_MPLS_TTL.json | 0 .../switch/of13/action/17_PUSH_VLAN.json | 0 .../of13/action/17_PUSH_VLAN_multiple.json | 0 .../tests/switch/of13/action/18_POP_VLAN.json | 0 .../switch/of13/action/19_PUSH_MPLS.json | 0 .../of13/action/19_PUSH_MPLS_multiple.json | 0 .../tests/switch/of13/action/20_POP_MPLS.json | 0 .../of13/action/23_SET_NW_TTL_IPv4.json | 0 .../of13/action/23_SET_NW_TTL_IPv6.json | 0 .../of13/action/24_DEC_NW_TTL_IPv4.json | 0 .../of13/action/24_DEC_NW_TTL_IPv6.json | 0 .../of13/action/25_SET_FIELD/03_ETH_DST.json | 0 .../of13/action/25_SET_FIELD/04_ETH_SRC.json | 0 .../of13/action/25_SET_FIELD/05_ETH_TYPE.json | 0 .../of13/action/25_SET_FIELD/06_VLAN_VID.json | 0 .../of13/action/25_SET_FIELD/07_VLAN_PCP.json | 0 .../action/25_SET_FIELD/08_IP_DSCP_IPv4.json | 0 .../action/25_SET_FIELD/08_IP_DSCP_IPv6.json | 0 .../action/25_SET_FIELD/09_IP_ECN_IPv4.json | 0 .../action/25_SET_FIELD/09_IP_ECN_IPv6.json | 0 .../action/25_SET_FIELD/10_IP_PROTO_IPv4.json | 0 .../action/25_SET_FIELD/10_IP_PROTO_IPv6.json | 0 .../of13/action/25_SET_FIELD/11_IPV4_SRC.json | 0 .../of13/action/25_SET_FIELD/12_IPV4_DST.json | 0 .../action/25_SET_FIELD/13_TCP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/13_TCP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/14_TCP_DST_IPv4.json | 0 .../action/25_SET_FIELD/14_TCP_DST_IPv6.json | 0 .../action/25_SET_FIELD/15_UDP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/15_UDP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/16_UDP_DST_IPv4.json | 0 .../action/25_SET_FIELD/16_UDP_DST_IPv6.json | 0 .../action/25_SET_FIELD/17_SCTP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/17_SCTP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/18_SCTP_DST_IPv4.json | 0 .../action/25_SET_FIELD/18_SCTP_DST_IPv6.json | 0 .../action/25_SET_FIELD/19_ICMPV4_TYPE.json | 0 .../action/25_SET_FIELD/20_ICMPV4_CODE.json | 0 .../of13/action/25_SET_FIELD/21_ARP_OP.json | 0 .../of13/action/25_SET_FIELD/22_ARP_SPA.json | 0 .../of13/action/25_SET_FIELD/23_ARP_TPA.json | 0 .../of13/action/25_SET_FIELD/24_ARP_SHA.json | 0 .../of13/action/25_SET_FIELD/25_ARP_THA.json | 0 .../of13/action/25_SET_FIELD/26_IPV6_SRC.json | 0 .../of13/action/25_SET_FIELD/27_IPV6_DST.json | 0 .../action/25_SET_FIELD/28_IPV6_FLABEL.json | 0 .../action/25_SET_FIELD/29_ICMPV6_TYPE.json | 0 .../action/25_SET_FIELD/30_ICMPV6_CODE.json | 0 .../25_SET_FIELD/31_IPV6_ND_TARGET.json | 0 .../action/25_SET_FIELD/32_IPV6_ND_SLL.json | 0 .../action/25_SET_FIELD/33_IPV6_ND_TLL.json | 0 .../action/25_SET_FIELD/34_MPLS_LABEL.json | 0 .../of13/action/25_SET_FIELD/35_MPLS_TC.json | 0 .../of13/action/25_SET_FIELD/36_MPLS_BOS.json | 0 .../of13/action/25_SET_FIELD/37_PBB_ISID.json | 0 .../action/25_SET_FIELD/38_TUNNEL_ID.json | 0 .../tests/switch/of13/action/26_PUSH_PBB.json | 0 .../of13/action/26_PUSH_PBB_multiple.json | 0 .../tests/switch/of13/action/27_POP_PBB.json | 0 .../tests/switch/of13/group/00_ALL.json | 0 .../switch/of13/group/01_SELECT_Ether.json | 0 .../tests/switch/of13/group/01_SELECT_IP.json | 0 .../of13/group/01_SELECT_Weight_Ether.json | 0 .../of13/group/01_SELECT_Weight_IP.json | 0 .../tests/switch/of13/match/00_IN_PORT.json | 0 .../tests/switch/of13/match/02_METADATA.json | 0 .../switch/of13/match/02_METADATA_Mask.json | 0 .../tests/switch/of13/match/03_ETH_DST.json | 0 .../switch/of13/match/03_ETH_DST_Mask.json | 0 .../tests/switch/of13/match/04_ETH_SRC.json | 0 .../switch/of13/match/04_ETH_SRC_Mask.json | 0 .../tests/switch/of13/match/05_ETH_TYPE.json | 0 .../tests/switch/of13/match/06_VLAN_VID.json | 0 .../switch/of13/match/06_VLAN_VID_Mask.json | 0 .../tests/switch/of13/match/07_VLAN_PCP.json | 0 .../switch/of13/match/08_IP_DSCP_IPv4.json | 0 .../switch/of13/match/08_IP_DSCP_IPv6.json | 0 .../switch/of13/match/09_IP_ECN_IPv4.json | 0 .../switch/of13/match/09_IP_ECN_IPv6.json | 0 .../switch/of13/match/10_IP_PROTO_IPv4.json | 0 .../switch/of13/match/10_IP_PROTO_IPv6.json | 0 .../tests/switch/of13/match/11_IPV4_SRC.json | 0 .../switch/of13/match/11_IPV4_SRC_Mask.json | 0 .../tests/switch/of13/match/12_IPV4_DST.json | 0 .../switch/of13/match/12_IPV4_DST_Mask.json | 0 .../switch/of13/match/13_TCP_SRC_IPv4.json | 0 .../switch/of13/match/13_TCP_SRC_IPv6.json | 0 .../switch/of13/match/14_TCP_DST_IPv4.json | 0 .../switch/of13/match/14_TCP_DST_IPv6.json | 0 .../switch/of13/match/15_UDP_SRC_IPv4.json | 0 .../switch/of13/match/15_UDP_SRC_IPv6.json | 0 .../switch/of13/match/16_UDP_DST_IPv4.json | 0 .../switch/of13/match/16_UDP_DST_IPv6.json | 0 .../switch/of13/match/17_SCTP_SRC_IPv4.json | 0 .../switch/of13/match/17_SCTP_SRC_IPv6.json | 0 .../switch/of13/match/18_SCTP_DST_IPv4.json | 0 .../switch/of13/match/18_SCTP_DST_IPv6.json | 0 .../switch/of13/match/19_ICMPV4_TYPE.json | 0 .../switch/of13/match/20_ICMPV4_CODE.json | 0 .../tests/switch/of13/match/21_ARP_OP.json | 0 .../tests/switch/of13/match/22_ARP_SPA.json | 0 .../switch/of13/match/22_ARP_SPA_Mask.json | 0 .../tests/switch/of13/match/23_ARP_TPA.json | 0 .../switch/of13/match/23_ARP_TPA_Mask.json | 0 .../tests/switch/of13/match/24_ARP_SHA.json | 0 .../switch/of13/match/24_ARP_SHA_Mask.json | 0 .../tests/switch/of13/match/25_ARP_THA.json | 0 .../switch/of13/match/25_ARP_THA_Mask.json | 0 .../tests/switch/of13/match/26_IPV6_SRC.json | 0 .../switch/of13/match/26_IPV6_SRC_Mask.json | 0 .../tests/switch/of13/match/27_IPV6_DST.json | 0 .../switch/of13/match/27_IPV6_DST_Mask.json | 0 .../switch/of13/match/28_IPV6_FLABEL.json | 0 .../of13/match/28_IPV6_FLABEL_Mask.json | 0 .../switch/of13/match/29_ICMPV6_TYPE.json | 0 .../switch/of13/match/30_ICMPV6_CODE.json | 0 .../switch/of13/match/31_IPV6_ND_TARGET.json | 0 .../switch/of13/match/32_IPV6_ND_SLL.json | 0 .../switch/of13/match/33_IPV6_ND_TLL.json | 0 .../switch/of13/match/34_MPLS_LABEL.json | 0 .../tests/switch/of13/match/35_MPLS_TC.json | 0 .../tests/switch/of13/match/36_MPLS_BOS.json | 0 .../tests/switch/of13/match/37_PBB_ISID.json | 0 .../switch/of13/match/37_PBB_ISID_Mask.json | 0 .../tests/switch/of13/match/38_TUNNEL_ID.json | 0 .../switch/of13/match/38_TUNNEL_ID_Mask.json | 0 .../switch/of13/match/39_IPV6_EXTHDR.json | 0 .../of13/match/39_IPV6_EXTHDR_Mask.json | 0 .../of13/meter/01_DROP_00_KBPS_00_1M.json | 0 .../of13/meter/01_DROP_00_KBPS_01_10M.json | 0 .../of13/meter/01_DROP_00_KBPS_02_100M.json | 0 .../of13/meter/01_DROP_01_PKTPS_00_100.json | 0 .../of13/meter/01_DROP_01_PKTPS_01_1000.json | 0 .../of13/meter/01_DROP_01_PKTPS_02_10000.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_00_1M.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_01_10M.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_02_100M.json | 0 .../meter/02_DSCP_REMARK_01_PKTPS_00_100.json | 0 .../02_DSCP_REMARK_01_PKTPS_01_1000.json | 0 .../02_DSCP_REMARK_01_PKTPS_02_10000.json | 0 .../tests/switch/of14/action/00_OUTPUT.json | 0 .../switch/of14/action/11_COPY_TTL_OUT.json | 0 .../switch/of14/action/12_COPY_TTL_IN.json | 0 .../switch/of14/action/15_SET_MPLS_TTL.json | 0 .../switch/of14/action/16_DEC_MPLS_TTL.json | 0 .../switch/of14/action/17_PUSH_VLAN.json | 0 .../of14/action/17_PUSH_VLAN_multiple.json | 0 .../tests/switch/of14/action/18_POP_VLAN.json | 0 .../switch/of14/action/19_PUSH_MPLS.json | 0 .../of14/action/19_PUSH_MPLS_multiple.json | 0 .../tests/switch/of14/action/20_POP_MPLS.json | 0 .../of14/action/23_SET_NW_TTL_IPv4.json | 0 .../of14/action/23_SET_NW_TTL_IPv6.json | 0 .../of14/action/24_DEC_NW_TTL_IPv4.json | 0 .../of14/action/24_DEC_NW_TTL_IPv6.json | 0 .../of14/action/25_SET_FIELD/03_ETH_DST.json | 0 .../of14/action/25_SET_FIELD/04_ETH_SRC.json | 0 .../of14/action/25_SET_FIELD/05_ETH_TYPE.json | 0 .../of14/action/25_SET_FIELD/06_VLAN_VID.json | 0 .../of14/action/25_SET_FIELD/07_VLAN_PCP.json | 0 .../action/25_SET_FIELD/08_IP_DSCP_IPv4.json | 0 .../action/25_SET_FIELD/08_IP_DSCP_IPv6.json | 0 .../action/25_SET_FIELD/09_IP_ECN_IPv4.json | 0 .../action/25_SET_FIELD/09_IP_ECN_IPv6.json | 0 .../action/25_SET_FIELD/10_IP_PROTO_IPv4.json | 0 .../action/25_SET_FIELD/10_IP_PROTO_IPv6.json | 0 .../of14/action/25_SET_FIELD/11_IPV4_SRC.json | 0 .../of14/action/25_SET_FIELD/12_IPV4_DST.json | 0 .../action/25_SET_FIELD/13_TCP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/13_TCP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/14_TCP_DST_IPv4.json | 0 .../action/25_SET_FIELD/14_TCP_DST_IPv6.json | 0 .../action/25_SET_FIELD/15_UDP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/15_UDP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/16_UDP_DST_IPv4.json | 0 .../action/25_SET_FIELD/16_UDP_DST_IPv6.json | 0 .../action/25_SET_FIELD/17_SCTP_SRC_IPv4.json | 0 .../action/25_SET_FIELD/17_SCTP_SRC_IPv6.json | 0 .../action/25_SET_FIELD/18_SCTP_DST_IPv4.json | 0 .../action/25_SET_FIELD/18_SCTP_DST_IPv6.json | 0 .../action/25_SET_FIELD/19_ICMPV4_TYPE.json | 0 .../action/25_SET_FIELD/20_ICMPV4_CODE.json | 0 .../of14/action/25_SET_FIELD/21_ARP_OP.json | 0 .../of14/action/25_SET_FIELD/22_ARP_SPA.json | 0 .../of14/action/25_SET_FIELD/23_ARP_TPA.json | 0 .../of14/action/25_SET_FIELD/24_ARP_SHA.json | 0 .../of14/action/25_SET_FIELD/25_ARP_THA.json | 0 .../of14/action/25_SET_FIELD/26_IPV6_SRC.json | 0 .../of14/action/25_SET_FIELD/27_IPV6_DST.json | 0 .../action/25_SET_FIELD/28_IPV6_FLABEL.json | 0 .../action/25_SET_FIELD/29_ICMPV6_TYPE.json | 0 .../action/25_SET_FIELD/30_ICMPV6_CODE.json | 0 .../25_SET_FIELD/31_IPV6_ND_TARGET.json | 0 .../action/25_SET_FIELD/32_IPV6_ND_SLL.json | 0 .../action/25_SET_FIELD/33_IPV6_ND_TLL.json | 0 .../action/25_SET_FIELD/34_MPLS_LABEL.json | 0 .../of14/action/25_SET_FIELD/35_MPLS_TC.json | 0 .../of14/action/25_SET_FIELD/36_MPLS_BOS.json | 0 .../of14/action/25_SET_FIELD/37_PBB_ISID.json | 0 .../action/25_SET_FIELD/38_TUNNEL_ID.json | 0 .../of14/action/25_SET_FIELD/41_PBB_UCA.json | 0 .../tests/switch/of14/action/26_PUSH_PBB.json | 0 .../of14/action/26_PUSH_PBB_multiple.json | 0 .../tests/switch/of14/action/27_POP_PBB.json | 0 .../tests/switch/of14/group/00_ALL.json | 0 .../switch/of14/group/01_SELECT_Ether.json | 0 .../tests/switch/of14/group/01_SELECT_IP.json | 0 .../of14/group/01_SELECT_Weight_Ether.json | 0 .../of14/group/01_SELECT_Weight_IP.json | 0 .../tests/switch/of14/match/00_IN_PORT.json | 0 .../tests/switch/of14/match/02_METADATA.json | 0 .../switch/of14/match/02_METADATA_Mask.json | 0 .../tests/switch/of14/match/03_ETH_DST.json | 0 .../switch/of14/match/03_ETH_DST_Mask.json | 0 .../tests/switch/of14/match/04_ETH_SRC.json | 0 .../switch/of14/match/04_ETH_SRC_Mask.json | 0 .../tests/switch/of14/match/05_ETH_TYPE.json | 0 .../tests/switch/of14/match/06_VLAN_VID.json | 0 .../switch/of14/match/06_VLAN_VID_Mask.json | 0 .../tests/switch/of14/match/07_VLAN_PCP.json | 0 .../switch/of14/match/08_IP_DSCP_IPv4.json | 0 .../switch/of14/match/08_IP_DSCP_IPv6.json | 0 .../switch/of14/match/09_IP_ECN_IPv4.json | 0 .../switch/of14/match/09_IP_ECN_IPv6.json | 0 .../switch/of14/match/10_IP_PROTO_IPv4.json | 0 .../switch/of14/match/10_IP_PROTO_IPv6.json | 0 .../tests/switch/of14/match/11_IPV4_SRC.json | 0 .../switch/of14/match/11_IPV4_SRC_Mask.json | 0 .../tests/switch/of14/match/12_IPV4_DST.json | 0 .../switch/of14/match/12_IPV4_DST_Mask.json | 0 .../switch/of14/match/13_TCP_SRC_IPv4.json | 0 .../switch/of14/match/13_TCP_SRC_IPv6.json | 0 .../switch/of14/match/14_TCP_DST_IPv4.json | 0 .../switch/of14/match/14_TCP_DST_IPv6.json | 0 .../switch/of14/match/15_UDP_SRC_IPv4.json | 0 .../switch/of14/match/15_UDP_SRC_IPv6.json | 0 .../switch/of14/match/16_UDP_DST_IPv4.json | 0 .../switch/of14/match/16_UDP_DST_IPv6.json | 0 .../switch/of14/match/17_SCTP_SRC_IPv4.json | 0 .../switch/of14/match/17_SCTP_SRC_IPv6.json | 0 .../switch/of14/match/18_SCTP_DST_IPv4.json | 0 .../switch/of14/match/18_SCTP_DST_IPv6.json | 0 .../switch/of14/match/19_ICMPV4_TYPE.json | 0 .../switch/of14/match/20_ICMPV4_CODE.json | 0 .../tests/switch/of14/match/21_ARP_OP.json | 0 .../tests/switch/of14/match/22_ARP_SPA.json | 0 .../switch/of14/match/22_ARP_SPA_Mask.json | 0 .../tests/switch/of14/match/23_ARP_TPA.json | 0 .../switch/of14/match/23_ARP_TPA_Mask.json | 0 .../tests/switch/of14/match/24_ARP_SHA.json | 0 .../switch/of14/match/24_ARP_SHA_Mask.json | 0 .../tests/switch/of14/match/25_ARP_THA.json | 0 .../switch/of14/match/25_ARP_THA_Mask.json | 0 .../tests/switch/of14/match/26_IPV6_SRC.json | 0 .../switch/of14/match/26_IPV6_SRC_Mask.json | 0 .../tests/switch/of14/match/27_IPV6_DST.json | 0 .../switch/of14/match/27_IPV6_DST_Mask.json | 0 .../switch/of14/match/28_IPV6_FLABEL.json | 0 .../of14/match/28_IPV6_FLABEL_Mask.json | 0 .../switch/of14/match/29_ICMPV6_TYPE.json | 0 .../switch/of14/match/30_ICMPV6_CODE.json | 0 .../switch/of14/match/31_IPV6_ND_TARGET.json | 0 .../switch/of14/match/32_IPV6_ND_SLL.json | 0 .../switch/of14/match/33_IPV6_ND_TLL.json | 0 .../switch/of14/match/34_MPLS_LABEL.json | 0 .../tests/switch/of14/match/35_MPLS_TC.json | 0 .../tests/switch/of14/match/36_MPLS_BOS.json | 0 .../tests/switch/of14/match/37_PBB_ISID.json | 0 .../switch/of14/match/37_PBB_ISID_Mask.json | 0 .../tests/switch/of14/match/38_TUNNEL_ID.json | 0 .../switch/of14/match/38_TUNNEL_ID_Mask.json | 0 .../switch/of14/match/39_IPV6_EXTHDR.json | 0 .../of14/match/39_IPV6_EXTHDR_Mask.json | 0 .../tests/switch/of14/match/41_PBB_UCA.json | 0 .../of14/meter/01_DROP_00_KBPS_00_1M.json | 0 .../of14/meter/01_DROP_00_KBPS_01_10M.json | 0 .../of14/meter/01_DROP_00_KBPS_02_100M.json | 0 .../of14/meter/01_DROP_01_PKTPS_00_100.json | 0 .../of14/meter/01_DROP_01_PKTPS_01_1000.json | 0 .../of14/meter/01_DROP_01_PKTPS_02_10000.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_00_1M.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_01_10M.json | 0 .../meter/02_DSCP_REMARK_00_KBPS_02_100M.json | 0 .../meter/02_DSCP_REMARK_01_PKTPS_00_100.json | 0 .../02_DSCP_REMARK_01_PKTPS_01_1000.json | 0 .../02_DSCP_REMARK_01_PKTPS_02_10000.json | 0 {ryu => os_ken}/tests/switch/run_mininet.py | 6 +- {ryu => os_ken}/tests/switch/tester.py | 50 +- {ryu => os_ken}/tests/test_lib.py | 0 {ryu => os_ken}/tests/unit/__init__.py | 2 +- .../tests/unit/app}/__init__.py | 0 .../tests/unit/app/ofctl_rest_json/of10.json | 0 .../tests/unit/app/ofctl_rest_json/of12.json | 0 .../tests/unit/app/ofctl_rest_json/of13.json | 0 .../tests/unit/app/ofctl_rest_json/of14.json | 0 .../tests/unit/app/ofctl_rest_json/of15.json | 0 .../tests/unit/app/test_ofctl_rest.py | 26 +- {ryu => os_ken}/tests/unit/app/test_tester.py | 36 +- .../tests/unit/app/test_ws_topology.py | 2 +- {ryu => os_ken}/tests/unit/app/test_wsgi.py | 10 +- {ryu => os_ken}/tests/unit/cmd/__init__.py | 0 {ryu => os_ken}/tests/unit/cmd/dummy_app.py | 2 +- .../tests/unit/cmd/dummy_openflow_app.py | 4 +- .../tests/unit/cmd/test_manager.py | 24 +- .../tests/unit/controller}/__init__.py | 0 .../tests/unit/controller/test_controller.py | 16 +- .../tests/unit/ofproto}/__init__.py | 0 .../json/of10/1-1-ofp_packet_out.packet.json | 0 .../json/of10/1-2-ofp_flow_mod.packet.json | 0 .../json/of10/1-4-ofp_packet_in.packet.json | 0 .../of10/1-5-features_request.packet.json | 0 .../of10/1-6-ofp_switch_features.packet.json | 0 ...-ofp_packet_out_packet_library.packet.json | 0 ...ofctl-of10-action_dec_mpls_ttl.packet.json | 0 ...s-ofctl-of10-action_dec_nw_ttl.packet.json | 0 ...ovs-ofctl-of10-action_pop_mpls.packet.json | 0 ...vs-ofctl-of10-action_push_mpls.packet.json | 0 ...ctl-of10-action_set_mpls_label.packet.json | 0 ...-ofctl-of10-action_set_mpls_tc.packet.json | 0 ...ofctl-of10-action_set_mpls_ttl.packet.json | 0 .../of12/3-0-ofp_desc_stats_reply.packet.json | 0 .../json/of12/3-1-ofp_packet_out.packet.json | 0 .../json/of12/3-10-ofp_hello.packet.json | 0 .../3-11-ofp_flow_stats_request.packet.json | 0 .../3-12-ofp_flow_stats_reply.packet.json | 0 .../of12/3-13-ofp_echo_request.packet.json | 0 .../json/of12/3-14-ofp_echo_reply.packet.json | 0 .../json/of12/3-15-ofp_error_msg.packet.json | 0 .../of12/3-16-ofp_experimenter.packet.json | 0 .../of12/3-17-ofp_barrier_request.packet.json | 0 .../of12/3-18-ofp_barrier_reply.packet.json | 0 .../of12/3-19-ofp_role_request.packet.json | 0 .../json/of12/3-2-ofp_flow_mod.packet.json | 0 .../json/of12/3-20-ofp_role_reply.packet.json | 0 .../json/of12/3-21-ofp_group_mod.packet.json | 0 .../json/of12/3-22-ofp_port_mod.packet.json | 0 .../json/of12/3-23-ofp_table_mod.packet.json | 0 .../3-24-ofp_desc_stats_request.packet.json | 0 ...25-ofp_aggregate_stats_request.packet.json | 0 ...3-26-ofp_aggregate_stats_reply.packet.json | 0 .../3-27-ofp_table_stats_request.packet.json | 0 .../3-28-ofp_table_stats_reply.packet.json | 0 .../3-29-ofp_port_stats_request.packet.json | 0 .../json/of12/3-3-ofp_flow_mod.packet.json | 0 .../3-30-ofp_port_stats_reply.packet.json | 0 ...p_group_features_stats_request.packet.json | 0 ...ofp_group_features_stats_reply.packet.json | 0 ...3-ofp_group_desc_stats_request.packet.json | 0 ...-34-ofp_group_desc_stats_reply.packet.json | 0 ...5-ofp_queue_get_config_request.packet.json | 0 ...-36-ofp_queue_get_config_reply.packet.json | 0 .../3-37-ofp_queue_stats_request.packet.json | 0 .../3-38-ofp_queue_stats_reply.packet.json | 0 .../of12/3-39-ofp_port_status.packet.json | 0 .../json/of12/3-4-ofp_packet_in.packet.json | 0 .../of12/3-40-ofp_flow_removed.packet.json | 0 ...-41-ofp_error_msg_experimenter.packet.json | 0 .../of12/3-5-ofp_features_request.packet.json | 0 .../json/of12/3-59-ofp_packet_in.packet.json | 0 .../of12/3-6-ofp_features_reply.packet.json | 0 .../json/of12/3-60-ofp_flow_mod.packet.json | 0 .../3-61-ofp_group_stats_request.packet.json | 0 .../3-62-ofp_group_stats_reply.packet.json | 0 .../json/of12/3-7-ofp_set_config.packet.json | 0 .../3-8-ofp_get_config_request.packet.json | 0 .../of12/3-9-ofp_get_config_reply.packet.json | 0 ...-ofctl-ofp_group_stats_request.packet.json | 0 ...b-ofctl-ofp_port_stats_request.packet.json | 0 ...l-ofp_queue_get_config_request.packet.json | 0 ...ofctl-ofp_queue_stats_request.packet1.json | 0 ...ofctl-ofp_queue_stats_request.packet2.json | 0 ...ofctl-ofp_queue_stats_request.packet3.json | 0 ...-ofp_packet_out_packet_library.packet.json | 0 .../json/of13/4-0-ofp_desc_reply.packet.json | 0 .../json/of13/4-1-ofp_packet_out.packet.json | 0 .../json/of13/4-10-ofp_hello.packet.json | 0 .../4-11-ofp_flow_stats_request.packet.json | 0 .../4-12-ofp_flow_stats_reply.packet.json | 0 .../of13/4-13-ofp_echo_request.packet.json | 0 .../json/of13/4-14-ofp_echo_reply.packet.json | 0 .../json/of13/4-15-ofp_error_msg.packet.json | 0 .../of13/4-16-ofp_experimenter.packet.json | 0 .../of13/4-17-ofp_barrier_request.packet.json | 0 .../of13/4-18-ofp_barrier_reply.packet.json | 0 .../of13/4-19-ofp_role_request.packet.json | 0 .../json/of13/4-2-ofp_flow_mod.packet.json | 0 .../json/of13/4-20-ofp_role_reply.packet.json | 0 .../json/of13/4-21-ofp_group_mod.packet.json | 0 .../json/of13/4-22-ofp_port_mod.packet.json | 0 .../json/of13/4-23-ofp_table_mod.packet.json | 0 .../of13/4-24-ofp_desc_request.packet.json | 0 ...25-ofp_aggregate_stats_request.packet.json | 0 ...4-26-ofp_aggregate_stats_reply.packet.json | 0 .../4-27-ofp_table_stats_request.packet.json | 0 .../4-28-ofp_table_stats_reply.packet.json | 0 .../4-29-ofp_port_stats_request.packet.json | 0 .../json/of13/4-3-ofp_flow_mod.packet.json | 0 .../4-30-ofp_port_stats_reply.packet.json | 0 ...-31-ofp_group_features_request.packet.json | 0 .../4-32-ofp_group_features_reply.packet.json | 0 .../4-33-ofp_group_desc_request.packet.json | 0 .../4-34-ofp_group_desc_reply.packet.json | 0 ...5-ofp_queue_get_config_request.packet.json | 0 ...-36-ofp_queue_get_config_reply.packet.json | 0 .../4-37-ofp_queue_stats_request.packet.json | 0 .../4-38-ofp_queue_stats_reply.packet.json | 0 .../of13/4-39-ofp_port_status.packet.json | 0 .../json/of13/4-4-ofp_packet_in.packet.json | 0 .../of13/4-40-ofp_flow_removed.packet.json | 0 ...-41-ofp_error_msg_experimenter.packet.json | 0 .../4-42-ofp_get_async_request.packet.json | 0 .../of13/4-43-ofp_get_async_reply.packet.json | 0 .../json/of13/4-44-ofp_set_async.packet.json | 0 .../json/of13/4-45-ofp_meter_mod.packet.json | 0 .../json/of13/4-46-ofp_flow_mod.packet.json | 0 .../4-47-ofp_meter_config_request.packet.json | 0 .../4-48-ofp_meter_config_reply.packet.json | 0 .../4-49-ofp_meter_stats_request.packet.json | 0 .../of13/4-5-ofp_features_request.packet.json | 0 .../4-50-ofp_meter_stats_reply.packet.json | 0 ...-51-ofp_meter_features_request.packet.json | 0 .../4-52-ofp_meter_features_reply.packet.json | 0 .../4-53-ofp_port_desc_request.packet.json | 0 .../of13/4-54-ofp_port_desc_reply.packet.json | 0 ...-55-ofp_table_features_request.packet.json | 0 .../4-56-ofp_table_features_reply.packet.json | 0 .../4-57-ofp_group_stats_request.packet.json | 0 .../4-58-ofp_group_stats_reply.packet.json | 0 .../json/of13/4-59-ofp_packet_in.packet.json | 0 .../of13/4-6-ofp_features_reply.packet.json | 0 .../json/of13/4-60-ofp_flow_mod.packet.json | 0 .../4-61-ofp_experimenter_request.packet.json | 0 .../4-62-ofp_experimenter_reply.packet.json | 0 .../4-63-onf_flow_monitor_request.packet.json | 0 .../json/of13/4-7-ofp_set_config.packet.json | 0 .../4-8-ofp_get_config_request.packet.json | 0 .../of13/4-9-ofp_get_config_reply.packet.json | 0 ...-ofctl-ofp_group_stats_request.packet.json | 0 ...ofctl-ofp_meter_config_request.packet.json | 0 ...-ofctl-ofp_meter_stats_request.packet.json | 0 ...b-ofctl-ofp_port_stats_request.packet.json | 0 ...l-ofp_queue_get_config_request.packet.json | 0 ...ofctl-ofp_queue_stats_request.packet1.json | 0 ...ofctl-ofp_queue_stats_request.packet2.json | 0 ...ofctl-ofp_queue_stats_request.packet3.json | 0 ...ctl-ofp_table_features_request.packet.json | 0 .../libofproto-OFP13-echo_reply.packet.json | 0 .../libofproto-OFP13-echo_request.packet.json | 0 .../libofproto-OFP13-error_msg.packet.json | 0 ...ibofproto-OFP13-features_reply.packet.json | 0 .../libofproto-OFP13-flow_mod.packet.json | 0 ...oto-OFP13-flow_mod.packet.truncated64.json | 0 ...oto-OFP13-flow_mod_conjunction.packet.json | 0 ...roto-OFP13-flow_mod_match_conj.packet.json | 0 .../libofproto-OFP13-flow_removed.packet.json | 0 ...ofproto-OFP13-get_config_reply.packet.json | 0 .../of13/libofproto-OFP13-hello.packet.json | 0 .../libofproto-OFP13-meter_mod.packet.json | 0 ...-ofp_packet_out_packet_library.packet.json | 0 .../libofproto-OFP13-packet_in.packet.json | 0 .../libofproto-OFP13-port_mod.packet.json | 0 .../libofproto-OFP13-port_status.packet.json | 0 .../libofproto-OFP13-set_config.packet.json | 0 .../libofproto-OFP13-table_mod.packet.json | 0 ...-ofctl-of13-action_conjunction.packet.json | 0 ...s-ofctl-of13-action_controller.packet.json | 0 ...-ofctl-of13-action_controller2.packet.json | 0 .../of13/ovs-ofctl-of13-action_ct.packet.json | 0 ...ovs-ofctl-of13-action_ct_clear.packet.json | 0 .../ovs-ofctl-of13-action_ct_exec.packet.json | 0 .../ovs-ofctl-of13-action_ct_nat.packet.json | 0 ...vs-ofctl-of13-action_ct_nat_v6.packet.json | 0 ...tl-of13-action_dec_ttl_cnt_ids.packet.json | 0 ...s-ofctl-of13-action_fintimeout.packet.json | 0 .../ovs-ofctl-of13-action_learn.packet.json | 0 .../ovs-ofctl-of13-action_note.packet.json | 0 ...ofctl-of13-action_output_trunc.packet.json | 0 ...ovs-ofctl-of13-action_resubmit.packet.json | 0 .../ovs-ofctl-of13-action_sample.packet.json | 0 .../ovs-ofctl-of13-action_sample2.packet.json | 0 ...vs-ofctl-of13-action_stack_pop.packet.json | 0 ...s-ofctl-of13-action_stack_push.packet.json | 0 .../ovs-ofctl-of13-match_conj.packet.json | 0 ...tl-of13-match_load_nx_register.packet.json | 0 ...tl-of13-match_move_nx_register.packet.json | 0 .../ovs-ofctl-of13-match_pkt_mark.packet.json | 0 ...ctl-of13-match_pkt_mark_masked.packet.json | 0 .../json/of14/5-0-ofp_desc_reply.packet.json | 0 .../json/of14/5-1-ofp_packet_out.packet.json | 0 .../json/of14/5-10-ofp_hello.packet.json | 0 .../5-11-ofp_flow_stats_request.packet.json | 0 .../5-12-ofp_flow_stats_reply.packet.json | 0 .../of14/5-13-ofp_echo_request.packet.json | 0 .../json/of14/5-14-ofp_echo_reply.packet.json | 0 .../json/of14/5-15-ofp_error_msg.packet.json | 0 .../of14/5-16-ofp_experimenter.packet.json | 0 .../of14/5-17-ofp_barrier_request.packet.json | 0 .../of14/5-18-ofp_barrier_reply.packet.json | 0 .../of14/5-19-ofp_role_request.packet.json | 0 .../json/of14/5-2-ofp_flow_mod.packet.json | 0 .../json/of14/5-20-ofp_role_reply.packet.json | 0 .../json/of14/5-21-ofp_group_mod.packet.json | 0 .../json/of14/5-22-ofp_port_mod.packet.json | 0 .../json/of14/5-23-ofp_table_mod.packet.json | 0 .../of14/5-24-ofp_desc_request.packet.json | 0 ...25-ofp_aggregate_stats_request.packet.json | 0 ...5-26-ofp_aggregate_stats_reply.packet.json | 0 .../5-27-ofp_table_stats_request.packet.json | 0 .../5-28-ofp_table_stats_reply.packet.json | 0 .../5-29-ofp_port_stats_request.packet.json | 0 .../json/of14/5-3-ofp_flow_mod.packet.json | 0 .../5-30-ofp_port_stats_reply.packet.json | 0 ...-31-ofp_group_features_request.packet.json | 0 .../5-32-ofp_group_features_reply.packet.json | 0 .../5-33-ofp_group_desc_request.packet.json | 0 .../5-34-ofp_group_desc_reply.packet.json | 0 .../5-35-ofp_queue_stats_request.packet.json | 0 .../5-36-ofp_queue_stats_reply.packet.json | 0 .../of14/5-37-ofp_port_status.packet.json | 0 .../of14/5-38-ofp_flow_removed.packet.json | 0 ...-39-ofp_error_msg_experimenter.packet.json | 0 .../json/of14/5-4-ofp_packet_in.packet.json | 0 .../5-40-ofp_get_async_request.packet.json | 0 .../of14/5-41-ofp_get_async_reply.packet.json | 0 .../json/of14/5-42-ofp_set_async.packet.json | 0 .../json/of14/5-43-ofp_meter_mod.packet.json | 0 .../json/of14/5-44-ofp_flow_mod.packet.json | 0 .../5-45-ofp_meter_config_request.packet.json | 0 .../5-46-ofp_meter_config_reply.packet.json | 0 .../5-47-ofp_meter_stats_request.packet.json | 0 .../5-48-ofp_meter_stats_reply.packet.json | 0 ...-49-ofp_meter_features_request.packet.json | 0 .../of14/5-5-ofp_features_request.packet.json | 0 .../5-50-ofp_meter_features_reply.packet.json | 0 .../5-51-ofp_port_desc_request.packet.json | 0 .../of14/5-52-ofp_port_desc_reply.packet.json | 0 ...-53-ofp_table_features_request.packet.json | 0 .../5-54-ofp_table_features_reply.packet.json | 0 .../5-55-ofp_group_stats_request.packet.json | 0 .../5-56-ofp_group_stats_reply.packet.json | 0 .../json/of14/5-57-ofp_packet_in.packet.json | 0 .../json/of14/5-58-ofp_flow_mod.packet.json | 0 .../5-59-ofp_experimenter_request.packet.json | 0 .../of14/5-6-ofp_features_reply.packet.json | 0 .../5-60-ofp_experimenter_reply.packet.json | 0 .../5-61-ofp_table_desc_request.packet.json | 0 .../5-62-ofp_table_desc_reply.packet.json | 0 .../5-63-ofp_queue_desc_request.packet.json | 0 .../5-64-ofp_queue_desc_reply.packet.json | 0 .../of14/5-65-ofp_role_status.packet.json | 0 .../5-66-ofp_flow_monitor_request.packet.json | 0 .../5-67-ofp_flow_monitor_reply.packet.json | 0 .../of14/5-68-ofp_table_status.packet.json | 0 .../of14/5-69-ofp_bundle_ctrl_msg.packet.json | 0 .../json/of14/5-7-ofp_set_config.packet.json | 0 .../of14/5-70-ofp_bundle_add_msg.packet.json | 0 .../of14/5-71-ofp_requestforward.packet.json | 0 .../5-8-ofp_get_config_request.packet.json | 0 .../of14/5-9-ofp_get_config_reply.packet.json | 0 ...ctl-ofp_table_features_request.packet.json | 0 ...-ofp_packet_out_packet_library.packet.json | 0 ...ib-ofctl-OFP15-flow_desc_reply.packet.json | 0 ...-ofctl-OFP15-flow_desc_request.packet.json | 0 .../of15/lib-ofctl-OFP15-flow_mod.packet.json | 0 ...-ofctl-ofp_queue_stats_request.packet.json | 0 ...ctl-ofp_table_features_request.packet.json | 0 ...to-OFP15-aggregate_stats_reply.packet.json | 0 ...-OFP15-aggregate_stats_request.packet.json | 0 ...libofproto-OFP15-barrier_reply.packet.json | 0 ...bofproto-OFP15-barrier_request.packet.json | 0 .../libofproto-OFP15-bundle_add.packet.json | 0 .../libofproto-OFP15-bundle_ctrl.packet.json | 0 ...to-OFP15-bundle_features_reply.packet.json | 0 ...-OFP15-bundle_features_request.packet.json | 0 ...fproto-OFP15-controller_status.packet.json | 0 ...-OFP15-controller_status_reply.packet.json | 0 ...FP15-controller_status_request.packet.json | 0 .../libofproto-OFP15-desc_reply.packet.json | 0 .../libofproto-OFP15-desc_request.packet.json | 0 .../libofproto-OFP15-echo_reply.packet.json | 0 .../libofproto-OFP15-echo_request.packet.json | 0 .../libofproto-OFP15-error_msg.packet.json | 0 ...o-OFP15-error_msg_experimenter.packet.json | 0 .../libofproto-OFP15-experimenter.packet.json | 0 ...proto-OFP15-experimenter_reply.packet.json | 0 ...oto-OFP15-experimenter_request.packet.json | 0 ...ibofproto-OFP15-features_reply.packet.json | 0 ...ofproto-OFP15-features_request.packet.json | 0 ...bofproto-OFP15-flow_desc_reply.packet.json | 0 ...fproto-OFP15-flow_desc_request.packet.json | 0 .../libofproto-OFP15-flow_mod.packet.json | 0 ...oto-OFP15-flow_mod_conjunction.packet.json | 0 ...roto-OFP15-flow_mod_match_conj.packet.json | 0 ...ibofproto-OFP15-flow_mod_no_nx.packet.json | 0 ...proto-OFP15-flow_monitor_reply.packet.json | 0 ...oto-OFP15-flow_monitor_request.packet.json | 0 .../libofproto-OFP15-flow_removed.packet.json | 0 ...ofproto-OFP15-flow_stats_reply.packet.json | 0 ...proto-OFP15-flow_stats_request.packet.json | 0 ...bofproto-OFP15-get_async_reply.packet.json | 0 ...fproto-OFP15-get_async_request.packet.json | 0 ...ofproto-OFP15-get_config_reply.packet.json | 0 ...proto-OFP15-get_config_request.packet.json | 0 ...ofproto-OFP15-group_desc_reply.packet.json | 0 ...proto-OFP15-group_desc_request.packet.json | 0 ...oto-OFP15-group_features_reply.packet.json | 0 ...o-OFP15-group_features_request.packet.json | 0 .../libofproto-OFP15-group_mod.packet.json | 0 ...fproto-OFP15-group_stats_reply.packet.json | 0 ...roto-OFP15-group_stats_request.packet.json | 0 .../of15/libofproto-OFP15-hello.packet.json | 0 ...ofproto-OFP15-meter_desc_reply.packet.json | 0 ...proto-OFP15-meter_desc_request.packet.json | 0 ...oto-OFP15-meter_features_reply.packet.json | 0 ...o-OFP15-meter_features_request.packet.json | 0 .../libofproto-OFP15-meter_mod.packet.json | 0 ...fproto-OFP15-meter_stats_reply.packet.json | 0 ...roto-OFP15-meter_stats_request.packet.json | 0 .../libofproto-OFP15-packet_in.packet.json | 0 .../libofproto-OFP15-packet_out.packet.json | 0 ...bofproto-OFP15-port_desc_reply.packet.json | 0 ...fproto-OFP15-port_desc_request.packet.json | 0 .../libofproto-OFP15-port_mod.packet.json | 0 ...ofproto-OFP15-port_stats_reply.packet.json | 0 ...proto-OFP15-port_stats_request.packet.json | 0 .../libofproto-OFP15-port_status.packet.json | 0 ...ofproto-OFP15-queue_desc_reply.packet.json | 0 ...proto-OFP15-queue_desc_request.packet.json | 0 ...fproto-OFP15-queue_stats_reply.packet.json | 0 ...roto-OFP15-queue_stats_request.packet.json | 0 ...ibofproto-OFP15-requestforward.packet.json | 0 .../libofproto-OFP15-role_reply.packet.json | 0 .../libofproto-OFP15-role_request.packet.json | 0 .../libofproto-OFP15-role_status.packet.json | 0 .../libofproto-OFP15-set_async.packet.json | 0 .../libofproto-OFP15-set_config.packet.json | 0 ...ofproto-OFP15-table_desc_reply.packet.json | 0 ...proto-OFP15-table_desc_request.packet.json | 0 ...oto-OFP15-table_features_reply.packet.json | 0 ...o-OFP15-table_features_request.packet.json | 0 .../libofproto-OFP15-table_mod.packet.json | 0 ...fproto-OFP15-table_stats_reply.packet.json | 0 ...roto-OFP15-table_stats_request.packet.json | 0 .../libofproto-OFP15-table_status.packet.json | 0 .../tests/unit/ofproto/test_ether.py | 2 +- .../tests/unit/ofproto/test_inet.py | 2 +- .../tests/unit/ofproto/test_nx_flow_spec.py | 2 +- os_ken/tests/unit/ofproto/test_ofproto.py | 81 + .../tests/unit/ofproto/test_ofproto_common.py | 2 +- .../tests/unit/ofproto/test_ofproto_parser.py | 6 +- .../tests/unit/ofproto/test_ofproto_v12.py | 2 +- .../tests/unit/ofproto/test_oxm.py | 2 +- .../tests/unit/ofproto/test_oxs.py | 2 +- .../tests/unit/ofproto/test_parser.py | 20 +- .../tests/unit/ofproto/test_parser_compat.py | 12 +- .../unit/ofproto/test_parser_ofpmatch.py | 18 +- .../unit/ofproto/test_parser_ofpstats.py | 6 +- .../tests/unit/ofproto/test_parser_v10.py | 8 +- .../tests/unit/ofproto/test_parser_v12.py | 18 +- .../tests/unit/ofproto/test_parser_v13.py | 16 +- .../tests/unit/packet}/__init__.py | 0 {ryu => os_ken}/tests/unit/packet/test_arp.py | 12 +- {ryu => os_ken}/tests/unit/packet/test_bfd.py | 16 +- {ryu => os_ken}/tests/unit/packet/test_bgp.py | 14 +- {ryu => os_ken}/tests/unit/packet/test_bmp.py | 10 +- .../tests/unit/packet/test_bpdu.py | 2 +- {ryu => os_ken}/tests/unit/packet/test_cfm.py | 4 +- .../tests/unit/packet/test_dhcp.py | 4 +- .../tests/unit/packet/test_ethernet.py | 10 +- .../tests/unit/packet/test_geneve.py | 10 +- {ryu => os_ken}/tests/unit/packet/test_gre.py | 12 +- .../tests/unit/packet/test_icmp.py | 4 +- .../tests/unit/packet/test_icmpv6.py | 14 +- .../tests/unit/packet/test_igmp.py | 28 +- .../tests/unit/packet/test_ipv4.py | 14 +- .../tests/unit/packet/test_ipv6.py | 6 +- {ryu => os_ken}/tests/unit/packet/test_llc.py | 2 +- .../tests/unit/packet/test_lldp.py | 10 +- .../tests/unit/packet/test_mpls.py | 2 +- .../tests/unit/packet/test_openflow.py | 10 +- .../tests/unit/packet/test_ospf.py | 4 +- .../tests/unit/packet/test_packet.py | 24 +- {ryu => os_ken}/tests/unit/packet/test_pbb.py | 14 +- .../tests/unit/packet/test_sctp.py | 14 +- .../tests/unit/packet/test_slow.py | 16 +- {ryu => os_ken}/tests/unit/packet/test_tcp.py | 10 +- {ryu => os_ken}/tests/unit/packet/test_udp.py | 12 +- .../tests/unit/packet/test_vlan.py | 12 +- .../tests/unit/packet/test_vrrp.py | 14 +- .../tests/unit/packet/test_vxlan.py | 4 +- .../tests/unit/packet/test_zebra.py | 12 +- .../tests/unit/sample}/__init__.py | 0 .../tests/unit/sample/test_sample1.py | 4 +- .../tests/unit/sample/test_sample2.py | 2 +- .../tests/unit/services}/__init__.py | 0 .../unit/services/protocols}/__init__.py | 0 .../unit/services/protocols/bgp}/__init__.py | 0 .../protocols/bgp/core_managers}/__init__.py | 0 .../bgp/core_managers/test_table_manager.py | 72 +- .../services/protocols/bgp/test_bgpspeaker.py | 138 +- .../unit/services/protocols/bgp/test_peer.py | 4 +- .../services/protocols/bgp/utils}/__init__.py | 0 .../services/protocols/bgp/utils/test_bgp.py | 12 +- .../protocols/bgp/utils/test_validation.py | 4 +- .../tests/unit/test_requirements.py | 0 {ryu => os_ken}/tests/unit/test_utils.py | 2 +- os_ken/topology/__init__.py | 3 + {ryu => os_ken}/topology/api.py | 6 +- {ryu => os_ken}/topology/dumper.py | 10 +- {ryu => os_ken}/topology/event.py | 6 +- {ryu => os_ken}/topology/switches.py | 42 +- {ryu => os_ken}/utils.py | 2 +- ryu/__init__.py | 18 - ryu/ofproto/ether.py | 3 - ryu/ofproto/inet.py | 3 - .../protocols/bgp/operator/commands/root.py | 11 - .../protocols/bgp/signals/__init__.py | 4 - .../of10/1-2-ofp_flow_mod.packet.json | 23 - .../of12/3-0-ofp_desc_stats_reply.packet.json | 9 - .../3-11-ofp_flow_stats_request.packet.json | 11 - .../3-12-ofp_flow_stats_reply.packet.json | 75 - .../of12/3-16-ofp_experimenter.packet.json | 8 - .../of12/3-2-ofp_flow_mod.packet.json | 41 - .../of12/3-21-ofp_group_mod.packet.json | 22 - .../of12/3-22-ofp_port_mod.packet.json | 9 - ...25-ofp_aggregate_stats_request.packet.json | 11 - ...3-26-ofp_aggregate_stats_reply.packet.json | 9 - .../3-28-ofp_table_stats_reply.packet.json | 32134 ---------------- .../3-30-ofp_port_stats_reply.packet.json | 34 - ...ofp_group_features_stats_reply.packet.json | 104 - ...-34-ofp_group_desc_stats_reply.packet.json | 20 - ...5-ofp_queue_get_config_request.packet.json | 3 - ...-36-ofp_queue_get_config_reply.packet.json | 43 - .../3-38-ofp_queue_stats_reply.packet.json | 25 - .../of12/3-6-ofp_features_reply.packet.json | 30 - .../3-62-ofp_group_stats_reply.packet.json | 17 - ...-ofctl-ofp_group_stats_request.packet.json | 3 - ...b-ofctl-ofp_port_stats_request.packet.json | 3 - ...l-ofp_queue_get_config_request.packet.json | 3 - ...ofctl-ofp_queue_stats_request.packet1.json | 3 - ...ofctl-ofp_queue_stats_request.packet2.json | 4 - ...ofctl-ofp_queue_stats_request.packet3.json | 3 - .../of13/4-0-ofp_desc_reply.packet.json | 9 - .../4-11-ofp_flow_stats_request.packet.json | 11 - .../4-12-ofp_flow_stats_reply.packet.json | 104 - .../of13/4-16-ofp_experimenter.packet.json | 8 - .../of13/4-2-ofp_flow_mod.packet.json | 97 - .../of13/4-21-ofp_group_mod.packet.json | 21 - .../of13/4-22-ofp_port_mod.packet.json | 9 - ...25-ofp_aggregate_stats_request.packet.json | 11 - ...4-26-ofp_aggregate_stats_reply.packet.json | 9 - .../4-28-ofp_table_stats_reply.packet.json | 16 - .../4-30-ofp_port_stats_reply.packet.json | 38 - .../4-32-ofp_group_features_reply.packet.json | 104 - .../4-34-ofp_group_desc_reply.packet.json | 20 - ...5-ofp_queue_get_config_request.packet.json | 3 - ...-36-ofp_queue_get_config_reply.packet.json | 83 - .../4-38-ofp_queue_stats_reply.packet.json | 31 - .../of13/4-45-ofp_meter_mod.packet.json | 31 - .../4-48-ofp_meter_config_reply.packet.json | 19 - .../4-50-ofp_meter_stats_reply.packet.json | 19 - .../4-52-ofp_meter_features_reply.packet.json | 19 - .../of13/4-54-ofp_port_desc_reply.packet.json | 30 - .../4-56-ofp_table_features_reply.packet.json | 11928 ------ .../4-58-ofp_group_stats_reply.packet.json | 19 - ...-ofctl-ofp_group_stats_request.packet.json | 3 - ...ofctl-ofp_meter_config_request.packet.json | 3 - ...-ofctl-ofp_meter_stats_request.packet.json | 3 - ...b-ofctl-ofp_port_stats_request.packet.json | 3 - ...l-ofp_queue_get_config_request.packet.json | 3 - ...ofctl-ofp_queue_stats_request.packet1.json | 3 - ...ofctl-ofp_queue_stats_request.packet2.json | 4 - ...ofctl-ofp_queue_stats_request.packet3.json | 3 - .../of14/5-0-ofp_desc_reply.packet.json | 9 - .../5-11-ofp_flow_stats_request.packet.json | 11 - .../5-12-ofp_flow_stats_reply.packet.json | 197 - .../of14/5-16-ofp_experimenter.packet.json | 8 - .../of14/5-2-ofp_flow_mod.packet.json | 103 - .../of14/5-21-ofp_group_mod.packet.json | 21 - .../of14/5-22-ofp_port_mod.packet.json | 50 - ...25-ofp_aggregate_stats_request.packet.json | 11 - ...5-26-ofp_aggregate_stats_reply.packet.json | 9 - .../5-28-ofp_table_stats_reply.packet.json | 16 - .../5-30-ofp_port_stats_reply.packet.json | 85 - .../5-32-ofp_group_features_reply.packet.json | 104 - .../5-34-ofp_group_desc_reply.packet.json | 24 - .../5-36-ofp_queue_stats_reply.packet.json | 64 - .../of14/5-43-ofp_meter_mod.packet.json | 31 - .../5-46-ofp_meter_config_reply.packet.json | 19 - .../5-48-ofp_meter_stats_reply.packet.json | 19 - .../5-50-ofp_meter_features_reply.packet.json | 19 - .../of14/5-52-ofp_port_desc_reply.packet.json | 83 - .../5-54-ofp_table_features_reply.packet.json | 11928 ------ .../5-56-ofp_group_stats_reply.packet.json | 19 - .../5-63-ofp_queue_desc_request.packet.json | 4 - .../5-64-ofp_queue_desc_reply.packet.json | 61 - ...ib-ofctl-OFP15-flow_desc_reply.packet.json | 48 - ...-ofctl-OFP15-flow_desc_request.packet.json | 13 - .../of15/lib-ofctl-OFP15-flow_mod.packet.json | 115 - ...to-OFP15-aggregate_stats_reply.packet.json | 10 - ...-OFP15-aggregate_stats_request.packet.json | 11 - .../libofproto-OFP15-desc_reply.packet.json | 9 - .../libofproto-OFP15-experimenter.packet.json | 8 - ...bofproto-OFP15-flow_desc_reply.packet.json | 26 - ...fproto-OFP15-flow_desc_request.packet.json | 13 - ...ibofproto-OFP15-flow_mod_no_nx.packet.json | 103 - ...ofproto-OFP15-flow_stats_reply.packet.json | 16 - ...proto-OFP15-flow_stats_request.packet.json | 11 - ...ofproto-OFP15-group_desc_reply.packet.json | 27 - ...proto-OFP15-group_desc_request.packet.json | 3 - ...oto-OFP15-group_features_reply.packet.json | 104 - .../libofproto-OFP15-group_mod.packet.json | 42 - ...fproto-OFP15-group_stats_reply.packet.json | 19 - ...ofproto-OFP15-meter_desc_reply.packet.json | 19 - ...oto-OFP15-meter_features_reply.packet.json | 19 - .../libofproto-OFP15-meter_mod.packet.json | 24 - ...fproto-OFP15-meter_stats_reply.packet.json | 19 - ...bofproto-OFP15-port_desc_reply.packet.json | 83 - ...fproto-OFP15-port_desc_request.packet.json | 3 - .../libofproto-OFP15-port_mod.packet.json | 50 - ...ofproto-OFP15-port_stats_reply.packet.json | 93 - ...ofproto-OFP15-queue_desc_reply.packet.json | 61 - ...proto-OFP15-queue_desc_request.packet.json | 4 - ...fproto-OFP15-queue_stats_reply.packet.json | 64 - ...oto-OFP15-table_features_reply.packet.json | 25 - ...fproto-OFP15-table_stats_reply.packet.json | 16 - ryu/tests/unit/lib/ovs/test_vsctl.py | 813 - ryu/tests/unit/lib/test_addrconv.py | 56 - ryu/tests/unit/lib/test_hub.py | 239 - ryu/tests/unit/lib/test_import_module.py | 66 - ryu/tests/unit/lib/test_ip.py | 156 - ryu/tests/unit/lib/test_mac.py | 95 - ryu/tests/unit/lib/test_mod/__init__.py | 15 - ryu/tests/unit/lib/test_mod/aaa/__init__.py | 15 - ryu/tests/unit/lib/test_mod/aaa/mod.py | 17 - ryu/tests/unit/lib/test_mod/bbb/__init__.py | 15 - ryu/tests/unit/lib/test_mod/bbb/mod.py | 17 - ryu/tests/unit/lib/test_mod/ccc/__init__.py | 14 - ryu/tests/unit/lib/test_mod/ccc/mod.py | 16 - ryu/tests/unit/lib/test_mod/ddd/__init__.py | 14 - ryu/tests/unit/lib/test_mod/ddd/mod.py | 16 - ryu/tests/unit/lib/test_mod/eee.py | 16 - ryu/tests/unit/lib/test_mod/fff.py | 16 - ryu/tests/unit/lib/test_mod/ggg.py | 16 - ryu/tests/unit/lib/test_mrtlib.py | 765 - ryu/tests/unit/lib/test_of_config_classes.py | 442 - ryu/tests/unit/lib/test_ofctl.py | 642 - ryu/tests/unit/lib/test_ofctl_action_match.py | 868 - ryu/tests/unit/lib/test_ofctl_string.py | 167 - ryu/tests/unit/lib/test_ofctl_utils.py | 142 - ryu/tests/unit/lib/test_ofctl_v1_3.py | 54 - ryu/tests/unit/lib/test_ofp_pktinfilter.py | 92 - ryu/tests/unit/lib/test_pack_utils.py | 59 - ryu/tests/unit/lib/test_pcaplib.py | 230 - ryu/tests/unit/lib/test_rpc.py | 365 - ryu/tests/unit/lib/test_stringify.py | 75 - ryu/tests/unit/ofproto/test_ofproto.py | 81 - .../unit/services/protocols/bgp/__init__.py | 0 .../protocols/bgp/core_managers/__init__.py | 0 .../services/protocols/bgp/utils/__init__.py | 0 ryu/topology/__init__.py | 3 - 1631 files changed, 2580 insertions(+), 67376 deletions(-) rename {ryu => os_ken}/app/__init__.py (100%) rename {ryu => os_ken}/app/bmpstation.py (92%) rename {ryu => os_ken}/app/cbench.py (87%) rename {ryu => os_ken}/app/conf_switch_key.py (100%) rename {ryu => os_ken}/app/example_switch_13.py (91%) rename {ryu => os_ken}/app/gui_topology/__init__.py (100%) rename {ryu => os_ken}/app/gui_topology/gui_topology.py (79%) rename {ryu => os_ken}/app/gui_topology/html/index.html (100%) rename {ryu => os_ken}/app/gui_topology/html/router.svg (100%) rename {ryu => os_ken}/app/gui_topology/html/ryu.topology.css (100%) rename {ryu => os_ken}/app/gui_topology/html/ryu.topology.js (100%) rename {ryu => os_ken}/app/ofctl/__init__.py (100%) rename {ryu => os_ken}/app/ofctl/api.py (92%) rename {ryu => os_ken}/app/ofctl/event.py (97%) rename {ryu => os_ken}/app/ofctl/exception.py (97%) rename {ryu => os_ken}/app/ofctl/service.py (97%) rename {ryu => os_ken}/app/ofctl_rest.py (97%) rename {ryu => os_ken}/app/rest_conf_switch.py (96%) rename {ryu => os_ken}/app/rest_firewall.py (97%) rename {ryu => os_ken}/app/rest_qos.py (97%) rename {ryu => os_ken}/app/rest_router.py (98%) rename {ryu => os_ken}/app/rest_topology.py (92%) rename {ryu => os_ken}/app/rest_vtep.py (98%) rename {ryu => os_ken}/app/simple_monitor_13.py (94%) rename {ryu => os_ken}/app/simple_switch.py (90%) rename {ryu => os_ken}/app/simple_switch_12.py (90%) rename {ryu => os_ken}/app/simple_switch_13.py (92%) rename {ryu => os_ken}/app/simple_switch_14.py (90%) rename {ryu => os_ken}/app/simple_switch_15.py (91%) rename {ryu => os_ken}/app/simple_switch_igmp.py (92%) rename {ryu => os_ken}/app/simple_switch_igmp_13.py (86%) rename {ryu => os_ken}/app/simple_switch_lacp.py (93%) rename {ryu => os_ken}/app/simple_switch_lacp_13.py (88%) rename {ryu => os_ken}/app/simple_switch_rest_13.py (91%) rename {ryu => os_ken}/app/simple_switch_snort.py (91%) rename {ryu => os_ken}/app/simple_switch_stp.py (94%) rename {ryu => os_ken}/app/simple_switch_stp_13.py (90%) rename {ryu => os_ken}/app/simple_switch_websocket_13.py (88%) rename {ryu => os_ken}/app/ws_topology.py (94%) rename {ryu => os_ken}/app/wsgi.py (99%) rename {ryu => os_ken}/base/__init__.py (100%) rename {ryu => os_ken}/base/app_manager.py (97%) rename {ryu => os_ken}/cfg.py (89%) rename {ryu => os_ken}/cmd/__init__.py (100%) rename {ryu => os_ken}/cmd/manager.py (83%) rename {ryu => os_ken}/cmd/of_config_cli.py (99%) rename {ryu => os_ken}/cmd/ofa_neutron_agent.py (90%) rename {ryu => os_ken}/cmd/rpc_cli.py (99%) rename {ryu => os_ken}/cmd/ryu_base.py (89%) rename {ryu => os_ken}/contrib/__init__.py (100%) rename {ryu => os_ken}/controller/__init__.py (100%) rename {ryu => os_ken}/controller/conf_switch.py (96%) rename {ryu => os_ken}/controller/controller.py (95%) rename {ryu => os_ken}/controller/dpset.py (88%) rename {ryu => os_ken}/controller/event.py (100%) rename {ryu => os_ken}/controller/handler.py (92%) rename {ryu => os_ken}/controller/mac_to_network.py (92%) rename {ryu => os_ken}/controller/mac_to_port.py (94%) rename {ryu => os_ken}/controller/network.py (98%) rename {ryu => os_ken}/controller/ofp_api.py (87%) rename {ryu => os_ken}/controller/ofp_event.py (92%) rename {ryu => os_ken}/controller/ofp_handler.py (97%) rename {ryu => os_ken}/controller/tunnels.py (89%) rename {ryu => os_ken}/exception.py (100%) rename {ryu => os_ken}/flags.py (98%) rename {ryu => os_ken}/hooks.py (97%) rename {ryu => os_ken}/lib/__init__.py (100%) rename {ryu => os_ken}/lib/addrconv.py (100%) rename {ryu => os_ken}/lib/alert.py (100%) rename {ryu => os_ken}/lib/bfdlib.py (97%) rename {ryu => os_ken}/lib/dpid.py (100%) rename {ryu => os_ken}/lib/hub.py (99%) rename {ryu => os_ken}/lib/igmplib.py (97%) rename {ryu => os_ken}/lib/ip.py (98%) rename {ryu => os_ken}/lib/lacplib.py (95%) rename {ryu => os_ken}/lib/mac.py (98%) rename {ryu => os_ken}/lib/mrtlib.py (99%) rename {ryu => os_ken}/lib/netconf/__init__.py (100%) rename {ryu => os_ken}/lib/netconf/constants.py (100%) rename {ryu => os_ken}/lib/netconf/netconf.xsd (100%) rename {ryu => os_ken}/lib/netconf/xml.xsd (100%) rename {ryu => os_ken}/lib/netdevice.py (100%) rename {ryu => os_ken}/lib/of_config/__init__.py (100%) rename {ryu => os_ken}/lib/of_config/base.py (100%) rename {ryu => os_ken}/lib/of_config/capable_switch.py (100%) rename {ryu => os_ken}/lib/of_config/classes.py (100%) rename {ryu => os_ken}/lib/of_config/constants.py (100%) rename {ryu => os_ken}/lib/of_config/generated_classes.py (100%) rename {ryu => os_ken}/lib/of_config/ietf-inet-types.xsd (100%) rename {ryu => os_ken}/lib/of_config/ietf-yang-types.xsd (100%) rename {ryu => os_ken}/lib/of_config/of-config-1.0.xsd (100%) rename {ryu => os_ken}/lib/of_config/of-config-1.1.1.xsd (100%) rename {ryu => os_ken}/lib/of_config/of-config-1.1.xsd (100%) rename {ryu => os_ken}/lib/of_config/xmldsig-core-schema.xsd (100%) rename {ryu => os_ken}/lib/ofctl_nicira_ext.py (100%) rename {ryu => os_ken}/lib/ofctl_string.py (100%) rename {ryu => os_ken}/lib/ofctl_utils.py (100%) rename {ryu => os_ken}/lib/ofctl_v1_0.py (100%) rename {ryu => os_ken}/lib/ofctl_v1_2.py (100%) rename {ryu => os_ken}/lib/ofctl_v1_3.py (100%) rename {ryu => os_ken}/lib/ofctl_v1_4.py (100%) rename {ryu => os_ken}/lib/ofctl_v1_5.py (100%) rename {ryu => os_ken}/lib/ofp_pktinfilter.py (100%) rename {ryu => os_ken}/lib/ovs/__init__.py (100%) rename {ryu => os_ken}/lib/ovs/bridge.py (100%) rename {ryu => os_ken}/lib/ovs/db_client.py (100%) rename {ryu => os_ken}/lib/ovs/vsctl.py (100%) rename {ryu => os_ken}/lib/ovs/vswitch_idl.py (100%) rename {ryu => os_ken}/lib/pack_utils.py (100%) rename {ryu => os_ken}/lib/packet/__init__.py (100%) rename {ryu => os_ken}/lib/packet/afi.py (100%) rename {ryu => os_ken}/lib/packet/arp.py (100%) rename {ryu => os_ken}/lib/packet/bfd.py (100%) rename {ryu => os_ken}/lib/packet/bgp.py (100%) rename {ryu => os_ken}/lib/packet/bmp.py (100%) rename {ryu => os_ken}/lib/packet/bpdu.py (100%) rename {ryu => os_ken}/lib/packet/cfm.py (100%) rename {ryu => os_ken}/lib/packet/dhcp.py (100%) rename {ryu => os_ken}/lib/packet/dhcp6.py (100%) rename {ryu => os_ken}/lib/packet/ether_types.py (100%) rename {ryu => os_ken}/lib/packet/ethernet.py (100%) rename {ryu => os_ken}/lib/packet/geneve.py (100%) rename {ryu => os_ken}/lib/packet/gre.py (100%) rename {ryu => os_ken}/lib/packet/icmp.py (100%) rename {ryu => os_ken}/lib/packet/icmpv6.py (100%) rename {ryu => os_ken}/lib/packet/igmp.py (100%) rename {ryu => os_ken}/lib/packet/in_proto.py (100%) rename {ryu => os_ken}/lib/packet/ipv4.py (100%) rename {ryu => os_ken}/lib/packet/ipv6.py (100%) rename {ryu => os_ken}/lib/packet/linux.py (100%) rename {ryu => os_ken}/lib/packet/llc.py (100%) rename {ryu => os_ken}/lib/packet/lldp.py (100%) rename {ryu => os_ken}/lib/packet/mpls.py (100%) rename {ryu => os_ken}/lib/packet/openflow.py (100%) rename {ryu => os_ken}/lib/packet/ospf.py (100%) rename {ryu => os_ken}/lib/packet/packet.py (100%) rename {ryu => os_ken}/lib/packet/packet_base.py (100%) rename {ryu => os_ken}/lib/packet/packet_utils.py (100%) rename {ryu => os_ken}/lib/packet/pbb.py (100%) rename {ryu => os_ken}/lib/packet/safi.py (100%) rename {ryu => os_ken}/lib/packet/sctp.py (100%) rename {ryu => os_ken}/lib/packet/slow.py (100%) rename {ryu => os_ken}/lib/packet/stream_parser.py (100%) rename {ryu => os_ken}/lib/packet/tcp.py (100%) rename {ryu => os_ken}/lib/packet/udp.py (100%) rename {ryu => os_ken}/lib/packet/vlan.py (100%) rename {ryu => os_ken}/lib/packet/vrrp.py (100%) rename {ryu => os_ken}/lib/packet/vxlan.py (100%) rename {ryu => os_ken}/lib/packet/zebra.py (100%) rename {ryu => os_ken}/lib/pcaplib.py (100%) rename {ryu => os_ken}/lib/port_no.py (100%) rename {ryu => os_ken}/lib/rpc.py (100%) rename {ryu => os_ken}/lib/snortlib.py (100%) rename {ryu => os_ken}/lib/sockaddr.py (100%) rename {ryu => os_ken}/lib/sockopt.py (100%) rename {ryu => os_ken}/lib/stplib.py (100%) rename {ryu => os_ken}/lib/stringify.py (100%) rename {ryu => os_ken}/lib/type_desc.py (100%) rename {ryu => os_ken}/lib/xflow/__init__.py (100%) rename {ryu => os_ken}/lib/xflow/netflow.py (100%) rename {ryu => os_ken}/lib/xflow/sflow.py (100%) rename {ryu => os_ken}/log.py (99%) rename {ryu => os_ken}/ofproto/__init__.py (96%) create mode 100644 os_ken/ofproto/ether.py create mode 100644 os_ken/ofproto/inet.py rename {ryu => os_ken}/ofproto/nicira_ext.py (99%) rename {ryu => os_ken}/ofproto/nx_actions.py (99%) rename {ryu => os_ken}/ofproto/nx_match.py (99%) rename {ryu => os_ken}/ofproto/ofproto_common.py (100%) rename {ryu => os_ken}/ofproto/ofproto_parser.py (95%) rename {ryu => os_ken}/ofproto/ofproto_protocol.py (80%) rename {ryu => os_ken}/ofproto/ofproto_utils.py (95%) rename {ryu => os_ken}/ofproto/ofproto_v1_0.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_0_parser.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_2.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_2_parser.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_3.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_3_parser.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_4.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_4_parser.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_5.py (99%) rename {ryu => os_ken}/ofproto/ofproto_v1_5_parser.py (99%) rename {ryu => os_ken}/ofproto/oxm_fields.py (98%) rename {ryu => os_ken}/ofproto/oxs_fields.py (99%) rename {ryu => os_ken}/ofproto/oxx_fields.py (98%) rename {ryu => os_ken}/services/__init__.py (100%) rename {ryu => os_ken}/services/protocols/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/api/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/api/all.py (100%) rename {ryu => os_ken}/services/protocols/bgp/api/base.py (93%) rename {ryu => os_ken}/services/protocols/bgp/api/core.py (91%) rename {ryu => os_ken}/services/protocols/bgp/api/import_map.py (90%) rename {ryu => os_ken}/services/protocols/bgp/api/jsonrpc.py (84%) rename {ryu => os_ken}/services/protocols/bgp/api/operator.py (74%) rename {ryu => os_ken}/services/protocols/bgp/api/prefix.py (82%) rename {ryu => os_ken}/services/protocols/bgp/api/rpc_log_handler.py (88%) rename {ryu => os_ken}/services/protocols/bgp/api/rtconf.py (91%) rename {ryu => os_ken}/services/protocols/bgp/application.py (86%) rename {ryu => os_ken}/services/protocols/bgp/base.py (95%) rename {ryu => os_ken}/services/protocols/bgp/bgp_sample_conf.py (86%) rename {ryu => os_ken}/services/protocols/bgp/bgpspeaker.py (88%) rename {ryu => os_ken}/services/protocols/bgp/bmp.py (95%) rename {ryu => os_ken}/services/protocols/bgp/constants.py (100%) rename {ryu => os_ken}/services/protocols/bgp/core.py (92%) rename {ryu => os_ken}/services/protocols/bgp/core_manager.py (87%) rename {ryu => os_ken}/services/protocols/bgp/core_managers/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/core_managers/configuration_manager.py (92%) rename {ryu => os_ken}/services/protocols/bgp/core_managers/import_map_manager.py (86%) rename {ryu => os_ken}/services/protocols/bgp/core_managers/peer_manager.py (95%) rename {ryu => os_ken}/services/protocols/bgp/core_managers/table_manager.py (87%) rename {ryu => os_ken}/services/protocols/bgp/info_base/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/info_base/base.py (97%) rename {ryu => os_ken}/services/protocols/bgp/info_base/evpn.py (80%) rename {ryu => os_ken}/services/protocols/bgp/info_base/ipv4.py (83%) rename {ryu => os_ken}/services/protocols/bgp/info_base/ipv4fs.py (86%) rename {ryu => os_ken}/services/protocols/bgp/info_base/ipv6.py (82%) rename {ryu => os_ken}/services/protocols/bgp/info_base/ipv6fs.py (86%) rename {ryu => os_ken}/services/protocols/bgp/info_base/l2vpnfs.py (83%) rename {ryu => os_ken}/services/protocols/bgp/info_base/rtc.py (87%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vpn.py (92%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vpnv4.py (80%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vpnv4fs.py (83%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vpnv6.py (80%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vpnv6fs.py (83%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrf.py (91%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrf4.py (74%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrf4fs.py (76%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrf6.py (74%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrf6fs.py (76%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrfevpn.py (77%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrffs.py (76%) rename {ryu => os_ken}/services/protocols/bgp/info_base/vrfl2vpnfs.py (79%) rename {ryu => os_ken}/services/protocols/bgp/model.py (92%) rename {ryu => os_ken}/services/protocols/bgp/net_ctrl.py (92%) rename {ryu => os_ken}/services/protocols/bgp/operator/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/command.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/clear.py (82%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/responses.py (81%) create mode 100644 os_ken/services/protocols/bgp/operator/commands/root.py rename {ryu => os_ken}/services/protocols/bgp/operator/commands/set.py (83%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/__init__.py (65%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/count.py (76%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/importmap.py (70%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/memory.py (90%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/neighbor.py (88%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/rib.py (81%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/route_formatter_mixin.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/commands/show/vrf.py (89%) rename {ryu => os_ken}/services/protocols/bgp/operator/internal_api.py (83%) rename {ryu => os_ken}/services/protocols/bgp/operator/ssh.py (96%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/base.py (99%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/bgp.py (73%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/conf.py (54%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/fields.py (100%) rename {ryu => os_ken}/services/protocols/bgp/operator/views/other.py (69%) rename {ryu => os_ken}/services/protocols/bgp/peer.py (95%) rename {ryu => os_ken}/services/protocols/bgp/processor.py (94%) rename {ryu => os_ken}/services/protocols/bgp/protocol.py (100%) rename {ryu => os_ken}/services/protocols/bgp/rtconf/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/rtconf/base.py (98%) rename {ryu => os_ken}/services/protocols/bgp/rtconf/common.py (95%) rename {ryu => os_ken}/services/protocols/bgp/rtconf/neighbors.py (88%) rename {ryu => os_ken}/services/protocols/bgp/rtconf/vrfs.py (92%) create mode 100644 os_ken/services/protocols/bgp/signals/__init__.py rename {ryu => os_ken}/services/protocols/bgp/signals/base.py (100%) rename {ryu => os_ken}/services/protocols/bgp/signals/emit.py (97%) rename {ryu => os_ken}/services/protocols/bgp/speaker.py (93%) rename {ryu => os_ken}/services/protocols/bgp/utils/__init__.py (100%) rename {ryu => os_ken}/services/protocols/bgp/utils/bgp.py (90%) rename {ryu => os_ken}/services/protocols/bgp/utils/circlist.py (100%) rename {ryu => os_ken}/services/protocols/bgp/utils/evtlet.py (99%) rename {ryu => os_ken}/services/protocols/bgp/utils/rtfilter.py (94%) rename {ryu => os_ken}/services/protocols/bgp/utils/stats.py (97%) rename {ryu => os_ken}/services/protocols/bgp/utils/validation.py (99%) rename {ryu => os_ken}/services/protocols/ovsdb/__init__.py (100%) rename {ryu => os_ken}/services/protocols/ovsdb/api.py (99%) rename {ryu => os_ken}/services/protocols/ovsdb/client.py (98%) rename {ryu => os_ken}/services/protocols/ovsdb/event.py (91%) rename {ryu => os_ken}/services/protocols/ovsdb/manager.py (97%) rename {ryu => os_ken}/services/protocols/ovsdb/model.py (100%) rename {ryu => os_ken}/services/protocols/vrrp/__init__.py (86%) rename {ryu => os_ken}/services/protocols/vrrp/api.py (92%) rename {ryu => os_ken}/services/protocols/vrrp/dumper.py (98%) rename {ryu => os_ken}/services/protocols/vrrp/event.py (97%) rename {ryu => os_ken}/services/protocols/vrrp/manager.py (94%) rename {ryu => os_ken}/services/protocols/vrrp/monitor.py (96%) rename {ryu => os_ken}/services/protocols/vrrp/monitor_linux.py (95%) rename {ryu => os_ken}/services/protocols/vrrp/monitor_openflow.py (91%) rename {ryu => os_ken}/services/protocols/vrrp/router.py (98%) rename {ryu => os_ken}/services/protocols/vrrp/rpc_manager.py (95%) rename {ryu => os_ken}/services/protocols/vrrp/sample_manager.py (88%) rename {ryu => os_ken}/services/protocols/vrrp/sample_router.py (96%) rename {ryu => os_ken}/services/protocols/vrrp/utils.py (89%) rename {ryu => os_ken}/services/protocols/zebra/__init__.py (100%) rename {ryu => os_ken}/services/protocols/zebra/client/__init__.py (100%) rename {ryu => os_ken}/services/protocols/zebra/client/event.py (96%) rename {ryu => os_ken}/services/protocols/zebra/client/sample_dumper.py (85%) rename {ryu => os_ken}/services/protocols/zebra/client/zclient.py (95%) rename {ryu => os_ken}/services/protocols/zebra/db/__init__.py (97%) rename {ryu => os_ken}/services/protocols/zebra/db/base.py (100%) rename {ryu => os_ken}/services/protocols/zebra/db/interface.py (96%) rename {ryu => os_ken}/services/protocols/zebra/db/route.py (98%) rename {ryu => os_ken}/services/protocols/zebra/event.py (87%) rename {ryu => os_ken}/services/protocols/zebra/server/__init__.py (100%) rename {ryu => os_ken}/services/protocols/zebra/server/event.py (96%) rename {ryu => os_ken}/services/protocols/zebra/server/sample_dumper.py (86%) rename {ryu => os_ken}/services/protocols/zebra/server/zserver.py (95%) rename {ryu/tests => os_ken/tests/integrated}/__init__.py (100%) rename {ryu/tests/integrated => os_ken/tests/integrated/bgp}/__init__.py (100%) rename {ryu => os_ken}/tests/integrated/bgp/base.py (89%) rename {ryu => os_ken}/tests/integrated/bgp/base_ip6.py (89%) rename {ryu => os_ken}/tests/integrated/bgp/test_basic.py (91%) rename {ryu => os_ken}/tests/integrated/bgp/test_ip6_basic.py (92%) rename {ryu/tests/integrated/bgp => os_ken/tests/integrated/common}/__init__.py (100%) rename {ryu => os_ken}/tests/integrated/common/docker_base.py (99%) rename {ryu => os_ken}/tests/integrated/common/install_docker_test_pkg.sh (100%) rename {ryu => os_ken}/tests/integrated/common/install_docker_test_pkg_common.sh (100%) rename {ryu => os_ken}/tests/integrated/common/install_docker_test_pkg_for_travis.sh (100%) rename {ryu => os_ken}/tests/integrated/common/quagga.py (100%) rename {ryu => os_ken}/tests/integrated/common/ryubgp.py (86%) rename {ryu => os_ken}/tests/integrated/run_test.py (95%) rename {ryu => os_ken}/tests/integrated/run_tests_with_ovs12.py (79%) rename {ryu => os_ken}/tests/integrated/test_add_flow_v10.py (98%) rename {ryu => os_ken}/tests/integrated/test_add_flow_v12_actions.py (99%) rename {ryu => os_ken}/tests/integrated/test_add_flow_v12_matches.py (99%) rename {ryu => os_ken}/tests/integrated/test_of_config.py (96%) rename {ryu => os_ken}/tests/integrated/test_request_reply_v12.py (99%) rename {ryu => os_ken}/tests/integrated/test_vrrp_linux_multi.py (79%) rename {ryu => os_ken}/tests/integrated/test_vrrp_linux_multi.sh (100%) rename {ryu => os_ken}/tests/integrated/test_vrrp_multi.py (85%) rename {ryu => os_ken}/tests/integrated/test_vrrp_multi.sh (100%) rename {ryu => os_ken}/tests/integrated/tester.py (93%) rename {ryu => os_ken}/tests/integrated/vrrp_common.py (97%) rename {ryu => os_ken}/tests/mininet/l2/mpls/PopMPLS_mpls.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/mpls/PushMPLS_ip.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/mpls/PushMPLS_mpls.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/mpls/test_mpls.py (93%) rename {ryu => os_ken}/tests/mininet/l2/vlan/PopVLAN_vlan.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/vlan/PushVLAN_icmp.mn (100%) rename {ryu => os_ken}/tests/mininet/l2/vlan/test_vlan.py (92%) rename {ryu => os_ken}/tests/mininet/l3/icmp/ICMP_ping.mn (100%) rename {ryu => os_ken}/tests/mininet/l3/icmp/ICMP_reply.mn (100%) rename {ryu => os_ken}/tests/mininet/l3/icmp/test_icmp.py (90%) rename {ryu => os_ken}/tests/mininet/l3/ip_ttl/DecNwTtl.mn (100%) rename {ryu => os_ken}/tests/mininet/l3/ip_ttl/test_ip_ttl.py (89%) rename {ryu => os_ken}/tests/mininet/packet_lib/arp/ARP_gratuitous.mn (100%) rename {ryu => os_ken}/tests/mininet/packet_lib/arp/ARP_reply.mn (100%) rename {ryu => os_ken}/tests/mininet/packet_lib/arp/ARP_request.mn (100%) rename {ryu => os_ken}/tests/mininet/packet_lib/arp/test_arp.py (93%) rename {ryu => os_ken}/tests/mininet/run_mnet-test.sh (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/bgp4-keepalive.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/bgp4-open.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/bgp4-update.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/bgp4-update_ipv6.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/bgp4-update_vpnv6.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_as_based.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_lacp.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_mac_base.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_esi_router_id.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_nlri_ip_prefix.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_action_redirect.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_action_traffic_action.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_action_traffic_marking.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_action_traffic_rate.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_nlri_ipv4.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_nlri_ipv6.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_nlri_l2vpn.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_nlri_vpn4.pcap (100%) rename {ryu => os_ken}/tests/packet_data/bgp4/flowspec_nlri_vpn6.pcap (100%) rename {ryu => os_ken}/tests/packet_data/mrt/rib.20161101.0000_pick.bz2 (100%) rename {ryu => os_ken}/tests/packet_data/mrt/updates.20161101.0000.bz2 (100%) rename {ryu => os_ken}/tests/packet_data/of10/1-1-ofp_packet_out.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/1-2-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/1-4-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/1-5-features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/1-6-ofp_switch_features.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_pop_mpls.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_push_mpls.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_label.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_tc.packet (100%) rename {ryu => os_ken}/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-0-ofp_desc_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-1-ofp_packet_out.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-10-ofp_hello.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-11-ofp_flow_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-12-ofp_flow_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-13-ofp_echo_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-14-ofp_echo_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-15-ofp_error_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-16-ofp_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-17-ofp_barrier_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-18-ofp_barrier_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-19-ofp_role_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-2-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-20-ofp_role_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-21-ofp_group_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-22-ofp_port_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-23-ofp_table_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-24-ofp_desc_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-25-ofp_aggregate_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-26-ofp_aggregate_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-27-ofp_table_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-28-ofp_table_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-29-ofp_port_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-3-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-30-ofp_port_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-31-ofp_group_features_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-32-ofp_group_features_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-33-ofp_group_desc_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-34-ofp_group_desc_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-35-ofp_queue_get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-36-ofp_queue_get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-37-ofp_queue_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-38-ofp_queue_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-39-ofp_port_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-4-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-40-ofp_flow_removed.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-41-ofp_error_msg_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-5-ofp_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-59-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-6-ofp_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-60-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-61-ofp_group_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-62-ofp_group_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-7-ofp_set_config.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-8-ofp_get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/3-9-ofp_get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-0-ofp_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-1-ofp_packet_out.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-10-ofp_hello.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-11-ofp_flow_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-12-ofp_flow_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-13-ofp_echo_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-14-ofp_echo_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-15-ofp_error_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-16-ofp_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-17-ofp_barrier_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-18-ofp_barrier_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-19-ofp_role_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-2-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-20-ofp_role_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-21-ofp_group_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-22-ofp_port_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-23-ofp_table_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-24-ofp_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-25-ofp_aggregate_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-26-ofp_aggregate_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-27-ofp_table_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-28-ofp_table_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-29-ofp_port_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-3-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-30-ofp_port_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-31-ofp_group_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-32-ofp_group_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-33-ofp_group_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-34-ofp_group_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-35-ofp_queue_get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-36-ofp_queue_get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-37-ofp_queue_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-38-ofp_queue_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-39-ofp_port_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-4-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-40-ofp_flow_removed.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-41-ofp_error_msg_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-42-ofp_get_async_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-43-ofp_get_async_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-44-ofp_set_async.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-45-ofp_meter_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-46-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-47-ofp_meter_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-48-ofp_meter_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-49-ofp_meter_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-5-ofp_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-50-ofp_meter_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-51-ofp_meter_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-52-ofp_meter_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-53-ofp_port_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-54-ofp_port_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-55-ofp_table_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-56-ofp_table_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-57-ofp_group_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-58-ofp_group_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-59-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-6-ofp_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-60-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-61-ofp_experimenter_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-62-ofp_experimenter_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-63-onf_flow_monitor_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-7-ofp_set_config.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-8-ofp_get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/4-9-ofp_get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-echo_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-echo_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-error_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-flow_mod.truncated64 (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-flow_mod_conjunction.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-flow_mod_match_conj.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-flow_removed.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-hello.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-meter_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-port_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-port_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-set_config.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/libofproto-OFP13-table_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_conjunction.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_controller.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_controller2.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_ct.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_ct_clear.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_ct_exec.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat_v6.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_fintimeout.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_learn.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_note.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_output_trunc.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_resubmit.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_sample.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_sample2.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_stack_pop.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-action_stack_push.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-match_conj.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-match_load_nx_register.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-match_move_nx_register.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark.packet (100%) rename {ryu => os_ken}/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-0-ofp_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-1-ofp_packet_out.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-10-ofp_hello.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-11-ofp_flow_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-12-ofp_flow_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-13-ofp_echo_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-14-ofp_echo_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-15-ofp_error_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-16-ofp_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-17-ofp_barrier_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-18-ofp_barrier_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-19-ofp_role_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-2-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-20-ofp_role_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-21-ofp_group_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-22-ofp_port_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-23-ofp_table_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-24-ofp_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-25-ofp_aggregate_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-26-ofp_aggregate_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-27-ofp_table_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-28-ofp_table_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-29-ofp_port_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-3-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-30-ofp_port_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-31-ofp_group_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-32-ofp_group_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-33-ofp_group_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-34-ofp_group_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-35-ofp_queue_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-36-ofp_queue_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-37-ofp_port_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-38-ofp_flow_removed.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-39-ofp_error_msg_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-4-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-40-ofp_get_async_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-41-ofp_get_async_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-42-ofp_set_async.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-43-ofp_meter_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-44-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-45-ofp_meter_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-46-ofp_meter_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-47-ofp_meter_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-48-ofp_meter_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-49-ofp_meter_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-5-ofp_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-50-ofp_meter_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-51-ofp_port_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-52-ofp_port_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-53-ofp_table_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-54-ofp_table_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-55-ofp_group_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-56-ofp_group_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-57-ofp_packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-58-ofp_flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-59-ofp_experimenter_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-6-ofp_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-60-ofp_experimenter_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-61-ofp_table_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-62-ofp_table_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-63-ofp_queue_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-64-ofp_queue_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-65-ofp_role_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-68-ofp_table_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-7-ofp_set_config.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-71-ofp_requestforward.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-8-ofp_get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/5-9-ofp_get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-barrier_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-barrier_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-bundle_add.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-bundle_ctrl.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-bundle_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-bundle_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-controller_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-controller_status_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-controller_status_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-echo_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-echo_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-error_msg.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-error_msg_experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-experimenter.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-experimenter_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-experimenter_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_mod_conjunction.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_mod_match_conj.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_monitor_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_monitor_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-flow_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-get_async_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-get_async_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-get_config_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-get_config_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-group_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-hello.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-meter_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-packet_in.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-packet_out.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-port_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-queue_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-queue_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-queue_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-queue_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-requestforward.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-role_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-role_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-role_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-set_async.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-set_config.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_desc_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_desc_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_features_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_features_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_mod.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_stats_reply.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_stats_request.packet (100%) rename {ryu => os_ken}/tests/packet_data/of15/libofproto-OFP15-table_status.packet (100%) rename {ryu => os_ken}/tests/packet_data/pcap/big_endian.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/geneve_unknown.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/gre_full_options.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/gre_no_option.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/gre_nvgre_option.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/little_endian.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/openflow_flowmod.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/openflow_flowstats_req.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/openflow_invalid_version.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/zebra_v2.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/zebra_v3.pcap (100%) rename {ryu => os_ken}/tests/packet_data/pcap/zebra_v4_frr_v2.pcap (100%) rename {ryu => os_ken}/tests/packet_data_generator/Makefile (100%) rename {ryu => os_ken}/tests/packet_data_generator/rebar.config (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/er.app.src (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x1.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x3.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x4.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x5.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x_flower_packet.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator/src/x_of_protocol.erl (100%) rename {ryu => os_ken}/tests/packet_data_generator2/Makefile.BSD (100%) rename {ryu => os_ken}/tests/packet_data_generator2/Makefile.GNU (100%) rename {ryu => os_ken}/tests/packet_data_generator2/README (100%) rename {ryu => os_ken}/tests/packet_data_generator2/gen.c (100%) rename {ryu => os_ken}/tests/packet_data_generator3/gen.py (98%) rename {ryu => os_ken}/tests/run_tests.py (85%) rename {ryu/tests/integrated/common => os_ken/tests/switch}/__init__.py (100%) rename {ryu => os_ken}/tests/switch/of10/action/00_OUTPUT.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/01_SET_VLAN_VID.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/02_SET_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/03_STRIP_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/04_SET_DL_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/05_SET_DL_DST.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/06_SET_NW_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/07_SET_NW_DST.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/08_SET_NW_TOS_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/08_SET_NW_TOS_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/09_SET_TP_SRC_IPv4_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/09_SET_TP_SRC_IPv4_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/09_SET_TP_SRC_IPv6_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/09_SET_TP_SRC_IPv6_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/10_SET_TP_DST_IPv4_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/10_SET_TP_DST_IPv4_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/10_SET_TP_DST_IPv6_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/action/10_SET_TP_DST_IPv6_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/00_IN_PORT.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/01_DL_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/02_DL_DST.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/03_DL_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/04_DL_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/05_DL_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/06_NW_TOS_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/06_NW_TOS_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/07_NW_PROTO_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/07_NW_PROTO_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/08_NW_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/08_NW_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/09_NW_DST.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/09_NW_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/10_TP_SRC_IPv4_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/10_TP_SRC_IPv4_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/10_TP_SRC_IPv6_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/10_TP_SRC_IPv6_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/11_TP_DST_IPv4_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/11_TP_DST_IPv4_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/11_TP_DST_IPv6_TCP.json (100%) rename {ryu => os_ken}/tests/switch/of10/match/11_TP_DST_IPv6_UDP.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/00_OUTPUT.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/11_COPY_TTL_OUT.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/12_COPY_TTL_IN.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/15_SET_MPLS_TTL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/16_DEC_MPLS_TTL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/17_PUSH_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/17_PUSH_VLAN_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/18_POP_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/19_PUSH_MPLS.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/19_PUSH_MPLS_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/20_POP_MPLS.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/03_ETH_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/04_ETH_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/05_ETH_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/06_VLAN_VID.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/07_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/34_MPLS_LABEL.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/35_MPLS_TC.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/36_MPLS_BOS.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/37_PBB_ISID.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/25_SET_FIELD/38_TUNNEL_ID.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/26_PUSH_PBB.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/26_PUSH_PBB_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of13/action/27_POP_PBB.json (100%) rename {ryu => os_ken}/tests/switch/of13/group/00_ALL.json (100%) rename {ryu => os_ken}/tests/switch/of13/group/01_SELECT_Ether.json (100%) rename {ryu => os_ken}/tests/switch/of13/group/01_SELECT_IP.json (100%) rename {ryu => os_ken}/tests/switch/of13/group/01_SELECT_Weight_Ether.json (100%) rename {ryu => os_ken}/tests/switch/of13/group/01_SELECT_Weight_IP.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/00_IN_PORT.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/02_METADATA.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/02_METADATA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/03_ETH_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/03_ETH_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/04_ETH_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/04_ETH_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/05_ETH_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/06_VLAN_VID.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/06_VLAN_VID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/07_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/08_IP_DSCP_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/08_IP_DSCP_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/09_IP_ECN_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/09_IP_ECN_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/10_IP_PROTO_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/10_IP_PROTO_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/11_IPV4_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/11_IPV4_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/12_IPV4_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/12_IPV4_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/13_TCP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/13_TCP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/14_TCP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/14_TCP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/15_UDP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/15_UDP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/16_UDP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/16_UDP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/17_SCTP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/17_SCTP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/18_SCTP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/18_SCTP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/19_ICMPV4_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/20_ICMPV4_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/21_ARP_OP.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/22_ARP_SPA.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/22_ARP_SPA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/23_ARP_TPA.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/23_ARP_TPA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/24_ARP_SHA.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/24_ARP_SHA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/25_ARP_THA.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/25_ARP_THA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/26_IPV6_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/26_IPV6_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/27_IPV6_DST.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/27_IPV6_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/28_IPV6_FLABEL.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/28_IPV6_FLABEL_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/29_ICMPV6_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/30_ICMPV6_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/31_IPV6_ND_TARGET.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/32_IPV6_ND_SLL.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/33_IPV6_ND_TLL.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/34_MPLS_LABEL.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/35_MPLS_TC.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/36_MPLS_BOS.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/37_PBB_ISID.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/37_PBB_ISID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/38_TUNNEL_ID.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/38_TUNNEL_ID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/39_IPV6_EXTHDR.json (100%) rename {ryu => os_ken}/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_00_KBPS_00_1M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_00_KBPS_01_10M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_00_KBPS_02_100M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_01_PKTPS_00_100.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_01_PKTPS_01_1000.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/01_DROP_01_PKTPS_02_10000.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_00_1M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_01_10M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_02_100M.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_00_100.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json (100%) rename {ryu => os_ken}/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/00_OUTPUT.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/11_COPY_TTL_OUT.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/12_COPY_TTL_IN.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/15_SET_MPLS_TTL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/16_DEC_MPLS_TTL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/17_PUSH_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/17_PUSH_VLAN_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/18_POP_VLAN.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/19_PUSH_MPLS.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/19_PUSH_MPLS_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/20_POP_MPLS.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/03_ETH_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/04_ETH_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/05_ETH_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/06_VLAN_VID.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/07_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/11_IPV4_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/12_IPV4_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/19_ICMPV4_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/20_ICMPV4_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/21_ARP_OP.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/22_ARP_SPA.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/23_ARP_TPA.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/24_ARP_SHA.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/25_ARP_THA.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/26_IPV6_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/27_IPV6_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/28_IPV6_FLABEL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/29_ICMPV6_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/30_ICMPV6_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/31_IPV6_ND_TARGET.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/32_IPV6_ND_SLL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/33_IPV6_ND_TLL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/34_MPLS_LABEL.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/35_MPLS_TC.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/36_MPLS_BOS.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/37_PBB_ISID.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/38_TUNNEL_ID.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/25_SET_FIELD/41_PBB_UCA.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/26_PUSH_PBB.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/26_PUSH_PBB_multiple.json (100%) rename {ryu => os_ken}/tests/switch/of14/action/27_POP_PBB.json (100%) rename {ryu => os_ken}/tests/switch/of14/group/00_ALL.json (100%) rename {ryu => os_ken}/tests/switch/of14/group/01_SELECT_Ether.json (100%) rename {ryu => os_ken}/tests/switch/of14/group/01_SELECT_IP.json (100%) rename {ryu => os_ken}/tests/switch/of14/group/01_SELECT_Weight_Ether.json (100%) rename {ryu => os_ken}/tests/switch/of14/group/01_SELECT_Weight_IP.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/00_IN_PORT.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/02_METADATA.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/02_METADATA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/03_ETH_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/03_ETH_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/04_ETH_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/04_ETH_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/05_ETH_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/06_VLAN_VID.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/06_VLAN_VID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/07_VLAN_PCP.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/08_IP_DSCP_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/08_IP_DSCP_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/09_IP_ECN_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/09_IP_ECN_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/10_IP_PROTO_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/10_IP_PROTO_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/11_IPV4_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/11_IPV4_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/12_IPV4_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/12_IPV4_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/13_TCP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/13_TCP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/14_TCP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/14_TCP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/15_UDP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/15_UDP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/16_UDP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/16_UDP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/17_SCTP_SRC_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/17_SCTP_SRC_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/18_SCTP_DST_IPv4.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/18_SCTP_DST_IPv6.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/19_ICMPV4_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/20_ICMPV4_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/21_ARP_OP.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/22_ARP_SPA.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/22_ARP_SPA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/23_ARP_TPA.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/23_ARP_TPA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/24_ARP_SHA.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/24_ARP_SHA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/25_ARP_THA.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/25_ARP_THA_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/26_IPV6_SRC.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/26_IPV6_SRC_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/27_IPV6_DST.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/27_IPV6_DST_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/28_IPV6_FLABEL.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/28_IPV6_FLABEL_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/29_ICMPV6_TYPE.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/30_ICMPV6_CODE.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/31_IPV6_ND_TARGET.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/32_IPV6_ND_SLL.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/33_IPV6_ND_TLL.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/34_MPLS_LABEL.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/35_MPLS_TC.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/36_MPLS_BOS.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/37_PBB_ISID.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/37_PBB_ISID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/38_TUNNEL_ID.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/38_TUNNEL_ID_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/39_IPV6_EXTHDR.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/39_IPV6_EXTHDR_Mask.json (100%) rename {ryu => os_ken}/tests/switch/of14/match/41_PBB_UCA.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_00_KBPS_00_1M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_00_KBPS_01_10M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_00_KBPS_02_100M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_01_PKTPS_00_100.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_01_PKTPS_01_1000.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/01_DROP_01_PKTPS_02_10000.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_00_1M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_01_10M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_02_100M.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_00_100.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json (100%) rename {ryu => os_ken}/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json (100%) rename {ryu => os_ken}/tests/switch/run_mininet.py (89%) rename {ryu => os_ken}/tests/switch/tester.py (98%) rename {ryu => os_ken}/tests/test_lib.py (100%) rename {ryu => os_ken}/tests/unit/__init__.py (71%) rename {ryu/tests/switch => os_ken/tests/unit/app}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/app/ofctl_rest_json/of10.json (100%) rename {ryu => os_ken}/tests/unit/app/ofctl_rest_json/of12.json (100%) rename {ryu => os_ken}/tests/unit/app/ofctl_rest_json/of13.json (100%) rename {ryu => os_ken}/tests/unit/app/ofctl_rest_json/of14.json (100%) rename {ryu => os_ken}/tests/unit/app/ofctl_rest_json/of15.json (100%) rename {ryu => os_ken}/tests/unit/app/test_ofctl_rest.py (87%) rename {ryu => os_ken}/tests/unit/app/test_tester.py (95%) rename {ryu => os_ken}/tests/unit/app/test_ws_topology.py (96%) rename {ryu => os_ken}/tests/unit/app/test_wsgi.py (94%) rename {ryu => os_ken}/tests/unit/cmd/__init__.py (100%) rename {ryu => os_ken}/tests/unit/cmd/dummy_app.py (95%) rename {ryu => os_ken}/tests/unit/cmd/dummy_openflow_app.py (91%) rename {ryu => os_ken}/tests/unit/cmd/test_manager.py (71%) rename {ryu/tests/unit/app => os_ken/tests/unit/controller}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/controller/test_controller.py (92%) rename {ryu/tests/unit/controller => os_ken/tests/unit/ofproto}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/1-5-features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_pop_mpls.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_push_mpls.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_label.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_tc.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-59-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-60-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-61-ofp_group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-62-ofp_group_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-41-ofp_error_msg_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-55-ofp_table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-57-ofp_group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-58-ofp_group_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-59-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-60-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-61-ofp_experimenter_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-62-ofp_experimenter_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-63-onf_flow_monitor_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/lib-ofctl-ofp_table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-error_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.truncated64.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_conjunction.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_removed.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-hello.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-meter_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-port_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-port_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-set_config.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/libofproto-OFP13-table_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_conjunction.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller2.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_clear.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat_v6.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_fintimeout.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_note.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_output_trunc.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_resubmit.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample2.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_pop.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_push.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_conj.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_load_nx_register.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_move_nx_register.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-39-ofp_error_msg_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/lib-ofctl-ofp_queue_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/lib-ofctl-ofp_table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json (100%) rename {ryu => os_ken}/tests/unit/ofproto/test_ether.py (96%) rename {ryu => os_ken}/tests/unit/ofproto/test_inet.py (97%) rename {ryu => os_ken}/tests/unit/ofproto/test_nx_flow_spec.py (98%) create mode 100644 os_ken/tests/unit/ofproto/test_ofproto.py rename {ryu => os_ken}/tests/unit/ofproto/test_ofproto_common.py (96%) rename {ryu => os_ken}/tests/unit/ofproto/test_ofproto_parser.py (97%) rename {ryu => os_ken}/tests/unit/ofproto/test_ofproto_v12.py (99%) rename {ryu => os_ken}/tests/unit/ofproto/test_oxm.py (99%) rename {ryu => os_ken}/tests/unit/ofproto/test_oxs.py (98%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser.py (96%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_compat.py (95%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_ofpmatch.py (95%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_ofpstats.py (98%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_v10.py (99%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_v12.py (99%) rename {ryu => os_ken}/tests/unit/ofproto/test_parser_v13.py (93%) rename {ryu/tests/unit/lib => os_ken/tests/unit/packet}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/packet/test_arp.py (95%) rename {ryu => os_ken}/tests/unit/packet/test_bfd.py (97%) rename {ryu => os_ken}/tests/unit/packet/test_bgp.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_bmp.py (97%) rename {ryu => os_ken}/tests/unit/packet/test_bpdu.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_cfm.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_dhcp.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_ethernet.py (93%) rename {ryu => os_ken}/tests/unit/packet/test_geneve.py (90%) rename {ryu => os_ken}/tests/unit/packet/test_gre.py (92%) rename {ryu => os_ken}/tests/unit/packet/test_icmp.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_icmpv6.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_igmp.py (98%) rename {ryu => os_ken}/tests/unit/packet/test_ipv4.py (93%) rename {ryu => os_ken}/tests/unit/packet/test_ipv6.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_llc.py (97%) rename {ryu => os_ken}/tests/unit/packet/test_lldp.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_mpls.py (98%) rename {ryu => os_ken}/tests/unit/packet/test_openflow.py (90%) rename {ryu => os_ken}/tests/unit/packet/test_ospf.py (98%) rename {ryu => os_ken}/tests/unit/packet/test_packet.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_pbb.py (94%) rename {ryu => os_ken}/tests/unit/packet/test_sctp.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_slow.py (99%) rename {ryu => os_ken}/tests/unit/packet/test_tcp.py (97%) rename {ryu => os_ken}/tests/unit/packet/test_udp.py (92%) rename {ryu => os_ken}/tests/unit/packet/test_vlan.py (96%) rename {ryu => os_ken}/tests/unit/packet/test_vrrp.py (98%) rename {ryu => os_ken}/tests/unit/packet/test_vxlan.py (96%) rename {ryu => os_ken}/tests/unit/packet/test_zebra.py (98%) rename {ryu/tests/unit/lib/ovs => os_ken/tests/unit/sample}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/sample/test_sample1.py (73%) rename {ryu => os_ken}/tests/unit/sample/test_sample2.py (81%) rename {ryu/tests/unit/ofproto => os_ken/tests/unit/services}/__init__.py (100%) rename {ryu/tests/unit/packet => os_ken/tests/unit/services/protocols}/__init__.py (100%) rename {ryu/tests/unit/sample => os_ken/tests/unit/services/protocols/bgp}/__init__.py (100%) rename {ryu/tests/unit/services => os_ken/tests/unit/services/protocols/bgp/core_managers}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py (92%) rename {ryu => os_ken}/tests/unit/services/protocols/bgp/test_bgpspeaker.py (86%) rename {ryu => os_ken}/tests/unit/services/protocols/bgp/test_peer.py (99%) rename {ryu/tests/unit/services/protocols => os_ken/tests/unit/services/protocols/bgp/utils}/__init__.py (100%) rename {ryu => os_ken}/tests/unit/services/protocols/bgp/utils/test_bgp.py (95%) rename {ryu => os_ken}/tests/unit/services/protocols/bgp/utils/test_validation.py (98%) rename {ryu => os_ken}/tests/unit/test_requirements.py (100%) rename {ryu => os_ken}/tests/unit/test_utils.py (98%) create mode 100644 os_ken/topology/__init__.py rename {ryu => os_ken}/topology/api.py (88%) rename {ryu => os_ken}/topology/dumper.py (96%) rename {ryu => os_ken}/topology/event.py (97%) rename {ryu => os_ken}/topology/switches.py (97%) rename {ryu => os_ken}/utils.py (98%) delete mode 100644 ryu/__init__.py delete mode 100644 ryu/ofproto/ether.py delete mode 100644 ryu/ofproto/inet.py delete mode 100644 ryu/services/protocols/bgp/operator/commands/root.py delete mode 100644 ryu/services/protocols/bgp/signals/__init__.py delete mode 100644 ryu/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json delete mode 100644 ryu/tests/unit/lib/ovs/test_vsctl.py delete mode 100644 ryu/tests/unit/lib/test_addrconv.py delete mode 100644 ryu/tests/unit/lib/test_hub.py delete mode 100644 ryu/tests/unit/lib/test_import_module.py delete mode 100644 ryu/tests/unit/lib/test_ip.py delete mode 100644 ryu/tests/unit/lib/test_mac.py delete mode 100644 ryu/tests/unit/lib/test_mod/__init__.py delete mode 100644 ryu/tests/unit/lib/test_mod/aaa/__init__.py delete mode 100644 ryu/tests/unit/lib/test_mod/aaa/mod.py delete mode 100644 ryu/tests/unit/lib/test_mod/bbb/__init__.py delete mode 100644 ryu/tests/unit/lib/test_mod/bbb/mod.py delete mode 100644 ryu/tests/unit/lib/test_mod/ccc/__init__.py delete mode 100644 ryu/tests/unit/lib/test_mod/ccc/mod.py delete mode 100644 ryu/tests/unit/lib/test_mod/ddd/__init__.py delete mode 100644 ryu/tests/unit/lib/test_mod/ddd/mod.py delete mode 100644 ryu/tests/unit/lib/test_mod/eee.py delete mode 100644 ryu/tests/unit/lib/test_mod/fff.py delete mode 100644 ryu/tests/unit/lib/test_mod/ggg.py delete mode 100644 ryu/tests/unit/lib/test_mrtlib.py delete mode 100644 ryu/tests/unit/lib/test_of_config_classes.py delete mode 100644 ryu/tests/unit/lib/test_ofctl.py delete mode 100644 ryu/tests/unit/lib/test_ofctl_action_match.py delete mode 100644 ryu/tests/unit/lib/test_ofctl_string.py delete mode 100644 ryu/tests/unit/lib/test_ofctl_utils.py delete mode 100644 ryu/tests/unit/lib/test_ofctl_v1_3.py delete mode 100644 ryu/tests/unit/lib/test_ofp_pktinfilter.py delete mode 100644 ryu/tests/unit/lib/test_pack_utils.py delete mode 100644 ryu/tests/unit/lib/test_pcaplib.py delete mode 100644 ryu/tests/unit/lib/test_rpc.py delete mode 100644 ryu/tests/unit/lib/test_stringify.py delete mode 100644 ryu/tests/unit/ofproto/test_ofproto.py delete mode 100644 ryu/tests/unit/services/protocols/bgp/__init__.py delete mode 100644 ryu/tests/unit/services/protocols/bgp/core_managers/__init__.py delete mode 100644 ryu/tests/unit/services/protocols/bgp/utils/__init__.py delete mode 100644 ryu/topology/__init__.py diff --git a/.gitignore b/.gitignore index 59b35f50..05ad6cf0 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ var sdist develop-eggs .installed.cfg -lib lib64 # Installer logs diff --git a/ryu/app/__init__.py b/os_ken/app/__init__.py similarity index 100% rename from ryu/app/__init__.py rename to os_ken/app/__init__.py diff --git a/ryu/app/bmpstation.py b/os_ken/app/bmpstation.py similarity index 92% rename from ryu/app/bmpstation.py rename to os_ken/app/bmpstation.py index 781751cf..db83f363 100644 --- a/ryu/app/bmpstation.py +++ b/os_ken/app/bmpstation.py @@ -17,11 +17,11 @@ import os import socket import time -from ryu.base import app_manager +from os_ken.base import app_manager -from ryu.lib import hub -from ryu.lib.hub import StreamServer -from ryu.lib.packet import bmp +from os_ken.lib import hub +from os_ken.lib.hub import StreamServer +from os_ken.lib.packet import bmp class BMPStation(app_manager.RyuApp): @@ -30,9 +30,9 @@ class BMPStation(app_manager.RyuApp): self.name = 'bmpstation' self.server_host = os.environ.get('RYU_BMP_SERVER_HOST', '0.0.0.0') self.server_port = int(os.environ.get('RYU_BMP_SERVER_PORT', 11019)) - output_file = os.environ.get('RYU_BMP_OUTPUT_FILE', 'ryu_bmp.log') + output_file = os.environ.get('RYU_BMP_OUTPUT_FILE', 'os_ken_bmp.log') failed_dump = os.environ.get('RYU_BMP_FAILED_DUMP', - 'ryu_bmp_failed.dump') + 'os_ken_bmp_failed.dump') self.output_fd = open(output_file, 'w') self.failed_dump_fd = open(failed_dump, 'w') diff --git a/ryu/app/cbench.py b/os_ken/app/cbench.py similarity index 87% rename from ryu/app/cbench.py rename to os_ken/app/cbench.py index aed83ab4..b962e4cb 100644 --- a/ryu/app/cbench.py +++ b/os_ken/app/cbench.py @@ -19,11 +19,11 @@ A dumb OpenFlow 1.0 responder for benchmarking the controller framework. Intended to be used with oflops cbench. """ -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 class Cbench(app_manager.RyuApp): diff --git a/ryu/app/conf_switch_key.py b/os_ken/app/conf_switch_key.py similarity index 100% rename from ryu/app/conf_switch_key.py rename to os_ken/app/conf_switch_key.py diff --git a/ryu/app/example_switch_13.py b/os_ken/app/example_switch_13.py similarity index 91% rename from ryu/app/example_switch_13.py rename to os_ken/app/example_switch_13.py index 046e4ed0..85947b95 100644 --- a/ryu/app/example_switch_13.py +++ b/os_ken/app/example_switch_13.py @@ -13,13 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet class ExampleSwitch13(app_manager.RyuApp): diff --git a/ryu/app/gui_topology/__init__.py b/os_ken/app/gui_topology/__init__.py similarity index 100% rename from ryu/app/gui_topology/__init__.py rename to os_ken/app/gui_topology/__init__.py diff --git a/ryu/app/gui_topology/gui_topology.py b/os_ken/app/gui_topology/gui_topology.py similarity index 79% rename from ryu/app/gui_topology/gui_topology.py rename to os_ken/app/gui_topology/gui_topology.py index cbac4d8f..79928c23 100644 --- a/ryu/app/gui_topology/gui_topology.py +++ b/os_ken/app/gui_topology/gui_topology.py @@ -20,18 +20,18 @@ Usage example $ sudo mn --controller remote --topo tree,depth=3 2. Run this application: -$ PYTHONPATH=. ./bin/ryu run \ - --observe-links ryu/app/gui_topology/gui_topology.py +$ PYTHONPATH=. ./bin/os_ken run \ + --observe-links os_ken/app/gui_topology/gui_topology.py -3. Access http://:8080 with your web browser. +3. Access http://:8080 with your web browser. """ import os from webob.static import DirectoryApp -from ryu.app.wsgi import ControllerBase, WSGIApplication, route -from ryu.base import app_manager +from os_ken.app.wsgi import ControllerBase, WSGIApplication, route +from os_ken.base import app_manager PATH = os.path.dirname(__file__) @@ -63,6 +63,6 @@ class GUIServerController(ControllerBase): return self.static_app(req) -app_manager.require_app('ryu.app.rest_topology') -app_manager.require_app('ryu.app.ws_topology') -app_manager.require_app('ryu.app.ofctl_rest') +app_manager.require_app('os_ken.app.rest_topology') +app_manager.require_app('os_ken.app.ws_topology') +app_manager.require_app('os_ken.app.ofctl_rest') diff --git a/ryu/app/gui_topology/html/index.html b/os_ken/app/gui_topology/html/index.html similarity index 100% rename from ryu/app/gui_topology/html/index.html rename to os_ken/app/gui_topology/html/index.html diff --git a/ryu/app/gui_topology/html/router.svg b/os_ken/app/gui_topology/html/router.svg similarity index 100% rename from ryu/app/gui_topology/html/router.svg rename to os_ken/app/gui_topology/html/router.svg diff --git a/ryu/app/gui_topology/html/ryu.topology.css b/os_ken/app/gui_topology/html/ryu.topology.css similarity index 100% rename from ryu/app/gui_topology/html/ryu.topology.css rename to os_ken/app/gui_topology/html/ryu.topology.css diff --git a/ryu/app/gui_topology/html/ryu.topology.js b/os_ken/app/gui_topology/html/ryu.topology.js similarity index 100% rename from ryu/app/gui_topology/html/ryu.topology.js rename to os_ken/app/gui_topology/html/ryu.topology.js diff --git a/ryu/app/ofctl/__init__.py b/os_ken/app/ofctl/__init__.py similarity index 100% rename from ryu/app/ofctl/__init__.py rename to os_ken/app/ofctl/__init__.py diff --git a/ryu/app/ofctl/api.py b/os_ken/app/ofctl/api.py similarity index 92% rename from ryu/app/ofctl/api.py rename to os_ken/app/ofctl/api.py index 1149e06d..d8c58f37 100644 --- a/ryu/app/ofctl/api.py +++ b/os_ken/app/ofctl/api.py @@ -14,9 +14,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -# client for ryu.app.ofctl.service +# client for os_ken.app.ofctl.service -from ryu.base import app_manager +from os_ken.base import app_manager from . import event @@ -35,7 +35,7 @@ def get_datapath(app, dpid=None): Example:: # ...(snip)... - import ryu.app.ofctl.api as ofctl_api + import os_ken.app.ofctl.api as ofctl_api class MyApp(app_manager.RyuApp): @@ -71,7 +71,7 @@ def send_msg(app, msg, reply_cls=None, reply_multi=False): Example:: # ...(snip)... - import ryu.app.ofctl.api as ofctl_api + import os_ken.app.ofctl.api as ofctl_api class MyApp(app_manager.RyuApp): @@ -89,4 +89,4 @@ def send_msg(app, msg, reply_cls=None, reply_multi=False): reply_multi=reply_multi))() -app_manager.require_app('ryu.app.ofctl.service', api_style=True) +app_manager.require_app('os_ken.app.ofctl.service', api_style=True) diff --git a/ryu/app/ofctl/event.py b/os_ken/app/ofctl/event.py similarity index 97% rename from ryu/app/ofctl/event.py rename to os_ken/app/ofctl/event.py index dfb0024f..9652fc0d 100644 --- a/ryu/app/ofctl/event.py +++ b/os_ken/app/ofctl/event.py @@ -16,7 +16,7 @@ import numbers -from ryu.controller import event +from os_ken.controller import event # base classes diff --git a/ryu/app/ofctl/exception.py b/os_ken/app/ofctl/exception.py similarity index 97% rename from ryu/app/ofctl/exception.py rename to os_ken/app/ofctl/exception.py index 0c6555ac..3367304e 100644 --- a/ryu/app/ofctl/exception.py +++ b/os_ken/app/ofctl/exception.py @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu import exception +from os_ken import exception # base classes diff --git a/ryu/app/ofctl/service.py b/os_ken/app/ofctl/service.py similarity index 97% rename from ryu/app/ofctl/service.py rename to os_ken/app/ofctl/service.py index ce604958..3704550d 100644 --- a/ryu/app/ofctl/service.py +++ b/os_ken/app/ofctl/service.py @@ -18,12 +18,12 @@ import numbers -from ryu.base import app_manager +from os_ken.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER,\ +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER,\ DEAD_DISPATCHER -from ryu.controller.handler import set_ev_cls +from os_ken.controller.handler import set_ev_cls from . import event from . import exception diff --git a/ryu/app/ofctl_rest.py b/os_ken/app/ofctl_rest.py similarity index 97% rename from ryu/app/ofctl_rest.py rename to os_ken/app/ofctl_rest.py index addc8e89..2232f69d 100644 --- a/ryu/app/ofctl_rest.py +++ b/os_ken/app/ofctl_rest.py @@ -17,27 +17,27 @@ import logging import json import ast -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.exception import RyuException -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_5 -from ryu.lib import ofctl_v1_0 -from ryu.lib import ofctl_v1_2 -from ryu.lib import ofctl_v1_3 -from ryu.lib import ofctl_v1_4 -from ryu.lib import ofctl_v1_5 -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.exception import RyuException +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_5 +from os_ken.lib import ofctl_v1_0 +from os_ken.lib import ofctl_v1_2 +from os_ken.lib import ofctl_v1_3 +from os_ken.lib import ofctl_v1_4 +from os_ken.lib import ofctl_v1_5 +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import WSGIApplication -LOG = logging.getLogger('ryu.app.ofctl_rest') +LOG = logging.getLogger('os_ken.app.ofctl_rest') # supported ofctl versions in this restful app supported_ofctl = { diff --git a/ryu/app/rest_conf_switch.py b/os_ken/app/rest_conf_switch.py similarity index 96% rename from ryu/app/rest_conf_switch.py rename to os_ken/app/rest_conf_switch.py index 1fd7d775..bb660331 100644 --- a/ryu/app/rest_conf_switch.py +++ b/os_ken/app/rest_conf_switch.py @@ -25,11 +25,11 @@ import json from six.moves import http_client -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.base import app_manager -from ryu.controller import conf_switch -from ryu.lib import dpid as dpid_lib +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.base import app_manager +from os_ken.controller import conf_switch +from os_ken.lib import dpid as dpid_lib # REST API for switch configuration diff --git a/ryu/app/rest_firewall.py b/os_ken/app/rest_firewall.py similarity index 97% rename from ryu/app/rest_firewall.py rename to os_ken/app/rest_firewall.py index e9c37adf..c60a3b5c 100644 --- a/ryu/app/rest_firewall.py +++ b/os_ken/app/rest_firewall.py @@ -17,28 +17,28 @@ import logging import json -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import WSGIApplication -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.exception import OFPUnknownVersion -from ryu.lib import mac -from ryu.lib import dpid as dpid_lib -from ryu.lib import ofctl_v1_0 -from ryu.lib import ofctl_v1_2 -from ryu.lib import ofctl_v1_3 -from ryu.lib.packet import packet -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_3_parser +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.exception import OFPUnknownVersion +from os_ken.lib import mac +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import ofctl_v1_0 +from os_ken.lib import ofctl_v1_2 +from os_ken.lib import ofctl_v1_3 +from os_ken.lib.packet import packet +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_3_parser # ============================= diff --git a/ryu/app/rest_qos.py b/os_ken/app/rest_qos.py similarity index 97% rename from ryu/app/rest_qos.py rename to os_ken/app/rest_qos.py index ee3d45f4..28864a57 100644 --- a/ryu/app/rest_qos.py +++ b/os_ken/app/rest_qos.py @@ -18,30 +18,30 @@ import logging import json import re -from ryu.app import conf_switch_key as cs_key -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import route -from ryu.app.wsgi import WSGIApplication -from ryu.base import app_manager -from ryu.controller import conf_switch -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import set_ev_cls -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.exception import OFPUnknownVersion -from ryu.lib import dpid as dpid_lib -from ryu.lib import mac -from ryu.lib import ofctl_v1_0 -from ryu.lib import ofctl_v1_2 -from ryu.lib import ofctl_v1_3 -from ryu.lib.ovs import bridge -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ether -from ryu.ofproto import inet +from os_ken.app import conf_switch_key as cs_key +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import route +from os_ken.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.controller import conf_switch +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import set_ev_cls +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.exception import OFPUnknownVersion +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import mac +from os_ken.lib import ofctl_v1_0 +from os_ken.lib import ofctl_v1_2 +from os_ken.lib import ofctl_v1_3 +from os_ken.lib.ovs import bridge +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ether +from os_ken.ofproto import inet # ============================= diff --git a/ryu/app/rest_router.py b/os_ken/app/rest_router.py similarity index 98% rename from ryu/app/rest_router.py rename to os_ken/app/rest_router.py index 5019d5f4..1c39a0d9 100644 --- a/ryu/app/rest_router.py +++ b/os_ken/app/rest_router.py @@ -21,34 +21,34 @@ import struct import json -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import WSGIApplication -from ryu.base import app_manager -from ryu.controller import dpset -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.exception import OFPUnknownVersion -from ryu.exception import RyuException -from ryu.lib import dpid as dpid_lib -from ryu.lib import hub -from ryu.lib import mac as mac_lib -from ryu.lib import addrconv -from ryu.lib.packet import arp -from ryu.lib.packet import ethernet -from ryu.lib.packet import icmp -from ryu.lib.packet import ipv4 -from ryu.lib.packet import packet -from ryu.lib.packet import packet_base -from ryu.lib.packet import tcp -from ryu.lib.packet import udp -from ryu.lib.packet import vlan -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.controller import dpset +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.exception import OFPUnknownVersion +from os_ken.exception import RyuException +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import hub +from os_ken.lib import mac as mac_lib +from os_ken.lib import addrconv +from os_ken.lib.packet import arp +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import icmp +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import packet +from os_ken.lib.packet import packet_base +from os_ken.lib.packet import tcp +from os_ken.lib.packet import udp +from os_ken.lib.packet import vlan +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 # ============================= diff --git a/ryu/app/rest_topology.py b/os_ken/app/rest_topology.py similarity index 92% rename from ryu/app/rest_topology.py rename to os_ken/app/rest_topology.py index 43660664..dd513e0c 100644 --- a/ryu/app/rest_topology.py +++ b/os_ken/app/rest_topology.py @@ -15,13 +15,13 @@ import json -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import route -from ryu.app.wsgi import WSGIApplication -from ryu.base import app_manager -from ryu.lib import dpid as dpid_lib -from ryu.topology.api import get_switch, get_link, get_host +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import route +from os_ken.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.lib import dpid as dpid_lib +from os_ken.topology.api import get_switch, get_link, get_host # REST API for switch configuration # diff --git a/ryu/app/rest_vtep.py b/os_ken/app/rest_vtep.py similarity index 98% rename from ryu/app/rest_vtep.py rename to os_ken/app/rest_vtep.py index a473a17f..478ed92f 100644 --- a/ryu/app/rest_vtep.py +++ b/os_ken/app/rest_vtep.py @@ -231,8 +231,8 @@ supports only the OpenFlow version 1.3. :: - $ ryu --version - ryu 4.19 + $ os_ken --version + os_ken 4.19 $ ovs-vsctl --version ovs-vsctl (Open vSwitch) 2.5.2 # APT packaged version of Ubuntu 16.04 @@ -245,25 +245,25 @@ supports only the OpenFlow version 1.3. import json -from ryu.app.ofctl import api as ofctl_api -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import route -from ryu.app.wsgi import WSGIApplication -from ryu.base import app_manager -from ryu.exception import RyuException -from ryu.lib.ovs import bridge as ovs_bridge -from ryu.lib.packet import arp -from ryu.lib.packet import ether_types -from ryu.lib.packet.bgp import _RouteDistinguisher -from ryu.lib.packet.bgp import EvpnNLRI -from ryu.lib.stringify import StringifyMixin -from ryu.ofproto import ofproto_v1_3 -from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker -from ryu.services.protocols.bgp.bgpspeaker import RF_L2_EVPN -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MAC_IP_ADV_ROUTE -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MULTICAST_ETAG_ROUTE -from ryu.services.protocols.bgp.info_base.evpn import EvpnPath +from os_ken.app.ofctl import api as ofctl_api +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import route +from os_ken.app.wsgi import WSGIApplication +from os_ken.base import app_manager +from os_ken.exception import RyuException +from os_ken.lib.ovs import bridge as ovs_bridge +from os_ken.lib.packet import arp +from os_ken.lib.packet import ether_types +from os_ken.lib.packet.bgp import _RouteDistinguisher +from os_ken.lib.packet.bgp import EvpnNLRI +from os_ken.lib.stringify import StringifyMixin +from os_ken.ofproto import ofproto_v1_3 +from os_ken.services.protocols.bgp.bgpspeaker import BGPSpeaker +from os_ken.services.protocols.bgp.bgpspeaker import RF_L2_EVPN +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MAC_IP_ADV_ROUTE +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MULTICAST_ETAG_ROUTE +from os_ken.services.protocols.bgp.info_base.evpn import EvpnPath API_NAME = 'restvtep' diff --git a/ryu/app/simple_monitor_13.py b/os_ken/app/simple_monitor_13.py similarity index 94% rename from ryu/app/simple_monitor_13.py rename to os_ken/app/simple_monitor_13.py index 630828b4..dd06bf6d 100644 --- a/ryu/app/simple_monitor_13.py +++ b/os_ken/app/simple_monitor_13.py @@ -15,11 +15,11 @@ from operator import attrgetter -from ryu.app import simple_switch_13 -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER, DEAD_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.lib import hub +from os_ken.app import simple_switch_13 +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER, DEAD_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.lib import hub class SimpleMonitor13(simple_switch_13.SimpleSwitch13): diff --git a/ryu/app/simple_switch.py b/os_ken/app/simple_switch.py similarity index 90% rename from ryu/app/simple_switch.py rename to os_ken/app/simple_switch.py index 33c4f7d0..0ac9446a 100644 --- a/ryu/app/simple_switch.py +++ b/os_ken/app/simple_switch.py @@ -18,15 +18,15 @@ An OpenFlow 1.0 L2 learning switch implementation. """ -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 -from ryu.lib.mac import haddr_to_bin -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ether_types +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 +from os_ken.lib.mac import haddr_to_bin +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ether_types class SimpleSwitch(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_12.py b/os_ken/app/simple_switch_12.py similarity index 90% rename from ryu/app/simple_switch_12.py rename to os_ken/app/simple_switch_12.py index 5e078515..cfecef3f 100644 --- a/ryu/app/simple_switch_12.py +++ b/os_ken/app/simple_switch_12.py @@ -13,14 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ether_types +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ether_types class SimpleSwitch12(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_13.py b/os_ken/app/simple_switch_13.py similarity index 92% rename from ryu/app/simple_switch_13.py rename to os_ken/app/simple_switch_13.py index 06a5d0ed..5ea66a2f 100644 --- a/ryu/app/simple_switch_13.py +++ b/os_ken/app/simple_switch_13.py @@ -13,14 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ether_types +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ether_types class SimpleSwitch13(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_14.py b/os_ken/app/simple_switch_14.py similarity index 90% rename from ryu/app/simple_switch_14.py rename to os_ken/app/simple_switch_14.py index c932eda1..64e3e95b 100644 --- a/ryu/app/simple_switch_14.py +++ b/os_ken/app/simple_switch_14.py @@ -13,14 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_4 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ether_types +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_4 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ether_types class SimpleSwitch14(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_15.py b/os_ken/app/simple_switch_15.py similarity index 91% rename from ryu/app/simple_switch_15.py rename to os_ken/app/simple_switch_15.py index 6a86ba79..1fa57b0d 100644 --- a/ryu/app/simple_switch_15.py +++ b/os_ken/app/simple_switch_15.py @@ -13,14 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_5 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ether_types +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_5 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ether_types class SimpleSwitch15(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_igmp.py b/os_ken/app/simple_switch_igmp.py similarity index 92% rename from ryu/app/simple_switch_igmp.py rename to os_ken/app/simple_switch_igmp.py index b1b014f0..310837dd 100644 --- a/ryu/app/simple_switch_igmp.py +++ b/os_ken/app/simple_switch_igmp.py @@ -15,13 +15,13 @@ import struct -from ryu.base import app_manager -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 -from ryu.lib import addrconv -from ryu.lib import igmplib -from ryu.lib.dpid import str_to_dpid +from os_ken.base import app_manager +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 +from os_ken.lib import addrconv +from os_ken.lib import igmplib +from os_ken.lib.dpid import str_to_dpid class SimpleSwitchIgmp(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_igmp_13.py b/os_ken/app/simple_switch_igmp_13.py similarity index 86% rename from ryu/app/simple_switch_igmp_13.py rename to os_ken/app/simple_switch_igmp_13.py index 4d119fb5..9eb1f49f 100644 --- a/ryu/app/simple_switch_igmp_13.py +++ b/os_ken/app/simple_switch_igmp_13.py @@ -13,17 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib import igmplib -from ryu.lib.dpid import str_to_dpid -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.app import simple_switch_13 +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib import igmplib +from os_ken.lib.dpid import str_to_dpid +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.app import simple_switch_13 class SimpleSwitchIgmp13(simple_switch_13.SimpleSwitch13): diff --git a/ryu/app/simple_switch_lacp.py b/os_ken/app/simple_switch_lacp.py similarity index 93% rename from ryu/app/simple_switch_lacp.py rename to os_ken/app/simple_switch_lacp.py index 37741631..46c1e8a3 100644 --- a/ryu/app/simple_switch_lacp.py +++ b/os_ken/app/simple_switch_lacp.py @@ -15,13 +15,13 @@ import struct -from ryu.base import app_manager -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 -from ryu.lib import addrconv -from ryu.lib import lacplib -from ryu.lib.dpid import str_to_dpid +from os_ken.base import app_manager +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 +from os_ken.lib import addrconv +from os_ken.lib import lacplib +from os_ken.lib.dpid import str_to_dpid class SimpleSwitchLacp(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_lacp_13.py b/os_ken/app/simple_switch_lacp_13.py similarity index 88% rename from ryu/app/simple_switch_lacp_13.py rename to os_ken/app/simple_switch_lacp_13.py index a3907392..8b1ebbb3 100644 --- a/ryu/app/simple_switch_lacp_13.py +++ b/os_ken/app/simple_switch_lacp_13.py @@ -13,17 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib import lacplib -from ryu.lib.dpid import str_to_dpid -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.app import simple_switch_13 +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib import lacplib +from os_ken.lib.dpid import str_to_dpid +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.app import simple_switch_13 class SimpleSwitchLacp13(simple_switch_13.SimpleSwitch13): diff --git a/ryu/app/simple_switch_rest_13.py b/os_ken/app/simple_switch_rest_13.py similarity index 91% rename from ryu/app/simple_switch_rest_13.py rename to os_ken/app/simple_switch_rest_13.py index aaf5d509..0132bc05 100644 --- a/ryu/app/simple_switch_rest_13.py +++ b/os_ken/app/simple_switch_rest_13.py @@ -15,15 +15,15 @@ import json -from ryu.app import simple_switch_13 -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import Response -from ryu.app.wsgi import route -from ryu.app.wsgi import WSGIApplication -from ryu.lib import dpid as dpid_lib +from os_ken.app import simple_switch_13 +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import route +from os_ken.app.wsgi import WSGIApplication +from os_ken.lib import dpid as dpid_lib simple_switch_instance_name = 'simple_switch_api_app' url = '/simpleswitch/mactable/{dpid}' diff --git a/ryu/app/simple_switch_snort.py b/os_ken/app/simple_switch_snort.py similarity index 91% rename from ryu/app/simple_switch_snort.py rename to os_ken/app/simple_switch_snort.py index 553a8bb7..db50c7ab 100644 --- a/ryu/app/simple_switch_snort.py +++ b/os_ken/app/simple_switch_snort.py @@ -17,16 +17,16 @@ from __future__ import print_function import array -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import icmp -from ryu.lib import snortlib +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import icmp +from os_ken.lib import snortlib class SimpleSwitchSnort(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_stp.py b/os_ken/app/simple_switch_stp.py similarity index 94% rename from ryu/app/simple_switch_stp.py rename to os_ken/app/simple_switch_stp.py index a86c8a53..0778fb08 100644 --- a/ryu/app/simple_switch_stp.py +++ b/os_ken/app/simple_switch_stp.py @@ -15,13 +15,13 @@ import struct -from ryu.base import app_manager -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 -from ryu.lib import dpid as dpid_lib -from ryu.lib import stplib -from ryu.lib.mac import haddr_to_str +from os_ken.base import app_manager +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import stplib +from os_ken.lib.mac import haddr_to_str class SimpleSwitchStp(app_manager.RyuApp): diff --git a/ryu/app/simple_switch_stp_13.py b/os_ken/app/simple_switch_stp_13.py similarity index 90% rename from ryu/app/simple_switch_stp_13.py rename to os_ken/app/simple_switch_stp_13.py index 97b2fd21..957d2f6f 100644 --- a/ryu/app/simple_switch_stp_13.py +++ b/os_ken/app/simple_switch_stp_13.py @@ -13,16 +13,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_3 -from ryu.lib import dpid as dpid_lib -from ryu.lib import stplib -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.app import simple_switch_13 +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import stplib +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.app import simple_switch_13 class SimpleSwitch13(simple_switch_13.SimpleSwitch13): diff --git a/ryu/app/simple_switch_websocket_13.py b/os_ken/app/simple_switch_websocket_13.py similarity index 88% rename from ryu/app/simple_switch_websocket_13.py rename to os_ken/app/simple_switch_websocket_13.py index f58af040..3611282b 100644 --- a/ryu/app/simple_switch_websocket_13.py +++ b/os_ken/app/simple_switch_websocket_13.py @@ -17,7 +17,7 @@ Usage example Run this application: -$ PYTHONPATH=. ./bin/ryu run --verbose ryu.app.simple_switch_websocket_13 +$ PYTHONPATH=. ./bin/os_ken run --verbose os_ken.app.simple_switch_websocket_13 Install and run websocket client(in other terminal): $ pip install websocket-client @@ -42,15 +42,15 @@ Get arp table: 15:0c:de:49": 2}}} """ -from ryu.app import simple_switch_13 -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import rpc_public -from ryu.app.wsgi import websocket -from ryu.app.wsgi import WebSocketRPCServer -from ryu.app.wsgi import WSGIApplication -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -from ryu.lib.packet import packet +from os_ken.app import simple_switch_13 +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import rpc_public +from os_ken.app.wsgi import websocket +from os_ken.app.wsgi import WebSocketRPCServer +from os_ken.app.wsgi import WSGIApplication +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +from os_ken.lib.packet import packet simple_switch_instance_name = 'simple_switch_api_app' diff --git a/ryu/app/ws_topology.py b/os_ken/app/ws_topology.py similarity index 94% rename from ryu/app/ws_topology.py rename to os_ken/app/ws_topology.py index 2372601f..80e2d306 100644 --- a/ryu/app/ws_topology.py +++ b/os_ken/app/ws_topology.py @@ -17,7 +17,7 @@ Usage example 1. Run this application: -$ ryu-manager --verbose --observe-links ryu.app.ws_topology +$ os_ken-manager --verbose --observe-links os_ken.app.ws_topology 2. Connect to this application by WebSocket (use your favorite client): $ wscat -c ws://localhost:8080/v1.0/topology/ws @@ -38,15 +38,15 @@ from socket import error as SocketError from tinyrpc.exc import InvalidReplyError -from ryu.app.wsgi import ( +from os_ken.app.wsgi import ( ControllerBase, WSGIApplication, websocket, WebSocketRPCClient ) -from ryu.base import app_manager -from ryu.topology import event, switches -from ryu.controller.handler import set_ev_cls +from os_ken.base import app_manager +from os_ken.topology import event, switches +from os_ken.controller.handler import set_ev_cls class WebSocketTopology(app_manager.RyuApp): diff --git a/ryu/app/wsgi.py b/os_ken/app/wsgi.py similarity index 99% rename from ryu/app/wsgi.py rename to os_ken/app/wsgi.py index 0b98df94..741a4b24 100644 --- a/ryu/app/wsgi.py +++ b/os_ken/app/wsgi.py @@ -31,8 +31,8 @@ import webob.exc from webob.request import Request as webob_Request from webob.response import Response as webob_Response -from ryu import cfg -from ryu.lib import hub +from os_ken import cfg +from os_ken.lib import hub DEFAULT_WSGI_HOST = '0.0.0.0' DEFAULT_WSGI_PORT = 8080 diff --git a/ryu/base/__init__.py b/os_ken/base/__init__.py similarity index 100% rename from ryu/base/__init__.py rename to os_ken/base/__init__.py diff --git a/ryu/base/app_manager.py b/os_ken/base/app_manager.py similarity index 97% rename from ryu/base/app_manager.py rename to os_ken/base/app_manager.py index f6842591..f1972389 100644 --- a/ryu/base/app_manager.py +++ b/os_ken/base/app_manager.py @@ -30,17 +30,17 @@ import sys import os import gc -from ryu import cfg -from ryu import utils -from ryu.app import wsgi -from ryu.controller.handler import register_instance, get_dependent_services -from ryu.controller.controller import Datapath -from ryu.controller import event -from ryu.controller.event import EventRequestBase, EventReplyBase -from ryu.lib import hub -from ryu.ofproto import ofproto_protocol +from os_ken import cfg +from os_ken import utils +from os_ken.app import wsgi +from os_ken.controller.handler import register_instance, get_dependent_services +from os_ken.controller.controller import Datapath +from os_ken.controller import event +from os_ken.controller.event import EventRequestBase, EventReplyBase +from os_ken.lib import hub +from os_ken.ofproto import ofproto_protocol -LOG = logging.getLogger('ryu.base.app_manager') +LOG = logging.getLogger('os_ken.base.app_manager') SERVICE_BRICKS = {} @@ -92,7 +92,7 @@ class RyuApp(object): """ The base class for Ryu applications. - RyuApp subclasses are instantiated after ryu-manager loaded + RyuApp subclasses are instantiated after os_ken-manager loaded all requested Ryu application modules. __init__ should call RyuApp.__init__ with the same arguments. It's illegal to send any events in __init__. diff --git a/ryu/cfg.py b/os_ken/cfg.py similarity index 89% rename from ryu/cfg.py rename to os_ken/cfg.py index d2951ee7..dfd34974 100644 --- a/ryu/cfg.py +++ b/os_ken/cfg.py @@ -18,13 +18,13 @@ import oslo_config.cfg # there are 3 ways to access the configuration. # -# a. ryu.cfg.CONF (used to register cli options) -# b. RyuApp.CONF (preferred way for ryu applications) +# a. os_ken.cfg.CONF (used to register cli options) +# b. RyuApp.CONF (preferred way for os_ken applications) # c. oslo_config.cfg.CONF # # Currently a. and b. shares a single ConfigOpts instance. # We intentionally avoid using c. for our options as a python program -# which embeds ryu applications (eg. neutron agent) might want to put +# which embeds os_ken applications (eg. neutron agent) might want to put # its own set of cli options into it, which can conflict with ours. # (Currently there seems no conflict for the neutron agent. But who knows?) # At some point later we might want to unshare a. and b. as well, in order diff --git a/ryu/cmd/__init__.py b/os_ken/cmd/__init__.py similarity index 100% rename from ryu/cmd/__init__.py rename to os_ken/cmd/__init__.py diff --git a/ryu/cmd/manager.py b/os_ken/cmd/manager.py similarity index 83% rename from ryu/cmd/manager.py rename to os_ken/cmd/manager.py index 797d8d5f..328c550f 100755 --- a/ryu/cmd/manager.py +++ b/os_ken/cmd/manager.py @@ -19,21 +19,21 @@ import os import sys -from ryu.lib import hub +from os_ken.lib import hub hub.patch(thread=False) -from ryu import cfg +from os_ken import cfg import logging -from ryu import log +from os_ken import log log.early_init_log(logging.DEBUG) -from ryu import flags -from ryu import version -from ryu.app import wsgi -from ryu.base.app_manager import AppManager -from ryu.controller import controller -from ryu.topology import switches +from os_ken import flags +from os_ken import version +from os_ken.app import wsgi +from os_ken.base.app_manager import AppManager +from os_ken.controller import controller +from os_ken.topology import switches CONF = cfg.CONF @@ -62,7 +62,7 @@ def _parse_user_flags(): user_flags_file = '' if user_flags_file and os.path.isfile(user_flags_file): - from ryu.utils import _import_module_file + from os_ken.utils import _import_module_file _import_module_file(user_flags_file) @@ -70,11 +70,11 @@ def main(args=None, prog=None): _parse_user_flags() try: CONF(args=args, prog=prog, - project='ryu', version='ryu-manager %s' % version, - default_config_files=['/usr/local/etc/ryu/ryu.conf']) + project='os_ken', version='os_ken-manager %s' % version, + default_config_files=['/usr/local/etc/os_ken/os_ken.conf']) except cfg.ConfigFilesNotFoundError: CONF(args=args, prog=prog, - project='ryu', version='ryu-manager %s' % version) + project='os_ken', version='os_ken-manager %s' % version) log.init_log() logger = logging.getLogger(__name__) @@ -92,7 +92,7 @@ def main(args=None, prog=None): app_lists = CONF.app_lists + CONF.app # keep old behavior, run ofp if no application is specified. if not app_lists: - app_lists = ['ryu.controller.ofp_handler'] + app_lists = ['os_ken.controller.ofp_handler'] app_mgr = AppManager.get_instance() app_mgr.load_apps(app_lists) diff --git a/ryu/cmd/of_config_cli.py b/os_ken/cmd/of_config_cli.py similarity index 99% rename from ryu/cmd/of_config_cli.py rename to os_ken/cmd/of_config_cli.py index 8bfbad03..da0e2499 100755 --- a/ryu/cmd/of_config_cli.py +++ b/os_ken/cmd/of_config_cli.py @@ -31,10 +31,10 @@ import sys import lxml.etree as ET from ncclient.operations.rpc import RPCError -from ryu import cfg -from ryu.lib import of_config -from ryu.lib.of_config import capable_switch -import ryu.lib.of_config.classes as ofc +from os_ken import cfg +from os_ken.lib import of_config +from os_ken.lib.of_config import capable_switch +import os_ken.lib.of_config.classes as ofc CONF = cfg.CONF diff --git a/ryu/cmd/ofa_neutron_agent.py b/os_ken/cmd/ofa_neutron_agent.py similarity index 90% rename from ryu/cmd/ofa_neutron_agent.py rename to os_ken/cmd/ofa_neutron_agent.py index a7613297..6b3dfd16 100755 --- a/ryu/cmd/ofa_neutron_agent.py +++ b/os_ken/cmd/ofa_neutron_agent.py @@ -22,18 +22,18 @@ # IceHouse release. Juno and later releases do not use this. # TODO: Remove this module when IceHouse is EOL'ed. -from ryu.lib import hub +from os_ken.lib import hub hub.patch() -from ryu import cfg +from os_ken import cfg from neutron.common import config as logging_config -from ryu.base.app_manager import AppManager +from os_ken.base.app_manager import AppManager def main(): - cfg.CONF(project='ryu') + cfg.CONF(project='os_ken') logging_config.setup_logging(cfg.CONF) AppManager.run_apps(['neutron.plugins.ofagent.agent.ofa_neutron_agent']) diff --git a/ryu/cmd/rpc_cli.py b/os_ken/cmd/rpc_cli.py similarity index 99% rename from ryu/cmd/rpc_cli.py rename to os_ken/cmd/rpc_cli.py index 25b92fa5..f21c2fa1 100755 --- a/ryu/cmd/rpc_cli.py +++ b/os_ken/cmd/rpc_cli.py @@ -38,8 +38,8 @@ import socket import sys import termios -from ryu import cfg -from ryu.lib import rpc +from os_ken import cfg +from os_ken.lib import rpc CONF = cfg.CONF diff --git a/ryu/cmd/ryu_base.py b/os_ken/cmd/ryu_base.py similarity index 89% rename from ryu/cmd/ryu_base.py rename to os_ken/cmd/ryu_base.py index 4c1cd6f6..774d68c3 100644 --- a/ryu/cmd/ryu_base.py +++ b/os_ken/cmd/ryu_base.py @@ -18,15 +18,15 @@ import argparse import os.path import sys -from ryu import cfg -from ryu import utils -from ryu import version +from os_ken import cfg +from os_ken import utils +from os_ken import version subcommands = { - 'run': 'ryu.cmd.manager', - 'of-config-cli': 'ryu.cmd.of_config_cli', - 'rpc-cli': 'ryu.cmd.rpc_cli', + 'run': 'os_ken.cmd.manager', + 'of-config-cli': 'os_ken.cmd.of_config_cli', + 'rpc-cli': 'os_ken.cmd.rpc_cli', } @@ -59,7 +59,7 @@ class SubCommand(object): def main(): try: - base_conf(project='ryu', version='ryu %s' % version) + base_conf(project='os_ken', version='os_ken %s' % version) except cfg.RequiredOptError as e: base_conf.print_help() raise SystemExit(1) diff --git a/ryu/contrib/__init__.py b/os_ken/contrib/__init__.py similarity index 100% rename from ryu/contrib/__init__.py rename to os_ken/contrib/__init__.py diff --git a/ryu/controller/__init__.py b/os_ken/controller/__init__.py similarity index 100% rename from ryu/controller/__init__.py rename to os_ken/controller/__init__.py diff --git a/ryu/controller/conf_switch.py b/os_ken/controller/conf_switch.py similarity index 96% rename from ryu/controller/conf_switch.py rename to os_ken/controller/conf_switch.py index d714ac3d..af4f2ab2 100644 --- a/ryu/controller/conf_switch.py +++ b/os_ken/controller/conf_switch.py @@ -16,9 +16,9 @@ import logging -from ryu.controller import event -from ryu.lib.dpid import dpid_to_str -from ryu.base import app_manager +from os_ken.controller import event +from os_ken.lib.dpid import dpid_to_str +from os_ken.base import app_manager LOG = logging.getLogger(__name__) diff --git a/ryu/controller/controller.py b/os_ken/controller/controller.py similarity index 95% rename from ryu/controller/controller.py rename to os_ken/controller/controller.py index 62135339..f6e72800 100644 --- a/ryu/controller/controller.py +++ b/os_ken/controller/controller.py @@ -31,25 +31,25 @@ from socket import SHUT_WR from socket import timeout as SocketTimeout import ssl -from ryu import cfg -from ryu.lib import hub -from ryu.lib.hub import StreamServer +from os_ken import cfg +from os_ken.lib import hub +from os_ken.lib.hub import StreamServer -import ryu.base.app_manager +import os_ken.base.app_manager -from ryu.ofproto import ofproto_common -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import nx_match +from os_ken.ofproto import ofproto_common +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import nx_match -from ryu.controller import ofp_event -from ryu.controller.handler import HANDSHAKE_DISPATCHER, DEAD_DISPATCHER +from os_ken.controller import ofp_event +from os_ken.controller.handler import HANDSHAKE_DISPATCHER, DEAD_DISPATCHER -from ryu.lib.dpid import dpid_to_str -from ryu.lib import ip +from os_ken.lib.dpid import dpid_to_str +from os_ken.lib import ip -LOG = logging.getLogger('ryu.controller.controller') +LOG = logging.getLogger('os_ken.controller.controller') DEFAULT_OFP_HOST = '0.0.0.0' DEFAULT_OFP_SW_CON_INTERVAL = 1 @@ -216,19 +216,19 @@ class Datapath(ofproto_protocol.ProtocolDesc): ==================================== ====================================== id 64-bit OpenFlow Datapath ID. Only available for - ryu.controller.handler.MAIN_DISPATCHER + os_ken.controller.handler.MAIN_DISPATCHER phase. ofproto A module which exports OpenFlow definitions, mainly constants appeared in the specification, for the negotiated OpenFlow version. For - example, ryu.ofproto.ofproto_v1_0 for + example, os_ken.ofproto.ofproto_v1_0 for OpenFlow 1.0. ofproto_parser A module which exports OpenFlow wire message encoder and decoder for the negotiated OpenFlow version. For example, - ryu.ofproto.ofproto_v1_0_parser + os_ken.ofproto.ofproto_v1_0_parser for OpenFlow 1.0. ofproto_parser.OFPxxxx(datapath,...) A callable to prepare an OpenFlow message for the given switch. It can @@ -276,7 +276,7 @@ class Datapath(ofproto_protocol.ProtocolDesc): self.id = None # datapath_id is unknown yet self._ports = None self.flow_format = ofproto_v1_0.NXFF_OPENFLOW10 - self.ofp_brick = ryu.base.app_manager.lookup_service_brick('ofp_event') + self.ofp_brick = os_ken.base.app_manager.lookup_service_brick('ofp_event') self.state = None # for pylint self.set_state(HANDSHAKE_DISPATCHER) @@ -358,7 +358,7 @@ class Datapath(ofproto_protocol.ProtocolDesc): buf_len = len(buf) remaining_read_len = min_read_len - # We need to schedule other greenlets. Otherwise, ryu + # We need to schedule other greenlets. Otherwise, os_ken # can't accept new switches or handle the existing # switches. The limit is arbitrary. We need the better # approach in the future. diff --git a/ryu/controller/dpset.py b/os_ken/controller/dpset.py similarity index 88% rename from ryu/controller/dpset.py rename to os_ken/controller/dpset.py index 45ead0e0..f46a81a8 100644 --- a/ryu/controller/dpset.py +++ b/os_ken/controller/dpset.py @@ -17,22 +17,22 @@ """ Manage switches. -Planned to be replaced by ryu/topology. +Planned to be replaced by os_ken/topology. """ import logging import warnings -from ryu.base import app_manager -from ryu.controller import event -from ryu.controller import handler -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -import ryu.exception as ryu_exc +from os_ken.base import app_manager +from os_ken.controller import event +from os_ken.controller import handler +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +import os_ken.exception as os_ken_exc -from ryu.lib.dpid import dpid_to_str +from os_ken.lib.dpid import dpid_to_str -LOG = logging.getLogger('ryu.controller.dpset') +LOG = logging.getLogger('os_ken.controller.dpset') DPSET_EV_DISPATCHER = "dpset" @@ -48,13 +48,13 @@ class EventDP(EventDPBase): An event class to notify connect/disconnect of a switch. For OpenFlow switches, one can get the same notification by observing - ryu.controller.ofp_event.EventOFPStateChange. + os_ken.controller.ofp_event.EventOFPStateChange. An instance has at least the following attributes. ========= ================================================================= Attribute Description ========= ================================================================= - dp A ryu.controller.controller.Datapath instance of the switch + dp A os_ken.controller.controller.Datapath instance of the switch enter True when the switch connected to our controller. False for disconnect. ports A list of port instances. @@ -89,13 +89,13 @@ class EventPortAdd(EventPortBase): This event is generated when a new port is added to a switch. For OpenFlow switches, one can get the same notification by observing - ryu.controller.ofp_event.EventOFPPortStatus. + os_ken.controller.ofp_event.EventOFPPortStatus. An instance has at least the following attributes. ========= ================================================================= Attribute Description ========= ================================================================= - dp A ryu.controller.controller.Datapath instance of the switch + dp A os_ken.controller.controller.Datapath instance of the switch port port number ========= ================================================================= """ @@ -110,13 +110,13 @@ class EventPortDelete(EventPortBase): This event is generated when a port is removed from a switch. For OpenFlow switches, one can get the same notification by observing - ryu.controller.ofp_event.EventOFPPortStatus. + os_ken.controller.ofp_event.EventOFPPortStatus. An instance has at least the following attributes. ========= ================================================================= Attribute Description ========= ================================================================= - dp A ryu.controller.controller.Datapath instance of the switch + dp A os_ken.controller.controller.Datapath instance of the switch port port number ========= ================================================================= """ @@ -131,13 +131,13 @@ class EventPortModify(EventPortBase): This event is generated when some attribute of a port is changed. For OpenFlow switches, one can get the same notification by observing - ryu.controller.ofp_event.EventOFPPortStatus. + os_ken.controller.ofp_event.EventOFPPortStatus. An instance has at least the following attributes. ========= ==================================================================== Attribute Description ========= ==================================================================== - dp A ryu.controller.controller.Datapath instance of the switch + dp A os_ken.controller.controller.Datapath instance of the switch port port number ========= ==================================================================== """ @@ -169,7 +169,7 @@ class DPSet(app_manager.RyuApp): Usage Example:: # ...(snip)... - from ryu.controller import dpset + from os_ken.controller import dpset class MyApp(app_manager.RyuApp): @@ -252,7 +252,7 @@ class DPSet(app_manager.RyuApp): def get(self, dp_id): """ - This method returns the ryu.controller.controller.Datapath + This method returns the os_ken.controller.controller.Datapath instance for the given Datapath ID. """ return self.dps.get(dp_id) @@ -262,7 +262,7 @@ class DPSet(app_manager.RyuApp): This method returns a list of tuples which represents instances for switches connected to this controller. The tuple consists of a Datapath ID and an instance of - ryu.controller.controller.Datapath. + os_ken.controller.controller.Datapath. A return value looks like the following:: @@ -324,24 +324,24 @@ class DPSet(app_manager.RyuApp): def get_port(self, dpid, port_no): """ - This method returns the ryu.controller.dpset.PortState + This method returns the os_ken.controller.dpset.PortState instance for the given Datapath ID and the port number. - Raises ryu_exc.PortNotFound if no such a datapath connected to + Raises os_ken_exc.PortNotFound if no such a datapath connected to this controller or no such a port exists. """ try: return self.port_state[dpid][port_no] except KeyError: - raise ryu_exc.PortNotFound(dpid=dpid, port=port_no, + raise os_ken_exc.PortNotFound(dpid=dpid, port=port_no, network_id=None) def get_ports(self, dpid): """ - This method returns a list of ryu.controller.dpset.PortState + This method returns a list of os_ken.controller.dpset.PortState instances for the given Datapath ID. Raises KeyError if no such a datapath connected to this controller. """ return list(self.port_state[dpid].values()) -handler.register_service('ryu.controller.dpset') +handler.register_service('os_ken.controller.dpset') diff --git a/ryu/controller/event.py b/os_ken/controller/event.py similarity index 100% rename from ryu/controller/event.py rename to os_ken/controller/event.py diff --git a/ryu/controller/handler.py b/os_ken/controller/handler.py similarity index 92% rename from ryu/controller/handler.py rename to os_ken/controller/handler.py index cda27bcc..cfc9ed17 100644 --- a/ryu/controller/handler.py +++ b/os_ken/controller/handler.py @@ -18,7 +18,7 @@ import inspect import logging import sys -LOG = logging.getLogger('ryu.controller.handler') +LOG = logging.getLogger('os_ken.controller.handler') # just represent OF datapath state. datapath specific so should be moved. HANDSHAKE_DISPATCHER = "handshake" @@ -62,14 +62,14 @@ def set_ev_cls(ev_cls, dispatchers=None): =========================================== =============================== Negotiation phase Description =========================================== =============================== - ryu.controller.handler.HANDSHAKE_DISPATCHER Sending and waiting for hello + os_ken.controller.handler.HANDSHAKE_DISPATCHER Sending and waiting for hello message - ryu.controller.handler.CONFIG_DISPATCHER Version negotiated and sent + os_ken.controller.handler.CONFIG_DISPATCHER Version negotiated and sent features-request message - ryu.controller.handler.MAIN_DISPATCHER Switch-features message + os_ken.controller.handler.MAIN_DISPATCHER Switch-features message received and sent set-config message - ryu.controller.handler.DEAD_DISPATCHER Disconnect from the peer. Or + os_ken.controller.handler.DEAD_DISPATCHER Disconnect from the peer. Or disconnecting due to some unrecoverable errors. =========================================== =============================== @@ -138,7 +138,7 @@ def get_dependent_services(cls): def register_service(service): """ - Register the ryu application specified by 'service' as + Register the os_ken application specified by 'service' as a provider of events defined in the calling module. If an application being loaded consumes events (in the sense of diff --git a/ryu/controller/mac_to_network.py b/os_ken/controller/mac_to_network.py similarity index 92% rename from ryu/controller/mac_to_network.py rename to os_ken/controller/mac_to_network.py index 2cae912f..e21b7772 100644 --- a/ryu/controller/mac_to_network.py +++ b/os_ken/controller/mac_to_network.py @@ -16,10 +16,10 @@ import logging -from ryu.exception import MacAddressDuplicated -from ryu.lib.mac import haddr_to_str +from os_ken.exception import MacAddressDuplicated +from os_ken.lib.mac import haddr_to_str -LOG = logging.getLogger('ryu.controller.mac_to_network') +LOG = logging.getLogger('os_ken.controller.mac_to_network') class MacToNetwork(object): diff --git a/ryu/controller/mac_to_port.py b/os_ken/controller/mac_to_port.py similarity index 94% rename from ryu/controller/mac_to_port.py rename to os_ken/controller/mac_to_port.py index 98472a2f..b9ed6861 100644 --- a/ryu/controller/mac_to_port.py +++ b/os_ken/controller/mac_to_port.py @@ -15,9 +15,9 @@ # limitations under the License. import logging -from ryu.lib.mac import haddr_to_str +from os_ken.lib.mac import haddr_to_str -LOG = logging.getLogger('ryu.controller.mac_to_port') +LOG = logging.getLogger('os_ken.controller.mac_to_port') class MacToPortTable(object): diff --git a/ryu/controller/network.py b/os_ken/controller/network.py similarity index 98% rename from ryu/controller/network.py rename to os_ken/controller/network.py index 30efbc6a..fd4c6649 100644 --- a/ryu/controller/network.py +++ b/os_ken/controller/network.py @@ -16,17 +16,17 @@ import collections -from ryu.base import app_manager -import ryu.exception as ryu_exc -from ryu.controller import event -from ryu.exception import NetworkNotFound, NetworkAlreadyExist -from ryu.exception import PortAlreadyExist, PortNotFound, PortUnknown +from os_ken.base import app_manager +import os_ken.exception as os_ken_exc +from os_ken.controller import event +from os_ken.exception import NetworkNotFound, NetworkAlreadyExist +from os_ken.exception import PortAlreadyExist, PortNotFound, PortUnknown NW_ID_UNKNOWN = '__NW_ID_UNKNOWN__' -class MacAddressAlreadyExist(ryu_exc.RyuException): +class MacAddressAlreadyExist(os_ken_exc.RyuException): message = 'port (%(dpid)s, %(port)s) has already mac %(mac_address)s' diff --git a/ryu/controller/ofp_api.py b/os_ken/controller/ofp_api.py similarity index 87% rename from ryu/controller/ofp_api.py rename to os_ken/controller/ofp_api.py index 7a8f5f49..09e75b34 100644 --- a/ryu/controller/ofp_api.py +++ b/os_ken/controller/ofp_api.py @@ -14,14 +14,14 @@ # limitations under the License. """ -OpenFlow related APIs of ryu.controller module. +OpenFlow related APIs of os_ken.controller module. """ import netaddr -from ryu.base import app_manager -from ryu.lib import hub -from ryu.lib import ip +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.lib import ip from . import ofp_event @@ -33,7 +33,7 @@ def register_switch_address(addr, interval=None): Registers a new address to initiate connection to switch. Registers a new IP address and port pair of switch to let - ryu.controller.controller.OpenFlowController to try to initiate + os_ken.controller.controller.OpenFlowController to try to initiate connection to switch. :param addr: A tuple of (host, port) pair of switch. @@ -62,7 +62,7 @@ def unregister_switch_address(addr): Unregister the given switch address. Unregisters the given switch address to let - ryu.controller.controller.OpenFlowController stop trying to initiate + os_ken.controller.controller.OpenFlowController stop trying to initiate connection to switch. :param addr: A tuple of (host, port) pair of switch. diff --git a/ryu/controller/ofp_event.py b/os_ken/controller/ofp_event.py similarity index 92% rename from ryu/controller/ofp_event.py rename to os_ken/controller/ofp_event.py index f5c0c1cc..c83d1755 100644 --- a/ryu/controller/ofp_event.py +++ b/os_ken/controller/ofp_event.py @@ -21,8 +21,8 @@ OpenFlow event definitions. import inspect import time -from ryu.controller import handler -from ryu import ofproto +from os_ken.controller import handler +from os_ken import ofproto from . import event @@ -41,7 +41,7 @@ class EventOFPMsgBase(event.EventBase): Attribute Description ============ ============================================================== msg An object which describes the corresponding OpenFlow message. - msg.datapath A ryu.controller.controller.Datapath instance + msg.datapath A os_ken.controller.controller.Datapath instance which describes an OpenFlow switch from which we received this OpenFlow message. timestamp Timestamp when Datapath instance generated this event. @@ -116,7 +116,7 @@ class EventOFPStateChange(event.EventBase): ========= ================================================================= Attribute Description ========= ================================================================= - datapath ryu.controller.controller.Datapath instance of the switch + datapath os_ken.controller.controller.Datapath instance of the switch ========= ================================================================= """ @@ -136,7 +136,7 @@ class EventOFPPortStateChange(event.EventBase): ========= ================================================================= Attribute Description ========= ================================================================= - datapath ryu.controller.controller.Datapath instance of the switch + datapath os_ken.controller.controller.Datapath instance of the switch reason one of OFPPR_* port_no Port number which state was changed ========= ================================================================= @@ -149,4 +149,4 @@ class EventOFPPortStateChange(event.EventBase): self.port_no = port_no -handler.register_service('ryu.controller.ofp_handler') +handler.register_service('os_ken.controller.ofp_handler') diff --git a/ryu/controller/ofp_handler.py b/os_ken/controller/ofp_handler.py similarity index 97% rename from ryu/controller/ofp_handler.py rename to os_ken/controller/ofp_handler.py index 5c4d46de..207cc16a 100644 --- a/ryu/controller/ofp_handler.py +++ b/os_ken/controller/ofp_handler.py @@ -22,16 +22,16 @@ import itertools import logging import warnings -import ryu.base.app_manager +import os_ken.base.app_manager -from ryu.lib import hub -from ryu import utils -from ryu.controller import ofp_event -from ryu.controller.controller import OpenFlowController -from ryu.controller.handler import set_ev_handler -from ryu.controller.handler import HANDSHAKE_DISPATCHER, CONFIG_DISPATCHER,\ +from os_ken.lib import hub +from os_ken import utils +from os_ken.controller import ofp_event +from os_ken.controller.controller import OpenFlowController +from os_ken.controller.handler import set_ev_handler +from os_ken.controller.handler import HANDSHAKE_DISPATCHER, CONFIG_DISPATCHER,\ MAIN_DISPATCHER -from ryu.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_parser # The state transition: HANDSHAKE -> CONFIG -> MAIN @@ -48,7 +48,7 @@ from ryu.ofproto import ofproto_parser # back Echo Reply message. -class OFPHandler(ryu.base.app_manager.RyuApp): +class OFPHandler(os_ken.base.app_manager.RyuApp): def __init__(self, *args, **kwargs): super(OFPHandler, self).__init__(*args, **kwargs) self.name = ofp_event.NAME diff --git a/ryu/controller/tunnels.py b/os_ken/controller/tunnels.py similarity index 89% rename from ryu/controller/tunnels.py rename to os_ken/controller/tunnels.py index 83515530..9210a130 100644 --- a/ryu/controller/tunnels.py +++ b/os_ken/controller/tunnels.py @@ -17,21 +17,21 @@ import collections import logging -import ryu.exception as ryu_exc -from ryu.base import app_manager -from ryu.controller import event +import os_ken.exception as os_ken_exc +from os_ken.base import app_manager +from os_ken.controller import event -class RemoteDPIDAlreadyExist(ryu_exc.RyuException): +class RemoteDPIDAlreadyExist(os_ken_exc.RyuException): message = ('port (%(dpid)s, %(port)s) has already ' 'remote dpid %(remote_dpid)s') -class TunnelKeyAlreadyExist(ryu_exc.RyuException): +class TunnelKeyAlreadyExist(os_ken_exc.RyuException): message = 'tunnel key %(tunnel_key)s already exists' -class TunnelKeyNotFound(ryu_exc.RyuException): +class TunnelKeyNotFound(os_ken_exc.RyuException): message = 'no tunnel key for network %(network_id)s' @@ -126,7 +126,7 @@ class TunnelKeys(dict): def register_key(self, network_id, tunnel_key): if network_id in self: - raise ryu_exc.NetworkAlreadyExist(network_id=network_id) + raise os_ken_exc.NetworkAlreadyExist(network_id=network_id) if tunnel_key in self.values(): raise TunnelKeyAlreadyExist(tunnel_key=tunnel_key) self._set_key(network_id, tunnel_key) @@ -140,7 +140,7 @@ class TunnelKeys(dict): self._set_key(network_id, tunnel_key) return if key != tunnel_key: - raise ryu_exc.NetworkAlreadyExist(network_id=network_id) + raise os_ken_exc.NetworkAlreadyExist(network_id=network_id) def delete_key(self, network_id): try: @@ -148,7 +148,7 @@ class TunnelKeys(dict): self.send_event(EventTunnelKeyDel(network_id, tunnel_key)) del self[network_id] except KeyError: - raise ryu_exc.NetworkNotFound(network_id=network_id) + raise os_ken_exc.NetworkNotFound(network_id=network_id) class DPIDs(object): @@ -168,7 +168,7 @@ class DPIDs(object): def add_remote_dpid(self, dpid, port_no, remote_dpid): if port_no in self.dpids[dpid]: - raise ryu_exc.PortAlreadyExist(dpid=dpid, port=port_no, + raise os_ken_exc.PortAlreadyExist(dpid=dpid, port=port_no, network_id=None) self._add_remote_dpid(dpid, port_no, remote_dpid) @@ -177,14 +177,14 @@ class DPIDs(object): if remote_dpid_ is None: self._add_remote_dpid(dpid, port_no, remote_dpid) elif remote_dpid_ != remote_dpid: - raise ryu_exc.RemoteDPIDAlreadyExist(dpid=dpid, port=port_no, + raise os_ken_exc.RemoteDPIDAlreadyExist(dpid=dpid, port=port_no, remote_dpid=remote_dpid) def get_remote_dpid(self, dpid, port_no): try: return self.dpids[dpid][port_no] except KeyError: - raise ryu_exc.PortNotFound(dpid=dpid, port=port_no) + raise os_ken_exc.PortNotFound(dpid=dpid, port=port_no) def delete_port(self, dpid, port_no): try: @@ -192,19 +192,19 @@ class DPIDs(object): self.send_event(EventTunnelPort(dpid, port_no, remote_dpid, False)) del self.dpids[dpid][port_no] except KeyError: - raise ryu_exc.PortNotFound(dpid=dpid, port=port_no) + raise os_ken_exc.PortNotFound(dpid=dpid, port=port_no) def get_port(self, dpid, remote_dpid): try: dp = self.dpids[dpid] except KeyError: - raise ryu_exc.PortNotFound(dpid=dpid, port=None, network_id=None) + raise os_ken_exc.PortNotFound(dpid=dpid, port=None, network_id=None) res = [port_no for (port_no, remote_dpid_) in dp.items() if remote_dpid_ == remote_dpid] assert len(res) <= 1 if len(res) == 0: - raise ryu_exc.PortNotFound(dpid=dpid, port=None, network_id=None) + raise os_ken_exc.PortNotFound(dpid=dpid, port=None, network_id=None) return res[0] diff --git a/ryu/exception.py b/os_ken/exception.py similarity index 100% rename from ryu/exception.py rename to os_ken/exception.py diff --git a/ryu/flags.py b/os_ken/flags.py similarity index 98% rename from ryu/flags.py rename to os_ken/flags.py index 400df86f..ce454cac 100644 --- a/ryu/flags.py +++ b/os_ken/flags.py @@ -19,7 +19,7 @@ global flags from distutils.version import LooseVersion -from ryu import cfg +from os_ken import cfg CONF = cfg.CONF @@ -45,7 +45,7 @@ CONF.register_cli_opts([ cfg.IntOpt('tester_recv_port_2', default=3, help='tester sw receiving port 2 ' '(default: 3)'), - cfg.StrOpt('dir', default='ryu/tests/switch/of13', + cfg.StrOpt('dir', default='os_ken/tests/switch/of13', help='test files directory'), cfg.StrOpt('target-version', default='openflow13', help='target sw OFP version ' diff --git a/ryu/hooks.py b/os_ken/hooks.py similarity index 97% rename from ryu/hooks.py rename to os_ken/hooks.py index d7a2a8dd..234fd277 100644 --- a/ryu/hooks.py +++ b/os_ken/hooks.py @@ -18,7 +18,7 @@ import os import sys from setuptools.command import easy_install -from ryu import version +from os_ken import version # Global variables in this module doesn't work as we expect @@ -63,7 +63,7 @@ def setup_hook(config): orig_get_version = packaging.get_version def my_get_version(package_name, pre_version=None): - if package_name == 'ryu': + if package_name == 'os_ken': return str(version) return orig_get_version(package_name, pre_version) diff --git a/ryu/lib/__init__.py b/os_ken/lib/__init__.py similarity index 100% rename from ryu/lib/__init__.py rename to os_ken/lib/__init__.py diff --git a/ryu/lib/addrconv.py b/os_ken/lib/addrconv.py similarity index 100% rename from ryu/lib/addrconv.py rename to os_ken/lib/addrconv.py diff --git a/ryu/lib/alert.py b/os_ken/lib/alert.py similarity index 100% rename from ryu/lib/alert.py rename to os_ken/lib/alert.py diff --git a/ryu/lib/bfdlib.py b/os_ken/lib/bfdlib.py similarity index 97% rename from ryu/lib/bfdlib.py rename to os_ken/lib/bfdlib.py index 5417b61b..5b6993cc 100644 --- a/ryu/lib/bfdlib.py +++ b/os_ken/lib/bfdlib.py @@ -39,23 +39,23 @@ import random import six -from ryu.base import app_manager -from ryu.controller import event -from ryu.controller import ofp_event -from ryu.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.exception import RyuException -from ryu.ofproto.ether import ETH_TYPE_IP, ETH_TYPE_ARP -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import inet -from ryu.lib import hub -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import udp -from ryu.lib.packet import bfd -from ryu.lib.packet import arp -from ryu.lib.packet.arp import ARP_REQUEST, ARP_REPLY +from os_ken.base import app_manager +from os_ken.controller import event +from os_ken.controller import ofp_event +from os_ken.controller.handler import CONFIG_DISPATCHER, MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.exception import RyuException +from os_ken.ofproto.ether import ETH_TYPE_IP, ETH_TYPE_ARP +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import inet +from os_ken.lib import hub +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import udp +from os_ken.lib.packet import bfd +from os_ken.lib.packet import arp +from os_ken.lib.packet.arp import ARP_REQUEST, ARP_REPLY LOG = logging.getLogger(__name__) @@ -657,11 +657,11 @@ class BFDLib(app_manager.RyuApp): Example:: - from ryu.base import app_manager - from ryu.controller.handler import set_ev_cls - from ryu.ofproto import ofproto_v1_3 - from ryu.lib import bfdlib - from ryu.lib.packet import bfd + from os_ken.base import app_manager + from os_ken.controller.handler import set_ev_cls + from os_ken.ofproto import ofproto_v1_3 + from os_ken.lib import bfdlib + from os_ken.lib.packet import bfd class Foo(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION] diff --git a/ryu/lib/dpid.py b/os_ken/lib/dpid.py similarity index 100% rename from ryu/lib/dpid.py rename to os_ken/lib/dpid.py diff --git a/ryu/lib/hub.py b/os_ken/lib/hub.py similarity index 99% rename from ryu/lib/hub.py rename to os_ken/lib/hub.py index bd15fc89..8b0aa7ad 100644 --- a/ryu/lib/hub.py +++ b/os_ken/lib/hub.py @@ -16,7 +16,7 @@ import logging import os -from ryu.lib import ip +from os_ken.lib import ip # We don't bother to use cfg.py because monkey patch needs to be @@ -24,7 +24,7 @@ from ryu.lib import ip # select the type of hub. HUB_TYPE = os.getenv('RYU_HUB_TYPE', 'eventlet') -LOG = logging.getLogger('ryu.lib.hub') +LOG = logging.getLogger('os_ken.lib.hub') if HUB_TYPE == 'eventlet': import eventlet diff --git a/ryu/lib/igmplib.py b/os_ken/lib/igmplib.py similarity index 97% rename from ryu/lib/igmplib.py rename to os_ken/lib/igmplib.py index 000b3088..fa65ed0b 100644 --- a/ryu/lib/igmplib.py +++ b/os_ken/lib/igmplib.py @@ -16,24 +16,24 @@ import logging import struct -from ryu.base import app_manager -from ryu.controller import event -from ryu.controller import ofp_event -from ryu.controller.handler import DEAD_DISPATCHER -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.lib import addrconv -from ryu.lib import hub -from ryu.lib.dpid import dpid_to_str -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import igmp +from os_ken.base import app_manager +from os_ken.controller import event +from os_ken.controller import ofp_event +from os_ken.controller.handler import DEAD_DISPATCHER +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib import addrconv +from os_ken.lib import hub +from os_ken.lib.dpid import dpid_to_str +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import igmp class EventPacketIn(event.EventBase): diff --git a/ryu/lib/ip.py b/os_ken/lib/ip.py similarity index 98% rename from ryu/lib/ip.py rename to os_ken/lib/ip.py index c4094b9a..62144b14 100644 --- a/ryu/lib/ip.py +++ b/os_ken/lib/ip.py @@ -18,8 +18,8 @@ import struct import netaddr -from ryu.lib import addrconv -from ryu.lib import type_desc +from os_ken.lib import addrconv +from os_ken.lib import type_desc def _valid_ip(strategy, bits, addr, flags=0): diff --git a/ryu/lib/lacplib.py b/os_ken/lib/lacplib.py similarity index 95% rename from ryu/lib/lacplib.py rename to os_ken/lib/lacplib.py index 8280e431..7f3006b9 100644 --- a/ryu/lib/lacplib.py +++ b/os_ken/lib/lacplib.py @@ -15,20 +15,20 @@ import logging -from ryu.base import app_manager -from ryu.controller import event -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ether -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.lib import addrconv -from ryu.lib.dpid import dpid_to_str -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import slow +from os_ken.base import app_manager +from os_ken.controller import event +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ether +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.lib import addrconv +from os_ken.lib.dpid import dpid_to_str +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import slow class EventPacketIn(event.EventBase): diff --git a/ryu/lib/mac.py b/os_ken/lib/mac.py similarity index 98% rename from ryu/lib/mac.py rename to os_ken/lib/mac.py index 4ebac00a..e50a3b77 100644 --- a/ryu/lib/mac.py +++ b/os_ken/lib/mac.py @@ -16,7 +16,7 @@ import six -from ryu.lib import addrconv +from os_ken.lib import addrconv if six.PY3: _ord = int diff --git a/ryu/lib/mrtlib.py b/os_ken/lib/mrtlib.py similarity index 99% rename from ryu/lib/mrtlib.py rename to os_ken/lib/mrtlib.py index 83b4e536..08501a19 100644 --- a/ryu/lib/mrtlib.py +++ b/os_ken/lib/mrtlib.py @@ -26,12 +26,12 @@ import time import netaddr import six -from ryu.lib import addrconv -from ryu.lib import ip -from ryu.lib import stringify -from ryu.lib import type_desc -from ryu.lib.packet import bgp -from ryu.lib.packet import ospf +from os_ken.lib import addrconv +from os_ken.lib import ip +from os_ken.lib import stringify +from os_ken.lib import type_desc +from os_ken.lib.packet import bgp +from os_ken.lib.packet import ospf LOG = logging.getLogger(__name__) @@ -1128,7 +1128,7 @@ class Reader(object): Example of Usage:: import bz2 - from ryu.lib import mrtlib + from os_ken.lib import mrtlib count = 0 for record in mrtlib.Reader( @@ -1181,8 +1181,8 @@ class Writer(object): import bz2 import time - from ryu.lib import mrtlib - from ryu.lib.packet import bgp + from os_ken.lib import mrtlib + from os_ken.lib.packet import bgp mrt_writer = mrtlib.Writer( bz2.BZ2File('rib.YYYYMMDD.hhmm.bz2', 'wb')) diff --git a/ryu/lib/netconf/__init__.py b/os_ken/lib/netconf/__init__.py similarity index 100% rename from ryu/lib/netconf/__init__.py rename to os_ken/lib/netconf/__init__.py diff --git a/ryu/lib/netconf/constants.py b/os_ken/lib/netconf/constants.py similarity index 100% rename from ryu/lib/netconf/constants.py rename to os_ken/lib/netconf/constants.py diff --git a/ryu/lib/netconf/netconf.xsd b/os_ken/lib/netconf/netconf.xsd similarity index 100% rename from ryu/lib/netconf/netconf.xsd rename to os_ken/lib/netconf/netconf.xsd diff --git a/ryu/lib/netconf/xml.xsd b/os_ken/lib/netconf/xml.xsd similarity index 100% rename from ryu/lib/netconf/xml.xsd rename to os_ken/lib/netconf/xml.xsd diff --git a/ryu/lib/netdevice.py b/os_ken/lib/netdevice.py similarity index 100% rename from ryu/lib/netdevice.py rename to os_ken/lib/netdevice.py diff --git a/ryu/lib/of_config/__init__.py b/os_ken/lib/of_config/__init__.py similarity index 100% rename from ryu/lib/of_config/__init__.py rename to os_ken/lib/of_config/__init__.py diff --git a/ryu/lib/of_config/base.py b/os_ken/lib/of_config/base.py similarity index 100% rename from ryu/lib/of_config/base.py rename to os_ken/lib/of_config/base.py diff --git a/ryu/lib/of_config/capable_switch.py b/os_ken/lib/of_config/capable_switch.py similarity index 100% rename from ryu/lib/of_config/capable_switch.py rename to os_ken/lib/of_config/capable_switch.py diff --git a/ryu/lib/of_config/classes.py b/os_ken/lib/of_config/classes.py similarity index 100% rename from ryu/lib/of_config/classes.py rename to os_ken/lib/of_config/classes.py diff --git a/ryu/lib/of_config/constants.py b/os_ken/lib/of_config/constants.py similarity index 100% rename from ryu/lib/of_config/constants.py rename to os_ken/lib/of_config/constants.py diff --git a/ryu/lib/of_config/generated_classes.py b/os_ken/lib/of_config/generated_classes.py similarity index 100% rename from ryu/lib/of_config/generated_classes.py rename to os_ken/lib/of_config/generated_classes.py diff --git a/ryu/lib/of_config/ietf-inet-types.xsd b/os_ken/lib/of_config/ietf-inet-types.xsd similarity index 100% rename from ryu/lib/of_config/ietf-inet-types.xsd rename to os_ken/lib/of_config/ietf-inet-types.xsd diff --git a/ryu/lib/of_config/ietf-yang-types.xsd b/os_ken/lib/of_config/ietf-yang-types.xsd similarity index 100% rename from ryu/lib/of_config/ietf-yang-types.xsd rename to os_ken/lib/of_config/ietf-yang-types.xsd diff --git a/ryu/lib/of_config/of-config-1.0.xsd b/os_ken/lib/of_config/of-config-1.0.xsd similarity index 100% rename from ryu/lib/of_config/of-config-1.0.xsd rename to os_ken/lib/of_config/of-config-1.0.xsd diff --git a/ryu/lib/of_config/of-config-1.1.1.xsd b/os_ken/lib/of_config/of-config-1.1.1.xsd similarity index 100% rename from ryu/lib/of_config/of-config-1.1.1.xsd rename to os_ken/lib/of_config/of-config-1.1.1.xsd diff --git a/ryu/lib/of_config/of-config-1.1.xsd b/os_ken/lib/of_config/of-config-1.1.xsd similarity index 100% rename from ryu/lib/of_config/of-config-1.1.xsd rename to os_ken/lib/of_config/of-config-1.1.xsd diff --git a/ryu/lib/of_config/xmldsig-core-schema.xsd b/os_ken/lib/of_config/xmldsig-core-schema.xsd similarity index 100% rename from ryu/lib/of_config/xmldsig-core-schema.xsd rename to os_ken/lib/of_config/xmldsig-core-schema.xsd diff --git a/ryu/lib/ofctl_nicira_ext.py b/os_ken/lib/ofctl_nicira_ext.py similarity index 100% rename from ryu/lib/ofctl_nicira_ext.py rename to os_ken/lib/ofctl_nicira_ext.py diff --git a/ryu/lib/ofctl_string.py b/os_ken/lib/ofctl_string.py similarity index 100% rename from ryu/lib/ofctl_string.py rename to os_ken/lib/ofctl_string.py diff --git a/ryu/lib/ofctl_utils.py b/os_ken/lib/ofctl_utils.py similarity index 100% rename from ryu/lib/ofctl_utils.py rename to os_ken/lib/ofctl_utils.py diff --git a/ryu/lib/ofctl_v1_0.py b/os_ken/lib/ofctl_v1_0.py similarity index 100% rename from ryu/lib/ofctl_v1_0.py rename to os_ken/lib/ofctl_v1_0.py diff --git a/ryu/lib/ofctl_v1_2.py b/os_ken/lib/ofctl_v1_2.py similarity index 100% rename from ryu/lib/ofctl_v1_2.py rename to os_ken/lib/ofctl_v1_2.py diff --git a/ryu/lib/ofctl_v1_3.py b/os_ken/lib/ofctl_v1_3.py similarity index 100% rename from ryu/lib/ofctl_v1_3.py rename to os_ken/lib/ofctl_v1_3.py diff --git a/ryu/lib/ofctl_v1_4.py b/os_ken/lib/ofctl_v1_4.py similarity index 100% rename from ryu/lib/ofctl_v1_4.py rename to os_ken/lib/ofctl_v1_4.py diff --git a/ryu/lib/ofctl_v1_5.py b/os_ken/lib/ofctl_v1_5.py similarity index 100% rename from ryu/lib/ofctl_v1_5.py rename to os_ken/lib/ofctl_v1_5.py diff --git a/ryu/lib/ofp_pktinfilter.py b/os_ken/lib/ofp_pktinfilter.py similarity index 100% rename from ryu/lib/ofp_pktinfilter.py rename to os_ken/lib/ofp_pktinfilter.py diff --git a/ryu/lib/ovs/__init__.py b/os_ken/lib/ovs/__init__.py similarity index 100% rename from ryu/lib/ovs/__init__.py rename to os_ken/lib/ovs/__init__.py diff --git a/ryu/lib/ovs/bridge.py b/os_ken/lib/ovs/bridge.py similarity index 100% rename from ryu/lib/ovs/bridge.py rename to os_ken/lib/ovs/bridge.py diff --git a/ryu/lib/ovs/db_client.py b/os_ken/lib/ovs/db_client.py similarity index 100% rename from ryu/lib/ovs/db_client.py rename to os_ken/lib/ovs/db_client.py diff --git a/ryu/lib/ovs/vsctl.py b/os_ken/lib/ovs/vsctl.py similarity index 100% rename from ryu/lib/ovs/vsctl.py rename to os_ken/lib/ovs/vsctl.py diff --git a/ryu/lib/ovs/vswitch_idl.py b/os_ken/lib/ovs/vswitch_idl.py similarity index 100% rename from ryu/lib/ovs/vswitch_idl.py rename to os_ken/lib/ovs/vswitch_idl.py diff --git a/ryu/lib/pack_utils.py b/os_ken/lib/pack_utils.py similarity index 100% rename from ryu/lib/pack_utils.py rename to os_ken/lib/pack_utils.py diff --git a/ryu/lib/packet/__init__.py b/os_ken/lib/packet/__init__.py similarity index 100% rename from ryu/lib/packet/__init__.py rename to os_ken/lib/packet/__init__.py diff --git a/ryu/lib/packet/afi.py b/os_ken/lib/packet/afi.py similarity index 100% rename from ryu/lib/packet/afi.py rename to os_ken/lib/packet/afi.py diff --git a/ryu/lib/packet/arp.py b/os_ken/lib/packet/arp.py similarity index 100% rename from ryu/lib/packet/arp.py rename to os_ken/lib/packet/arp.py diff --git a/ryu/lib/packet/bfd.py b/os_ken/lib/packet/bfd.py similarity index 100% rename from ryu/lib/packet/bfd.py rename to os_ken/lib/packet/bfd.py diff --git a/ryu/lib/packet/bgp.py b/os_ken/lib/packet/bgp.py similarity index 100% rename from ryu/lib/packet/bgp.py rename to os_ken/lib/packet/bgp.py diff --git a/ryu/lib/packet/bmp.py b/os_ken/lib/packet/bmp.py similarity index 100% rename from ryu/lib/packet/bmp.py rename to os_ken/lib/packet/bmp.py diff --git a/ryu/lib/packet/bpdu.py b/os_ken/lib/packet/bpdu.py similarity index 100% rename from ryu/lib/packet/bpdu.py rename to os_ken/lib/packet/bpdu.py diff --git a/ryu/lib/packet/cfm.py b/os_ken/lib/packet/cfm.py similarity index 100% rename from ryu/lib/packet/cfm.py rename to os_ken/lib/packet/cfm.py diff --git a/ryu/lib/packet/dhcp.py b/os_ken/lib/packet/dhcp.py similarity index 100% rename from ryu/lib/packet/dhcp.py rename to os_ken/lib/packet/dhcp.py diff --git a/ryu/lib/packet/dhcp6.py b/os_ken/lib/packet/dhcp6.py similarity index 100% rename from ryu/lib/packet/dhcp6.py rename to os_ken/lib/packet/dhcp6.py diff --git a/ryu/lib/packet/ether_types.py b/os_ken/lib/packet/ether_types.py similarity index 100% rename from ryu/lib/packet/ether_types.py rename to os_ken/lib/packet/ether_types.py diff --git a/ryu/lib/packet/ethernet.py b/os_ken/lib/packet/ethernet.py similarity index 100% rename from ryu/lib/packet/ethernet.py rename to os_ken/lib/packet/ethernet.py diff --git a/ryu/lib/packet/geneve.py b/os_ken/lib/packet/geneve.py similarity index 100% rename from ryu/lib/packet/geneve.py rename to os_ken/lib/packet/geneve.py diff --git a/ryu/lib/packet/gre.py b/os_ken/lib/packet/gre.py similarity index 100% rename from ryu/lib/packet/gre.py rename to os_ken/lib/packet/gre.py diff --git a/ryu/lib/packet/icmp.py b/os_ken/lib/packet/icmp.py similarity index 100% rename from ryu/lib/packet/icmp.py rename to os_ken/lib/packet/icmp.py diff --git a/ryu/lib/packet/icmpv6.py b/os_ken/lib/packet/icmpv6.py similarity index 100% rename from ryu/lib/packet/icmpv6.py rename to os_ken/lib/packet/icmpv6.py diff --git a/ryu/lib/packet/igmp.py b/os_ken/lib/packet/igmp.py similarity index 100% rename from ryu/lib/packet/igmp.py rename to os_ken/lib/packet/igmp.py diff --git a/ryu/lib/packet/in_proto.py b/os_ken/lib/packet/in_proto.py similarity index 100% rename from ryu/lib/packet/in_proto.py rename to os_ken/lib/packet/in_proto.py diff --git a/ryu/lib/packet/ipv4.py b/os_ken/lib/packet/ipv4.py similarity index 100% rename from ryu/lib/packet/ipv4.py rename to os_ken/lib/packet/ipv4.py diff --git a/ryu/lib/packet/ipv6.py b/os_ken/lib/packet/ipv6.py similarity index 100% rename from ryu/lib/packet/ipv6.py rename to os_ken/lib/packet/ipv6.py diff --git a/ryu/lib/packet/linux.py b/os_ken/lib/packet/linux.py similarity index 100% rename from ryu/lib/packet/linux.py rename to os_ken/lib/packet/linux.py diff --git a/ryu/lib/packet/llc.py b/os_ken/lib/packet/llc.py similarity index 100% rename from ryu/lib/packet/llc.py rename to os_ken/lib/packet/llc.py diff --git a/ryu/lib/packet/lldp.py b/os_ken/lib/packet/lldp.py similarity index 100% rename from ryu/lib/packet/lldp.py rename to os_ken/lib/packet/lldp.py diff --git a/ryu/lib/packet/mpls.py b/os_ken/lib/packet/mpls.py similarity index 100% rename from ryu/lib/packet/mpls.py rename to os_ken/lib/packet/mpls.py diff --git a/ryu/lib/packet/openflow.py b/os_ken/lib/packet/openflow.py similarity index 100% rename from ryu/lib/packet/openflow.py rename to os_ken/lib/packet/openflow.py diff --git a/ryu/lib/packet/ospf.py b/os_ken/lib/packet/ospf.py similarity index 100% rename from ryu/lib/packet/ospf.py rename to os_ken/lib/packet/ospf.py diff --git a/ryu/lib/packet/packet.py b/os_ken/lib/packet/packet.py similarity index 100% rename from ryu/lib/packet/packet.py rename to os_ken/lib/packet/packet.py diff --git a/ryu/lib/packet/packet_base.py b/os_ken/lib/packet/packet_base.py similarity index 100% rename from ryu/lib/packet/packet_base.py rename to os_ken/lib/packet/packet_base.py diff --git a/ryu/lib/packet/packet_utils.py b/os_ken/lib/packet/packet_utils.py similarity index 100% rename from ryu/lib/packet/packet_utils.py rename to os_ken/lib/packet/packet_utils.py diff --git a/ryu/lib/packet/pbb.py b/os_ken/lib/packet/pbb.py similarity index 100% rename from ryu/lib/packet/pbb.py rename to os_ken/lib/packet/pbb.py diff --git a/ryu/lib/packet/safi.py b/os_ken/lib/packet/safi.py similarity index 100% rename from ryu/lib/packet/safi.py rename to os_ken/lib/packet/safi.py diff --git a/ryu/lib/packet/sctp.py b/os_ken/lib/packet/sctp.py similarity index 100% rename from ryu/lib/packet/sctp.py rename to os_ken/lib/packet/sctp.py diff --git a/ryu/lib/packet/slow.py b/os_ken/lib/packet/slow.py similarity index 100% rename from ryu/lib/packet/slow.py rename to os_ken/lib/packet/slow.py diff --git a/ryu/lib/packet/stream_parser.py b/os_ken/lib/packet/stream_parser.py similarity index 100% rename from ryu/lib/packet/stream_parser.py rename to os_ken/lib/packet/stream_parser.py diff --git a/ryu/lib/packet/tcp.py b/os_ken/lib/packet/tcp.py similarity index 100% rename from ryu/lib/packet/tcp.py rename to os_ken/lib/packet/tcp.py diff --git a/ryu/lib/packet/udp.py b/os_ken/lib/packet/udp.py similarity index 100% rename from ryu/lib/packet/udp.py rename to os_ken/lib/packet/udp.py diff --git a/ryu/lib/packet/vlan.py b/os_ken/lib/packet/vlan.py similarity index 100% rename from ryu/lib/packet/vlan.py rename to os_ken/lib/packet/vlan.py diff --git a/ryu/lib/packet/vrrp.py b/os_ken/lib/packet/vrrp.py similarity index 100% rename from ryu/lib/packet/vrrp.py rename to os_ken/lib/packet/vrrp.py diff --git a/ryu/lib/packet/vxlan.py b/os_ken/lib/packet/vxlan.py similarity index 100% rename from ryu/lib/packet/vxlan.py rename to os_ken/lib/packet/vxlan.py diff --git a/ryu/lib/packet/zebra.py b/os_ken/lib/packet/zebra.py similarity index 100% rename from ryu/lib/packet/zebra.py rename to os_ken/lib/packet/zebra.py diff --git a/ryu/lib/pcaplib.py b/os_ken/lib/pcaplib.py similarity index 100% rename from ryu/lib/pcaplib.py rename to os_ken/lib/pcaplib.py diff --git a/ryu/lib/port_no.py b/os_ken/lib/port_no.py similarity index 100% rename from ryu/lib/port_no.py rename to os_ken/lib/port_no.py diff --git a/ryu/lib/rpc.py b/os_ken/lib/rpc.py similarity index 100% rename from ryu/lib/rpc.py rename to os_ken/lib/rpc.py diff --git a/ryu/lib/snortlib.py b/os_ken/lib/snortlib.py similarity index 100% rename from ryu/lib/snortlib.py rename to os_ken/lib/snortlib.py diff --git a/ryu/lib/sockaddr.py b/os_ken/lib/sockaddr.py similarity index 100% rename from ryu/lib/sockaddr.py rename to os_ken/lib/sockaddr.py diff --git a/ryu/lib/sockopt.py b/os_ken/lib/sockopt.py similarity index 100% rename from ryu/lib/sockopt.py rename to os_ken/lib/sockopt.py diff --git a/ryu/lib/stplib.py b/os_ken/lib/stplib.py similarity index 100% rename from ryu/lib/stplib.py rename to os_ken/lib/stplib.py diff --git a/ryu/lib/stringify.py b/os_ken/lib/stringify.py similarity index 100% rename from ryu/lib/stringify.py rename to os_ken/lib/stringify.py diff --git a/ryu/lib/type_desc.py b/os_ken/lib/type_desc.py similarity index 100% rename from ryu/lib/type_desc.py rename to os_ken/lib/type_desc.py diff --git a/ryu/lib/xflow/__init__.py b/os_ken/lib/xflow/__init__.py similarity index 100% rename from ryu/lib/xflow/__init__.py rename to os_ken/lib/xflow/__init__.py diff --git a/ryu/lib/xflow/netflow.py b/os_ken/lib/xflow/netflow.py similarity index 100% rename from ryu/lib/xflow/netflow.py rename to os_ken/lib/xflow/netflow.py diff --git a/ryu/lib/xflow/sflow.py b/os_ken/lib/xflow/sflow.py similarity index 100% rename from ryu/lib/xflow/sflow.py rename to os_ken/lib/xflow/sflow.py diff --git a/ryu/log.py b/os_ken/log.py similarity index 99% rename from ryu/log.py rename to os_ken/log.py index d6abf5a9..e3a9bb3d 100644 --- a/ryu/log.py +++ b/os_ken/log.py @@ -15,7 +15,7 @@ # limitations under the License. from __future__ import print_function -from ryu import cfg +from os_ken import cfg import inspect import platform import logging diff --git a/ryu/ofproto/__init__.py b/os_ken/ofproto/__init__.py similarity index 96% rename from ryu/ofproto/__init__.py rename to os_ken/ofproto/__init__.py index ee148033..6cca9611 100644 --- a/ryu/ofproto/__init__.py +++ b/os_ken/ofproto/__init__.py @@ -18,7 +18,7 @@ import glob import inspect import os.path -from ryu.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_protocol def get_ofp_modules(): diff --git a/os_ken/ofproto/ether.py b/os_ken/ofproto/ether.py new file mode 100644 index 00000000..80607d36 --- /dev/null +++ b/os_ken/ofproto/ether.py @@ -0,0 +1,3 @@ +# This module is for backward compat + +from os_ken.lib.packet.ether_types import * diff --git a/os_ken/ofproto/inet.py b/os_ken/ofproto/inet.py new file mode 100644 index 00000000..20dfffa2 --- /dev/null +++ b/os_ken/ofproto/inet.py @@ -0,0 +1,3 @@ +# This module is for backward compat + +from os_ken.lib.packet.in_proto import * diff --git a/ryu/ofproto/nicira_ext.py b/os_ken/ofproto/nicira_ext.py similarity index 99% rename from ryu/ofproto/nicira_ext.py rename to os_ken/ofproto/nicira_ext.py index 9ac673a3..63875120 100644 --- a/ryu/ofproto/nicira_ext.py +++ b/os_ken/ofproto/nicira_ext.py @@ -19,9 +19,9 @@ import sys from struct import calcsize -from ryu.lib import type_desc -from ryu.ofproto.ofproto_common import OFP_HEADER_SIZE -from ryu.ofproto import oxm_fields +from os_ken.lib import type_desc +from os_ken.ofproto.ofproto_common import OFP_HEADER_SIZE +from os_ken.ofproto import oxm_fields # Action subtypes NXAST_RESUBMIT = 1 diff --git a/ryu/ofproto/nx_actions.py b/os_ken/ofproto/nx_actions.py similarity index 99% rename from ryu/ofproto/nx_actions.py rename to os_ken/ofproto/nx_actions.py index 7f543471..5984a929 100644 --- a/ryu/ofproto/nx_actions.py +++ b/os_ken/ofproto/nx_actions.py @@ -18,12 +18,12 @@ import six import struct -from ryu import utils -from ryu.lib import type_desc -from ryu.ofproto import nicira_ext -from ryu.ofproto import ofproto_common -from ryu.lib.pack_utils import msg_pack_into -from ryu.ofproto.ofproto_parser import StringifyMixin +from os_ken import utils +from os_ken.lib import type_desc +from os_ken.ofproto import nicira_ext +from os_ken.ofproto import ofproto_common +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.ofproto.ofproto_parser import StringifyMixin def generate(ofp_name, ofpp_name): diff --git a/ryu/ofproto/nx_match.py b/os_ken/ofproto/nx_match.py similarity index 99% rename from ryu/ofproto/nx_match.py rename to os_ken/ofproto/nx_match.py index 6d886853..e2dc5296 100644 --- a/ryu/ofproto/nx_match.py +++ b/os_ken/ofproto/nx_match.py @@ -17,17 +17,17 @@ import struct -from ryu import exception -from ryu.lib import mac -from ryu.lib.pack_utils import msg_pack_into -from ryu.ofproto import ether -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import inet +from os_ken import exception +from os_ken.lib import mac +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.ofproto import ether +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import inet import logging -LOG = logging.getLogger('ryu.ofproto.nx_match') +LOG = logging.getLogger('os_ken.ofproto.nx_match') UINT64_MAX = (1 << 64) - 1 diff --git a/ryu/ofproto/ofproto_common.py b/os_ken/ofproto/ofproto_common.py similarity index 100% rename from ryu/ofproto/ofproto_common.py rename to os_ken/ofproto/ofproto_common.py diff --git a/ryu/ofproto/ofproto_parser.py b/os_ken/ofproto/ofproto_parser.py similarity index 95% rename from ryu/ofproto/ofproto_parser.py rename to os_ken/ofproto/ofproto_parser.py index e2300558..1403b2c2 100644 --- a/ryu/ofproto/ofproto_parser.py +++ b/os_ken/ofproto/ofproto_parser.py @@ -22,13 +22,13 @@ import logging import struct import functools -from ryu import exception -from ryu import utils -from ryu.lib import stringify +from os_ken import exception +from os_ken import utils +from os_ken.lib import stringify -from ryu.ofproto import ofproto_common +from os_ken.ofproto import ofproto_common -LOG = logging.getLogger('ryu.ofproto.ofproto_parser') +LOG = logging.getLogger('os_ken.ofproto.ofproto_parser') # This is merely for API compatibility on python2 if six.PY3: @@ -113,7 +113,7 @@ def ofp_msg_from_jsondict(dp, jsondict): ======== ======================================= Argument Description ======== ======================================= - dp An instance of ryu.controller.Datapath. + dp An instance of os_ken.controller.Datapath. jsondict A JSON style dict. ======== ======================================= """ @@ -128,7 +128,7 @@ def ofp_msg_from_jsondict(dp, jsondict): def ofp_instruction_from_jsondict(dp, jsonlist, encap=True): """ This function is intended to be used with - ryu.lib.ofctl_string.ofp_instruction_from_str. + os_ken.lib.ofctl_string.ofp_instruction_from_str. It is very similar to ofp_msg_from_jsondict, but works on a list of OFPInstructions/OFPActions. It also encapsulates OFPAction into OFPInstructionActions, as >OF1.0 OFPFlowMod @@ -139,7 +139,7 @@ def ofp_instruction_from_jsondict(dp, jsonlist, encap=True): ======== ================================================== Argument Description ======== ================================================== - dp An instance of ryu.controller.Datapath. + dp An instance of os_ken.controller.Datapath. jsonlist A list of JSON style dictionaries. encap Encapsulate OFPAction into OFPInstructionActions. Must be false for OF10. @@ -193,7 +193,7 @@ class MsgBase(StringifyMixin): ========= ============================== Attribute Description ========= ============================== - datapath A ryu.controller.controller.Datapath instance for this message + datapath A os_ken.controller.controller.Datapath instance for this message version OpenFlow protocol version msg_type Type of OpenFlow message msg_len Length of the message diff --git a/ryu/ofproto/ofproto_protocol.py b/os_ken/ofproto/ofproto_protocol.py similarity index 80% rename from ryu/ofproto/ofproto_protocol.py rename to os_ken/ofproto/ofproto_protocol.py index 280e7a1b..7d9a3606 100644 --- a/ryu/ofproto/ofproto_protocol.py +++ b/os_ken/ofproto/ofproto_protocol.py @@ -14,16 +14,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_0_parser -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_4_parser -from ryu.ofproto import ofproto_v1_5 -from ryu.ofproto import ofproto_v1_5_parser +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_0_parser +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_4_parser +from os_ken.ofproto import ofproto_v1_5 +from os_ken.ofproto import ofproto_v1_5_parser _versions = { diff --git a/ryu/ofproto/ofproto_utils.py b/os_ken/ofproto/ofproto_utils.py similarity index 95% rename from ryu/ofproto/ofproto_utils.py rename to os_ken/ofproto/ofproto_utils.py index 939a2ffb..8a37b639 100644 --- a/ryu/ofproto/ofproto_utils.py +++ b/os_ken/ofproto/ofproto_utils.py @@ -46,7 +46,7 @@ def _get_value_name(mod, value, pattern): def _msg_type_to_str(mod, type_): """ This method is registered as ofp_msg_type_to_str(type_) method - into ryu.ofproto.ofproto_v1_* modules. + into os_ken.ofproto.ofproto_v1_* modules. And this method returns the message type as a string value for given 'type' defined in ofp_type enum. @@ -61,7 +61,7 @@ def _msg_type_to_str(mod, type_): def _error_type_to_str(mod, type_): """ This method is registered as ofp_error_type_to_str(type_) method - into ryu.ofproto.ofproto_v1_* modules. + into os_ken.ofproto.ofproto_v1_* modules. And this method returns the error type as a string value for given 'type' defined in ofp_error_msg structure. @@ -93,7 +93,7 @@ def _get_error_names(mod, type_, code): def _error_code_to_str(mod, type_, code): """ This method is registered as ofp_error_code_to_str(type_, code) method - into ryu.ofproto.ofproto_v1_* modules. + into os_ken.ofproto.ofproto_v1_* modules. And this method returns the error code as a string value for given 'type' and 'code' defined in ofp_error_msg structure. @@ -109,7 +109,7 @@ def _error_code_to_str(mod, type_, code): def _error_to_jsondict(mod, type_, code): """ This method is registered as ofp_error_to_jsondict(type_, code) method - into ryu.ofproto.ofproto_v1_* modules. + into os_ken.ofproto.ofproto_v1_* modules. And this method returns ofp_error_msg as a json format for given 'type' and 'code' defined in ofp_error_msg structure. diff --git a/ryu/ofproto/ofproto_v1_0.py b/os_ken/ofproto/ofproto_v1_0.py similarity index 99% rename from ryu/ofproto/ofproto_v1_0.py rename to os_ken/ofproto/ofproto_v1_0.py index 52d1b746..b1c9eeed 100644 --- a/ryu/ofproto/ofproto_v1_0.py +++ b/os_ken/ofproto/ofproto_v1_0.py @@ -18,8 +18,8 @@ OpenFlow 1.0 definitions. """ -from ryu.ofproto import ofproto_utils -from ryu.ofproto.nicira_ext import * # For API compat +from os_ken.ofproto import ofproto_utils +from os_ken.ofproto.nicira_ext import * # For API compat MAX_XID = 0xffffffff diff --git a/ryu/ofproto/ofproto_v1_0_parser.py b/os_ken/ofproto/ofproto_v1_0_parser.py similarity index 99% rename from ryu/ofproto/ofproto_v1_0_parser.py rename to os_ken/ofproto/ofproto_v1_0_parser.py index a288964a..6f5236af 100644 --- a/ryu/ofproto/ofproto_v1_0_parser.py +++ b/os_ken/ofproto/ofproto_v1_0_parser.py @@ -24,21 +24,21 @@ import base64 import six import netaddr -from ryu.ofproto.ofproto_parser import StringifyMixin, MsgBase -from ryu.lib import addrconv -from ryu.lib import ip -from ryu.lib import mac -from ryu.lib.packet import packet -from ryu.lib.pack_utils import msg_pack_into -from ryu.ofproto import nx_match -from ryu.ofproto import ofproto_common -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_v1_0 as ofproto -from ryu.ofproto import nx_actions -from ryu import utils +from os_ken.ofproto.ofproto_parser import StringifyMixin, MsgBase +from os_ken.lib import addrconv +from os_ken.lib import ip +from os_ken.lib import mac +from os_ken.lib.packet import packet +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.ofproto import nx_match +from os_ken.ofproto import ofproto_common +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_v1_0 as ofproto +from os_ken.ofproto import nx_actions +from os_ken import utils import logging -LOG = logging.getLogger('ryu.ofproto.ofproto_v1_0_parser') +LOG = logging.getLogger('os_ken.ofproto.ofproto_v1_0_parser') _MSG_PARSERS = {} @@ -1229,7 +1229,7 @@ class OFPErrorMsg(MsgBase): ``type`` attribute corresponds to ``type_`` parameter of __init__. - Types and codes are defined in ``ryu.ofproto.ofproto``. + Types and codes are defined in ``os_ken.ofproto.ofproto``. =========================== =========== Type Code @@ -3299,6 +3299,6 @@ class NXAggregateStatsRequest(NXStatsRequest): nx_actions.generate( - 'ryu.ofproto.ofproto_v1_0', - 'ryu.ofproto.ofproto_v1_0_parser' + 'os_ken.ofproto.ofproto_v1_0', + 'os_ken.ofproto.ofproto_v1_0_parser' ) diff --git a/ryu/ofproto/ofproto_v1_2.py b/os_ken/ofproto/ofproto_v1_2.py similarity index 99% rename from ryu/ofproto/ofproto_v1_2.py rename to os_ken/ofproto/ofproto_v1_2.py index 1c8a971d..74b5f204 100644 --- a/ryu/ofproto/ofproto_v1_2.py +++ b/os_ken/ofproto/ofproto_v1_2.py @@ -18,10 +18,10 @@ OpenFlow 1.2 definitions. """ -from ryu.lib import type_desc -from ryu.ofproto import nicira_ext -from ryu.ofproto import ofproto_utils -from ryu.ofproto import oxm_fields +from os_ken.lib import type_desc +from os_ken.ofproto import nicira_ext +from os_ken.ofproto import ofproto_utils +from os_ken.ofproto import oxm_fields from struct import calcsize diff --git a/ryu/ofproto/ofproto_v1_2_parser.py b/os_ken/ofproto/ofproto_v1_2_parser.py similarity index 99% rename from ryu/ofproto/ofproto_v1_2_parser.py rename to os_ken/ofproto/ofproto_v1_2_parser.py index 244126c3..7524ca59 100644 --- a/ryu/ofproto/ofproto_v1_2_parser.py +++ b/os_ken/ofproto/ofproto_v1_2_parser.py @@ -23,18 +23,18 @@ import base64 import six -from ryu.lib import addrconv -from ryu.lib import mac -from ryu.lib.pack_utils import msg_pack_into -from ryu.lib.packet import packet -from ryu import utils -from ryu.ofproto.ofproto_parser import StringifyMixin, MsgBase -from ryu.ofproto import ether -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_v1_2 as ofproto +from os_ken.lib import addrconv +from os_ken.lib import mac +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.lib.packet import packet +from os_ken import utils +from os_ken.ofproto.ofproto_parser import StringifyMixin, MsgBase +from os_ken.ofproto import ether +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_v1_2 as ofproto import logging -LOG = logging.getLogger('ryu.ofproto.ofproto_v1_2_parser') +LOG = logging.getLogger('os_ken.ofproto.ofproto_v1_2_parser') _MSG_PARSERS = {} @@ -95,7 +95,7 @@ class OFPErrorMsg(MsgBase): ``type`` attribute corresponds to ``type_`` parameter of __init__. - Types and codes are defined in ``ryu.ofproto.ofproto``. + Types and codes are defined in ``os_ken.ofproto.ofproto``. ============================= =========== Type Code @@ -1715,7 +1715,7 @@ class OFPActionExperimenter(OFPAction): .. Note:: For the list of the supported Nicira experimenter actions, - please refer to :ref:`ryu.ofproto.nx_actions `. + please refer to :ref:`os_ken.ofproto.nx_actions `. """ def __init__(self, experimenter, type_=None, len_=None): @@ -3477,7 +3477,7 @@ class OFPMatch(StringifyMixin): .. Note:: For the list of the supported Nicira experimenter matches, - please refer to :ref:`ryu.ofproto.nx_match `. + please refer to :ref:`os_ken.ofproto.nx_match `. .. Note:: diff --git a/ryu/ofproto/ofproto_v1_3.py b/os_ken/ofproto/ofproto_v1_3.py similarity index 99% rename from ryu/ofproto/ofproto_v1_3.py rename to os_ken/ofproto/ofproto_v1_3.py index d599c1cb..03252be0 100644 --- a/ryu/ofproto/ofproto_v1_3.py +++ b/os_ken/ofproto/ofproto_v1_3.py @@ -18,10 +18,10 @@ OpenFlow 1.3 definitions. """ -from ryu.lib import type_desc -from ryu.ofproto import nicira_ext -from ryu.ofproto import ofproto_utils -from ryu.ofproto import oxm_fields +from os_ken.lib import type_desc +from os_ken.ofproto import nicira_ext +from os_ken.ofproto import ofproto_utils +from os_ken.ofproto import oxm_fields from struct import calcsize diff --git a/ryu/ofproto/ofproto_v1_3_parser.py b/os_ken/ofproto/ofproto_v1_3_parser.py similarity index 99% rename from ryu/ofproto/ofproto_v1_3_parser.py rename to os_ken/ofproto/ofproto_v1_3_parser.py index 0324c82b..58167e1e 100644 --- a/ryu/ofproto/ofproto_v1_3_parser.py +++ b/os_ken/ofproto/ofproto_v1_3_parser.py @@ -45,21 +45,21 @@ import base64 import six -from ryu.lib import addrconv -from ryu.lib import mac -from ryu.lib.pack_utils import msg_pack_into -from ryu.lib.packet import packet -from ryu import exception -from ryu import utils -from ryu.ofproto.ofproto_parser import StringifyMixin, MsgBase -from ryu.ofproto import ether -from ryu.ofproto import nx_actions -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_common -from ryu.ofproto import ofproto_v1_3 as ofproto +from os_ken.lib import addrconv +from os_ken.lib import mac +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.lib.packet import packet +from os_ken import exception +from os_ken import utils +from os_ken.ofproto.ofproto_parser import StringifyMixin, MsgBase +from os_ken.ofproto import ether +from os_ken.ofproto import nx_actions +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_common +from os_ken.ofproto import ofproto_v1_3 as ofproto import logging -LOG = logging.getLogger('ryu.ofproto.ofproto_v1_3_parser') +LOG = logging.getLogger('os_ken.ofproto.ofproto_v1_3_parser') _MSG_PARSERS = {} @@ -203,7 +203,7 @@ class OFPErrorMsg(MsgBase): ``type`` attribute corresponds to ``type_`` parameter of __init__. - Types and codes are defined in ``ryu.ofproto.ofproto``. + Types and codes are defined in ``os_ken.ofproto.ofproto``. ============================= =========== Type Code @@ -805,7 +805,7 @@ class OFPMatch(StringifyMixin): .. Note:: For the list of the supported Nicira experimenter matches, - please refer to :ref:`ryu.ofproto.nx_match `. + please refer to :ref:`os_ken.ofproto.nx_match `. .. Note:: @@ -3535,7 +3535,7 @@ class OFPActionExperimenter(OFPAction): .. Note:: For the list of the supported Nicira experimenter actions, - please refer to :ref:`ryu.ofproto.nx_actions `. + please refer to :ref:`os_ken.ofproto.nx_actions `. """ def __init__(self, experimenter): @@ -6493,6 +6493,6 @@ class ONFBundleAddMsg(OFPExperimenter): nx_actions.generate( - 'ryu.ofproto.ofproto_v1_3', - 'ryu.ofproto.ofproto_v1_3_parser' + 'os_ken.ofproto.ofproto_v1_3', + 'os_ken.ofproto.ofproto_v1_3_parser' ) diff --git a/ryu/ofproto/ofproto_v1_4.py b/os_ken/ofproto/ofproto_v1_4.py similarity index 99% rename from ryu/ofproto/ofproto_v1_4.py rename to os_ken/ofproto/ofproto_v1_4.py index d332817b..97535a12 100644 --- a/ryu/ofproto/ofproto_v1_4.py +++ b/os_ken/ofproto/ofproto_v1_4.py @@ -18,10 +18,10 @@ OpenFlow 1.4 definitions. """ -from ryu.lib import type_desc -from ryu.ofproto import nicira_ext -from ryu.ofproto import ofproto_utils -from ryu.ofproto import oxm_fields +from os_ken.lib import type_desc +from os_ken.ofproto import nicira_ext +from os_ken.ofproto import ofproto_utils +from os_ken.ofproto import oxm_fields from struct import calcsize diff --git a/ryu/ofproto/ofproto_v1_4_parser.py b/os_ken/ofproto/ofproto_v1_4_parser.py similarity index 99% rename from ryu/ofproto/ofproto_v1_4_parser.py rename to os_ken/ofproto/ofproto_v1_4_parser.py index 470e2013..4dbd823d 100644 --- a/ryu/ofproto/ofproto_v1_4_parser.py +++ b/os_ken/ofproto/ofproto_v1_4_parser.py @@ -23,16 +23,16 @@ import base64 import six -from ryu.lib import addrconv -from ryu.lib.pack_utils import msg_pack_into -from ryu.lib.packet import packet -from ryu import utils -from ryu.ofproto.ofproto_parser import StringifyMixin, MsgBase, MsgInMsgBase -from ryu.ofproto import ether -from ryu.ofproto import nx_actions -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_common -from ryu.ofproto import ofproto_v1_4 as ofproto +from os_ken.lib import addrconv +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.lib.packet import packet +from os_ken import utils +from os_ken.ofproto.ofproto_parser import StringifyMixin, MsgBase, MsgInMsgBase +from os_ken.ofproto import ether +from os_ken.ofproto import nx_actions +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_common +from os_ken.ofproto import ofproto_v1_4 as ofproto _MSG_PARSERS = {} @@ -214,7 +214,7 @@ class OFPErrorMsg(MsgBase): ``type`` attribute corresponds to ``type_`` parameter of __init__. - Types and codes are defined in ``ryu.ofproto.ofproto``. + Types and codes are defined in ``os_ken.ofproto.ofproto``. ============================= =========== Type Code @@ -682,7 +682,7 @@ class OFPMatch(StringifyMixin): .. Note:: For the list of the supported Nicira experimenter matches, - please refer to :ref:`ryu.ofproto.nx_match `. + please refer to :ref:`os_ken.ofproto.nx_match `. .. Note:: @@ -5141,7 +5141,7 @@ class OFPActionExperimenter(OFPAction): .. Note:: For the list of the supported Nicira experimenter actions, - please refer to :ref:`ryu.ofproto.nx_actions `. + please refer to :ref:`os_ken.ofproto.nx_actions `. """ def __init__(self, experimenter): @@ -5834,6 +5834,6 @@ class OFPBundleAddMsg(MsgInMsgBase): nx_actions.generate( - 'ryu.ofproto.ofproto_v1_4', - 'ryu.ofproto.ofproto_v1_4_parser' + 'os_ken.ofproto.ofproto_v1_4', + 'os_ken.ofproto.ofproto_v1_4_parser' ) diff --git a/ryu/ofproto/ofproto_v1_5.py b/os_ken/ofproto/ofproto_v1_5.py similarity index 99% rename from ryu/ofproto/ofproto_v1_5.py rename to os_ken/ofproto/ofproto_v1_5.py index b1544ac6..7aacbf41 100644 --- a/ryu/ofproto/ofproto_v1_5.py +++ b/os_ken/ofproto/ofproto_v1_5.py @@ -18,11 +18,11 @@ OpenFlow 1.5 definitions. """ -from ryu.lib import type_desc -from ryu.ofproto import nicira_ext -from ryu.ofproto import ofproto_utils -from ryu.ofproto import oxm_fields -from ryu.ofproto import oxs_fields +from os_ken.lib import type_desc +from os_ken.ofproto import nicira_ext +from os_ken.ofproto import ofproto_utils +from os_ken.ofproto import oxm_fields +from os_ken.ofproto import oxs_fields from struct import calcsize diff --git a/ryu/ofproto/ofproto_v1_5_parser.py b/os_ken/ofproto/ofproto_v1_5_parser.py similarity index 99% rename from ryu/ofproto/ofproto_v1_5_parser.py rename to os_ken/ofproto/ofproto_v1_5_parser.py index c19a7e8d..f7c08456 100644 --- a/ryu/ofproto/ofproto_v1_5_parser.py +++ b/os_ken/ofproto/ofproto_v1_5_parser.py @@ -23,17 +23,17 @@ import base64 import six -from ryu.lib import addrconv -from ryu.lib.pack_utils import msg_pack_into -from ryu.lib.packet import packet -from ryu import exception -from ryu import utils -from ryu.ofproto.ofproto_parser import StringifyMixin, MsgBase, MsgInMsgBase -from ryu.ofproto import ether -from ryu.ofproto import nx_actions -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_common -from ryu.ofproto import ofproto_v1_5 as ofproto +from os_ken.lib import addrconv +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.lib.packet import packet +from os_ken import exception +from os_ken import utils +from os_ken.ofproto.ofproto_parser import StringifyMixin, MsgBase, MsgInMsgBase +from os_ken.ofproto import ether +from os_ken.ofproto import nx_actions +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_common +from os_ken.ofproto import ofproto_v1_5 as ofproto _MSG_PARSERS = {} @@ -214,7 +214,7 @@ class OFPErrorMsg(MsgBase): ``type`` attribute corresponds to ``type_`` parameter of __init__. - Types and codes are defined in ``ryu.ofproto.ofproto``. + Types and codes are defined in ``os_ken.ofproto.ofproto``. ============================= =========== Type Code @@ -681,7 +681,7 @@ class OFPMatch(StringifyMixin): .. Note:: For the list of the supported Nicira experimenter matches, - please refer to :ref:`ryu.ofproto.nx_match `. + please refer to :ref:`os_ken.ofproto.nx_match `. .. Note:: @@ -6123,7 +6123,7 @@ class OFPActionExperimenter(OFPAction): .. Note:: For the list of the supported Nicira experimenter actions, - please refer to :ref:`ryu.ofproto.nx_actions `. + please refer to :ref:`os_ken.ofproto.nx_actions `. """ def __init__(self, experimenter): @@ -6935,6 +6935,6 @@ class OFPBundleAddMsg(MsgInMsgBase): nx_actions.generate( - 'ryu.ofproto.ofproto_v1_5', - 'ryu.ofproto.ofproto_v1_5_parser' + 'os_ken.ofproto.ofproto_v1_5', + 'os_ken.ofproto.ofproto_v1_5_parser' ) diff --git a/ryu/ofproto/oxm_fields.py b/os_ken/ofproto/oxm_fields.py similarity index 98% rename from ryu/ofproto/oxm_fields.py rename to os_ken/ofproto/oxm_fields.py index f978f5b1..1dca157a 100644 --- a/ryu/ofproto/oxm_fields.py +++ b/os_ken/ofproto/oxm_fields.py @@ -64,7 +64,7 @@ # | reserved, should be zero | pbb_uca | # +-------------------------------+---------------+ -from ryu.ofproto.oxx_fields import ( +from os_ken.ofproto.oxx_fields import ( _get_field_info_by_name, _from_user, _from_user_header, @@ -76,7 +76,7 @@ from ryu.ofproto.oxx_fields import ( _parse_header, _serialize, _serialize_header) -from ryu.ofproto import ofproto_common +from os_ken.ofproto import ofproto_common OFPXMC_NXM_0 = 0 # Nicira Extended Match (NXM_OF_) diff --git a/ryu/ofproto/oxs_fields.py b/os_ken/ofproto/oxs_fields.py similarity index 99% rename from ryu/ofproto/oxs_fields.py rename to os_ken/ofproto/oxs_fields.py index fc4c9489..ba7ca23e 100644 --- a/ryu/ofproto/oxs_fields.py +++ b/os_ken/ofproto/oxs_fields.py @@ -54,7 +54,7 @@ # OpenFlow Spec 1.5 mandates that Experimenter OXMs encode the experimenter # type in the oxm_field field of the OXM header (EXT-380). -from ryu.ofproto.oxx_fields import ( +from os_ken.ofproto.oxx_fields import ( _from_user, _from_user_header, _to_user, diff --git a/ryu/ofproto/oxx_fields.py b/os_ken/ofproto/oxx_fields.py similarity index 98% rename from ryu/ofproto/oxx_fields.py rename to os_ken/ofproto/oxx_fields.py index e8477de6..eeb5aebe 100644 --- a/ryu/ofproto/oxx_fields.py +++ b/os_ken/ofproto/oxx_fields.py @@ -26,9 +26,9 @@ import six import struct -from ryu.ofproto import ofproto_common -from ryu.lib.pack_utils import msg_pack_into -from ryu.lib import type_desc +from os_ken.ofproto import ofproto_common +from os_ken.lib.pack_utils import msg_pack_into +from os_ken.lib import type_desc if six.PY3: _ord = int diff --git a/ryu/services/__init__.py b/os_ken/services/__init__.py similarity index 100% rename from ryu/services/__init__.py rename to os_ken/services/__init__.py diff --git a/ryu/services/protocols/__init__.py b/os_ken/services/protocols/__init__.py similarity index 100% rename from ryu/services/protocols/__init__.py rename to os_ken/services/protocols/__init__.py diff --git a/ryu/services/protocols/bgp/__init__.py b/os_ken/services/protocols/bgp/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/__init__.py rename to os_ken/services/protocols/bgp/__init__.py diff --git a/ryu/services/protocols/bgp/api/__init__.py b/os_ken/services/protocols/bgp/api/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/api/__init__.py rename to os_ken/services/protocols/bgp/api/__init__.py diff --git a/ryu/services/protocols/bgp/api/all.py b/os_ken/services/protocols/bgp/api/all.py similarity index 100% rename from ryu/services/protocols/bgp/api/all.py rename to os_ken/services/protocols/bgp/api/all.py diff --git a/ryu/services/protocols/bgp/api/base.py b/os_ken/services/protocols/bgp/api/base.py similarity index 93% rename from ryu/services/protocols/bgp/api/base.py rename to os_ken/services/protocols/bgp/api/base.py index 6c4d0fa1..4e9a5835 100644 --- a/ryu/services/protocols/bgp/api/base.py +++ b/os_ken/services/protocols/bgp/api/base.py @@ -23,13 +23,13 @@ from __future__ import absolute_import import logging import traceback -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import API_ERROR_CODE -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.rtconf.base import get_validator -from ryu.services.protocols.bgp.rtconf.base import MissingRequiredConf -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import API_ERROR_CODE +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.rtconf.base import get_validator +from os_ken.services.protocols.bgp.rtconf.base import MissingRequiredConf +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError LOG = logging.getLogger('bgpspeaker.api.base') diff --git a/ryu/services/protocols/bgp/api/core.py b/os_ken/services/protocols/bgp/api/core.py similarity index 91% rename from ryu/services/protocols/bgp/api/core.py rename to os_ken/services/protocols/bgp/api/core.py index ec55049c..bab32c78 100644 --- a/ryu/services/protocols/bgp/api/core.py +++ b/os_ken/services/protocols/bgp/api/core.py @@ -16,12 +16,12 @@ """ Defines APIs related to Core/CoreManager. """ -from ryu.lib import hub +from os_ken.lib import hub -from ryu.services.protocols.bgp.api.base import register -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf.common import CommonConf +from os_ken.services.protocols.bgp.api.base import register +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.common import CommonConf NEIGHBOR_RESET_WAIT_TIME = 3 diff --git a/ryu/services/protocols/bgp/api/import_map.py b/os_ken/services/protocols/bgp/api/import_map.py similarity index 90% rename from ryu/services/protocols/bgp/api/import_map.py rename to os_ken/services/protocols/bgp/api/import_map.py index 2a23e8ee..2f19a762 100644 --- a/ryu/services/protocols/bgp/api/import_map.py +++ b/os_ken/services/protocols/bgp/api/import_map.py @@ -18,11 +18,11 @@ """ import logging -from ryu.services.protocols.bgp.api.base import register -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.core_managers.import_map_manager\ +from os_ken.services.protocols.bgp.api.base import register +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.core_managers.import_map_manager\ import ImportMapAlreadyExistsError -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError LOG = logging.getLogger('bgpspeaker.api.import_map') diff --git a/ryu/services/protocols/bgp/api/jsonrpc.py b/os_ken/services/protocols/bgp/api/jsonrpc.py similarity index 84% rename from ryu/services/protocols/bgp/api/jsonrpc.py rename to os_ken/services/protocols/bgp/api/jsonrpc.py index 07d547b8..b25171d6 100644 --- a/ryu/services/protocols/bgp/api/jsonrpc.py +++ b/os_ken/services/protocols/bgp/api/jsonrpc.py @@ -14,15 +14,15 @@ # limitations under the License. -from ryu.base import app_manager -from ryu.lib import hub -from ryu.app.wsgi import websocket, ControllerBase, WSGIApplication -from ryu.app.wsgi import rpc_public, WebSocketRPCServer -from ryu.services.protocols.bgp.api.base import call -from ryu.services.protocols.bgp.api.base import PREFIX -from ryu.services.protocols.bgp.rtconf.common import LOCAL_AS -from ryu.services.protocols.bgp.rtconf.common import ROUTER_ID -from ryu.services.protocols.bgp.rtconf import neighbors +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.app.wsgi import websocket, ControllerBase, WSGIApplication +from os_ken.app.wsgi import rpc_public, WebSocketRPCServer +from os_ken.services.protocols.bgp.api.base import call +from os_ken.services.protocols.bgp.api.base import PREFIX +from os_ken.services.protocols.bgp.rtconf.common import LOCAL_AS +from os_ken.services.protocols.bgp.rtconf.common import ROUTER_ID +from os_ken.services.protocols.bgp.rtconf import neighbors bgp_instance_name = 'bgp_api_app' url = '/bgp/ws' diff --git a/ryu/services/protocols/bgp/api/operator.py b/os_ken/services/protocols/bgp/api/operator.py similarity index 74% rename from ryu/services/protocols/bgp/api/operator.py rename to os_ken/services/protocols/bgp/api/operator.py index c0992d98..0d629207 100644 --- a/ryu/services/protocols/bgp/api/operator.py +++ b/os_ken/services/protocols/bgp/api/operator.py @@ -19,15 +19,15 @@ """ import logging -from ryu.services.protocols.bgp.api.base import ApiException -from ryu.services.protocols.bgp.api.base import register -from ryu.services.protocols.bgp.api.rpc_log_handler import RpcLogHandler -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.commands.clear import ClearCmd -from ryu.services.protocols.bgp.operator.commands.set import SetCmd -from ryu.services.protocols.bgp.operator.commands.show import ShowCmd -from ryu.services.protocols.bgp.operator.internal_api import InternalApi +from os_ken.services.protocols.bgp.api.base import ApiException +from os_ken.services.protocols.bgp.api.base import register +from os_ken.services.protocols.bgp.api.rpc_log_handler import RpcLogHandler +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.commands.clear import ClearCmd +from os_ken.services.protocols.bgp.operator.commands.set import SetCmd +from os_ken.services.protocols.bgp.operator.commands.show import ShowCmd +from os_ken.services.protocols.bgp.operator.internal_api import InternalApi LOG = logging.getLogger('bgpspeaker.api.rtconf') diff --git a/ryu/services/protocols/bgp/api/prefix.py b/os_ken/services/protocols/bgp/api/prefix.py similarity index 82% rename from ryu/services/protocols/bgp/api/prefix.py rename to os_ken/services/protocols/bgp/api/prefix.py index c3e42622..f374a947 100644 --- a/ryu/services/protocols/bgp/api/prefix.py +++ b/os_ken/services/protocols/bgp/api/prefix.py @@ -18,57 +18,57 @@ """ import logging -from ryu.lib.packet.bgp import EvpnEsi -from ryu.lib.packet.bgp import EvpnNLRI -from ryu.lib.packet.bgp import EvpnEthernetAutoDiscoveryNLRI -from ryu.lib.packet.bgp import EvpnMacIPAdvertisementNLRI -from ryu.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI -from ryu.lib.packet.bgp import EvpnEthernetSegmentNLRI -from ryu.lib.packet.bgp import EvpnIpPrefixNLRI -from ryu.lib.packet.bgp import BGPPathAttributePmsiTunnel -from ryu.lib.packet.bgp import FlowSpecIPv4NLRI -from ryu.lib.packet.bgp import FlowSpecIPv6NLRI -from ryu.lib.packet.bgp import FlowSpecVPNv4NLRI -from ryu.lib.packet.bgp import FlowSpecVPNv6NLRI -from ryu.lib.packet.bgp import FlowSpecL2VPNNLRI -from ryu.lib.packet.bgp import BGPFlowSpecTrafficRateCommunity -from ryu.lib.packet.bgp import BGPFlowSpecTrafficActionCommunity -from ryu.lib.packet.bgp import BGPFlowSpecRedirectCommunity -from ryu.lib.packet.bgp import BGPFlowSpecTrafficMarkingCommunity -from ryu.lib.packet.bgp import BGPFlowSpecVlanActionCommunity -from ryu.lib.packet.bgp import BGPFlowSpecTPIDActionCommunity +from os_ken.lib.packet.bgp import EvpnEsi +from os_ken.lib.packet.bgp import EvpnNLRI +from os_ken.lib.packet.bgp import EvpnEthernetAutoDiscoveryNLRI +from os_ken.lib.packet.bgp import EvpnMacIPAdvertisementNLRI +from os_ken.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI +from os_ken.lib.packet.bgp import EvpnEthernetSegmentNLRI +from os_ken.lib.packet.bgp import EvpnIpPrefixNLRI +from os_ken.lib.packet.bgp import BGPPathAttributePmsiTunnel +from os_ken.lib.packet.bgp import FlowSpecIPv4NLRI +from os_ken.lib.packet.bgp import FlowSpecIPv6NLRI +from os_ken.lib.packet.bgp import FlowSpecVPNv4NLRI +from os_ken.lib.packet.bgp import FlowSpecVPNv6NLRI +from os_ken.lib.packet.bgp import FlowSpecL2VPNNLRI +from os_ken.lib.packet.bgp import BGPFlowSpecTrafficRateCommunity +from os_ken.lib.packet.bgp import BGPFlowSpecTrafficActionCommunity +from os_ken.lib.packet.bgp import BGPFlowSpecRedirectCommunity +from os_ken.lib.packet.bgp import BGPFlowSpecTrafficMarkingCommunity +from os_ken.lib.packet.bgp import BGPFlowSpecVlanActionCommunity +from os_ken.lib.packet.bgp import BGPFlowSpecTPIDActionCommunity -from ryu.services.protocols.bgp.api.base import EVPN_ROUTE_TYPE -from ryu.services.protocols.bgp.api.base import EVPN_ESI -from ryu.services.protocols.bgp.api.base import EVPN_ETHERNET_TAG_ID -from ryu.services.protocols.bgp.api.base import REDUNDANCY_MODE -from ryu.services.protocols.bgp.api.base import MAC_ADDR -from ryu.services.protocols.bgp.api.base import IP_ADDR -from ryu.services.protocols.bgp.api.base import IP_PREFIX -from ryu.services.protocols.bgp.api.base import GW_IP_ADDR -from ryu.services.protocols.bgp.api.base import MPLS_LABELS -from ryu.services.protocols.bgp.api.base import NEXT_HOP -from ryu.services.protocols.bgp.api.base import PREFIX -from ryu.services.protocols.bgp.api.base import RegisterWithArgChecks -from ryu.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER -from ryu.services.protocols.bgp.api.base import VPN_LABEL -from ryu.services.protocols.bgp.api.base import EVPN_VNI -from ryu.services.protocols.bgp.api.base import TUNNEL_TYPE -from ryu.services.protocols.bgp.api.base import PMSI_TUNNEL_TYPE -from ryu.services.protocols.bgp.api.base import FLOWSPEC_FAMILY -from ryu.services.protocols.bgp.api.base import FLOWSPEC_RULES -from ryu.services.protocols.bgp.api.base import FLOWSPEC_ACTIONS -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import PREFIX_ERROR_CODE -from ryu.services.protocols.bgp.base import validate -from ryu.services.protocols.bgp.core import BgpCoreError -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.rtconf.base import ConfigValueError -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN -from ryu.services.protocols.bgp.utils import validation +from os_ken.services.protocols.bgp.api.base import EVPN_ROUTE_TYPE +from os_ken.services.protocols.bgp.api.base import EVPN_ESI +from os_ken.services.protocols.bgp.api.base import EVPN_ETHERNET_TAG_ID +from os_ken.services.protocols.bgp.api.base import REDUNDANCY_MODE +from os_ken.services.protocols.bgp.api.base import MAC_ADDR +from os_ken.services.protocols.bgp.api.base import IP_ADDR +from os_ken.services.protocols.bgp.api.base import IP_PREFIX +from os_ken.services.protocols.bgp.api.base import GW_IP_ADDR +from os_ken.services.protocols.bgp.api.base import MPLS_LABELS +from os_ken.services.protocols.bgp.api.base import NEXT_HOP +from os_ken.services.protocols.bgp.api.base import PREFIX +from os_ken.services.protocols.bgp.api.base import RegisterWithArgChecks +from os_ken.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER +from os_ken.services.protocols.bgp.api.base import VPN_LABEL +from os_ken.services.protocols.bgp.api.base import EVPN_VNI +from os_ken.services.protocols.bgp.api.base import TUNNEL_TYPE +from os_ken.services.protocols.bgp.api.base import PMSI_TUNNEL_TYPE +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_FAMILY +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_RULES +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_ACTIONS +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import PREFIX_ERROR_CODE +from os_ken.services.protocols.bgp.base import validate +from os_ken.services.protocols.bgp.core import BgpCoreError +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.rtconf.base import ConfigValueError +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN +from os_ken.services.protocols.bgp.utils import validation LOG = logging.getLogger('bgpspeaker.api.prefix') diff --git a/ryu/services/protocols/bgp/api/rpc_log_handler.py b/os_ken/services/protocols/bgp/api/rpc_log_handler.py similarity index 88% rename from ryu/services/protocols/bgp/api/rpc_log_handler.py rename to os_ken/services/protocols/bgp/api/rpc_log_handler.py index 09340b92..292d0fca 100644 --- a/ryu/services/protocols/bgp/api/rpc_log_handler.py +++ b/os_ken/services/protocols/bgp/api/rpc_log_handler.py @@ -19,8 +19,8 @@ import logging -from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER -from ryu.services.protocols.bgp.net_ctrl import NOTIFICATION_LOG +from os_ken.services.protocols.bgp.net_ctrl import NET_CONTROLLER +from os_ken.services.protocols.bgp.net_ctrl import NOTIFICATION_LOG class RpcLogHandler(logging.Handler): diff --git a/ryu/services/protocols/bgp/api/rtconf.py b/os_ken/services/protocols/bgp/api/rtconf.py similarity index 91% rename from ryu/services/protocols/bgp/api/rtconf.py rename to os_ken/services/protocols/bgp/api/rtconf.py index d981499b..5bb59d20 100644 --- a/ryu/services/protocols/bgp/api/rtconf.py +++ b/os_ken/services/protocols/bgp/api/rtconf.py @@ -18,21 +18,21 @@ """ import logging -from ryu.services.protocols.bgp.api.base import register -from ryu.services.protocols.bgp.api.base import RegisterWithArgChecks -from ryu.services.protocols.bgp.api.base import FLOWSPEC_FAMILY -from ryu.services.protocols.bgp.api.base import FLOWSPEC_RULES -from ryu.services.protocols.bgp.api.base import FLOWSPEC_ACTIONS -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.rtconf.base import ConfWithId -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf import neighbors -from ryu.services.protocols.bgp.rtconf.neighbors import NeighborConf -from ryu.services.protocols.bgp.rtconf.vrfs import ROUTE_DISTINGUISHER -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 -from ryu.services.protocols.bgp.rtconf.vrfs import VrfConf -from ryu.services.protocols.bgp import constants as const +from os_ken.services.protocols.bgp.api.base import register +from os_ken.services.protocols.bgp.api.base import RegisterWithArgChecks +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_FAMILY +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_RULES +from os_ken.services.protocols.bgp.api.base import FLOWSPEC_ACTIONS +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.rtconf.base import ConfWithId +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf import neighbors +from os_ken.services.protocols.bgp.rtconf.neighbors import NeighborConf +from os_ken.services.protocols.bgp.rtconf.vrfs import ROUTE_DISTINGUISHER +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 +from os_ken.services.protocols.bgp.rtconf.vrfs import VrfConf +from os_ken.services.protocols.bgp import constants as const LOG = logging.getLogger('bgpspeaker.api.rtconf') diff --git a/ryu/services/protocols/bgp/application.py b/os_ken/services/protocols/bgp/application.py similarity index 86% rename from ryu/services/protocols/bgp/application.py rename to os_ken/services/protocols/bgp/application.py index b4ae49cf..2311eb64 100644 --- a/ryu/services/protocols/bgp/application.py +++ b/os_ken/services/protocols/bgp/application.py @@ -19,13 +19,13 @@ writing your BGP application. It reads a configuration file which includes settings for neighbors, routes and some others. -Please refer to ``ryu/services/protocols/bgp/bgp_sample_conf.py`` for the +Please refer to ``os_ken/services/protocols/bgp/bgp_sample_conf.py`` for the sample configuration. Usage Example:: - $ ryu-manager ryu/services/protocols/bgp/application.py \\ - --bgp-app-config-file ryu/services/protocols/bgp/bgp_sample_conf.py + $ os_ken-manager os_ken/services/protocols/bgp/application.py \\ + --bgp-app-config-file os_ken/services/protocols/bgp/bgp_sample_conf.py SSH Console =========== @@ -58,7 +58,7 @@ Example:: Integration with Other Applications =================================== -``ryu.services.protocols.bgp.application.RyuBGPSpeaker`` will notifies the +``os_ken.services.protocols.bgp.application.RyuBGPSpeaker`` will notifies the following events to other Ryu applications. - ``EventBestPathChanged`` @@ -73,25 +73,25 @@ Example Application:: # my_bgp_app.py - from ryu.base import app_manager - from ryu.controller.handler import set_ev_cls - from ryu.services.protocols.bgp import application as bgp_application + from os_ken.base import app_manager + from os_ken.controller.handler import set_ev_cls + from os_ken.services.protocols.bgp import application as bgp_application class MyBGPApp(app_manager.RyuApp): _CONTEXTS = { - 'ryubgpspeaker': bgp_application.RyuBGPSpeaker, + 'os_kenbgpspeaker': bgp_application.RyuBGPSpeaker, } def __init__(self, *args, **kwargs): super(MyBGPApp, self).__init__(*args, **kwargs) - # Stores "ryu.services.protocols.bgp.application.RyuBGPSpeaker" + # Stores "os_ken.services.protocols.bgp.application.RyuBGPSpeaker" # instance in order to call the APIs of - # "ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker" via + # "os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker" via # "self.app.speaker". # Please note at this time, "BGPSpeaker" is NOT instantiated yet. - self.app = kwargs['ryubgpspeaker'] + self.app = kwargs['os_kenbgpspeaker'] @set_ev_cls(bgp_application.EventBestPathChanged) def _best_patch_changed_handler(self, ev): @@ -101,12 +101,12 @@ Example Application:: Usage Example:: - $ ryu-manager my_bgp_app.py \\ - --bgp-app-config-file ryu/services/protocols/bgp/bgp_sample_conf.py + $ os_ken-manager my_bgp_app.py \\ + --bgp-app-config-file os_ken/services/protocols/bgp/bgp_sample_conf.py .. note:: - For the APIs for ``ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker``, + For the APIs for ``os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker``, please refer to :doc:`../library_bgp_speaker_ref`. API Reference @@ -116,23 +116,23 @@ API Reference import logging import os -from ryu import cfg -from ryu.lib import hub -from ryu.utils import load_source -from ryu.base.app_manager import RyuApp -from ryu.controller.event import EventBase -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import BIN_ERROR -from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker -from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER -from ryu.services.protocols.bgp.net_ctrl import NC_RPC_BIND_IP -from ryu.services.protocols.bgp.net_ctrl import NC_RPC_BIND_PORT -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf.common import LOCAL_AS -from ryu.services.protocols.bgp.rtconf.common import ROUTER_ID -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4 -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv6 +from os_ken import cfg +from os_ken.lib import hub +from os_ken.utils import load_source +from os_ken.base.app_manager import RyuApp +from os_ken.controller.event import EventBase +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import BIN_ERROR +from os_ken.services.protocols.bgp.bgpspeaker import BGPSpeaker +from os_ken.services.protocols.bgp.net_ctrl import NET_CONTROLLER +from os_ken.services.protocols.bgp.net_ctrl import NC_RPC_BIND_IP +from os_ken.services.protocols.bgp.net_ctrl import NC_RPC_BIND_PORT +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.common import LOCAL_AS +from os_ken.services.protocols.bgp.rtconf.common import ROUTER_ID +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv4 +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv6 LOG = logging.getLogger('bgpspeaker.application') @@ -306,7 +306,7 @@ class RyuBGPSpeaker(RyuApp): LOG.debug('Loading SSH settings...') # Note: paramiko used in bgp.operator.ssh is the optional # requirements, imports bgp.operator.ssh here. - from ryu.services.protocols.bgp.operator import ssh + from os_ken.services.protocols.bgp.operator import ssh hub.spawn(ssh.SSH_CLI_CONTROLLER.start, **settings.SSH) # Start RPC server with the given RPC settings. diff --git a/ryu/services/protocols/bgp/base.py b/os_ken/services/protocols/bgp/base.py similarity index 95% rename from ryu/services/protocols/bgp/base.py rename to os_ken/services/protocols/bgp/base.py index 8b69aa36..b2af4b90 100644 --- a/ryu/services/protocols/bgp/base.py +++ b/os_ken/services/protocols/bgp/base.py @@ -28,23 +28,23 @@ import weakref import netaddr import six -from ryu.lib import hub -from ryu.lib import sockopt -from ryu.lib import ip -from ryu.lib.hub import Timeout -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.services.protocols.bgp.utils.circlist import CircularListType -from ryu.services.protocols.bgp.utils.evtlet import LoopingCall +from os_ken.lib import hub +from os_ken.lib import sockopt +from os_ken.lib import ip +from os_ken.lib.hub import Timeout +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.services.protocols.bgp.utils.circlist import CircularListType +from os_ken.services.protocols.bgp.utils.evtlet import LoopingCall # Logger instance for this module. diff --git a/ryu/services/protocols/bgp/bgp_sample_conf.py b/os_ken/services/protocols/bgp/bgp_sample_conf.py similarity index 86% rename from ryu/services/protocols/bgp/bgp_sample_conf.py rename to os_ken/services/protocols/bgp/bgp_sample_conf.py index e3f686c8..34441644 100644 --- a/ryu/services/protocols/bgp/bgp_sample_conf.py +++ b/os_ken/services/protocols/bgp/bgp_sample_conf.py @@ -3,36 +3,36 @@ from __future__ import absolute_import import os -from ryu.services.protocols.bgp.bgpspeaker import RF_VPN_V4 -from ryu.services.protocols.bgp.bgpspeaker import RF_VPN_V6 -from ryu.services.protocols.bgp.bgpspeaker import RF_L2_EVPN -from ryu.services.protocols.bgp.bgpspeaker import RF_VPNV4_FLOWSPEC -from ryu.services.protocols.bgp.bgpspeaker import RF_VPNV6_FLOWSPEC -from ryu.services.protocols.bgp.bgpspeaker import RF_L2VPN_FLOWSPEC -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET -from ryu.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP -from ryu.services.protocols.bgp.bgpspeaker import ESI_TYPE_MAC_BASED -from ryu.services.protocols.bgp.bgpspeaker import EVPN_ETH_AUTO_DISCOVERY -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MAC_IP_ADV_ROUTE -from ryu.services.protocols.bgp.bgpspeaker import TUNNEL_TYPE_VXLAN -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MULTICAST_ETAG_ROUTE -from ryu.services.protocols.bgp.bgpspeaker import EVPN_ETH_SEGMENT -from ryu.services.protocols.bgp.bgpspeaker import EVPN_IP_PREFIX_ROUTE -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV4 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV6 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV4 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV6 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_L2VPN -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_SAMPLE -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_TERMINAL -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_POP -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_PUSH -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_SWAP -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_RW_INNER -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_RW_OUTER -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TPID_TI -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TPID_TO -from ryu.services.protocols.bgp.bgpspeaker import REDUNDANCY_MODE_SINGLE_ACTIVE +from os_ken.services.protocols.bgp.bgpspeaker import RF_VPN_V4 +from os_ken.services.protocols.bgp.bgpspeaker import RF_VPN_V6 +from os_ken.services.protocols.bgp.bgpspeaker import RF_L2_EVPN +from os_ken.services.protocols.bgp.bgpspeaker import RF_VPNV4_FLOWSPEC +from os_ken.services.protocols.bgp.bgpspeaker import RF_VPNV6_FLOWSPEC +from os_ken.services.protocols.bgp.bgpspeaker import RF_L2VPN_FLOWSPEC +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET +from os_ken.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP +from os_ken.services.protocols.bgp.bgpspeaker import ESI_TYPE_MAC_BASED +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_ETH_AUTO_DISCOVERY +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MAC_IP_ADV_ROUTE +from os_ken.services.protocols.bgp.bgpspeaker import TUNNEL_TYPE_VXLAN +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MULTICAST_ETAG_ROUTE +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_ETH_SEGMENT +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_IP_PREFIX_ROUTE +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV4 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV6 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV4 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV6 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_L2VPN +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_SAMPLE +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_TERMINAL +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_POP +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_PUSH +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_SWAP +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_RW_INNER +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_VLAN_RW_OUTER +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TPID_TI +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TPID_TO +from os_ken.services.protocols.bgp.bgpspeaker import REDUNDANCY_MODE_SINGLE_ACTIVE # ============================================================================= # BGP configuration. @@ -400,8 +400,8 @@ SSH = { 'ssh_port': 4990, 'ssh_host': 'localhost', # 'ssh_host_key': '/etc/ssh_host_rsa_key', - # 'ssh_username': 'ryu', - # 'ssh_password': 'ryu', + # 'ssh_username': 'os_ken', + # 'ssh_password': 'os_ken', } diff --git a/ryu/services/protocols/bgp/bgpspeaker.py b/os_ken/services/protocols/bgp/bgpspeaker.py similarity index 88% rename from ryu/services/protocols/bgp/bgpspeaker.py rename to os_ken/services/protocols/bgp/bgpspeaker.py index 2f53f636..16ab8ca9 100644 --- a/ryu/services/protocols/bgp/bgpspeaker.py +++ b/os_ken/services/protocols/bgp/bgpspeaker.py @@ -17,49 +17,49 @@ """ import netaddr -from ryu.lib import hub -from ryu.lib import ip -from ryu.lib.packet.bgp import ( +from os_ken.lib import hub +from os_ken.lib import ip +from os_ken.lib.packet.bgp import ( BGPFlowSpecTrafficActionCommunity, BGPFlowSpecVlanActionCommunity, BGPFlowSpecTPIDActionCommunity, ) -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER -from ryu.services.protocols.bgp.signals.emit import BgpSignalBus -from ryu.services.protocols.bgp.api.base import call -from ryu.services.protocols.bgp.api.base import PREFIX -from ryu.services.protocols.bgp.api.base import EVPN_ROUTE_TYPE -from ryu.services.protocols.bgp.api.base import EVPN_ESI -from ryu.services.protocols.bgp.api.base import EVPN_ETHERNET_TAG_ID -from ryu.services.protocols.bgp.api.base import REDUNDANCY_MODE -from ryu.services.protocols.bgp.api.base import IP_ADDR -from ryu.services.protocols.bgp.api.base import MAC_ADDR -from ryu.services.protocols.bgp.api.base import NEXT_HOP -from ryu.services.protocols.bgp.api.base import IP_PREFIX -from ryu.services.protocols.bgp.api.base import GW_IP_ADDR -from ryu.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER -from ryu.services.protocols.bgp.api.base import ROUTE_FAMILY -from ryu.services.protocols.bgp.api.base import EVPN_VNI -from ryu.services.protocols.bgp.api.base import TUNNEL_TYPE -from ryu.services.protocols.bgp.api.base import PMSI_TUNNEL_TYPE -from ryu.services.protocols.bgp.api.prefix import EVPN_MAX_ET -from ryu.services.protocols.bgp.api.prefix import ESI_TYPE_LACP -from ryu.services.protocols.bgp.api.prefix import ESI_TYPE_L2_BRIDGE -from ryu.services.protocols.bgp.api.prefix import ESI_TYPE_MAC_BASED -from ryu.services.protocols.bgp.api.prefix import EVPN_ETH_AUTO_DISCOVERY -from ryu.services.protocols.bgp.api.prefix import EVPN_MAC_IP_ADV_ROUTE -from ryu.services.protocols.bgp.api.prefix import EVPN_MULTICAST_ETAG_ROUTE -from ryu.services.protocols.bgp.api.prefix import EVPN_ETH_SEGMENT -from ryu.services.protocols.bgp.api.prefix import EVPN_IP_PREFIX_ROUTE -from ryu.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_ALL_ACTIVE -from ryu.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_SINGLE_ACTIVE -from ryu.services.protocols.bgp.api.prefix import TUNNEL_TYPE_VXLAN -from ryu.services.protocols.bgp.api.prefix import TUNNEL_TYPE_NVGRE -from ryu.services.protocols.bgp.api.prefix import ( +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.signals.emit import BgpSignalBus +from os_ken.services.protocols.bgp.api.base import call +from os_ken.services.protocols.bgp.api.base import PREFIX +from os_ken.services.protocols.bgp.api.base import EVPN_ROUTE_TYPE +from os_ken.services.protocols.bgp.api.base import EVPN_ESI +from os_ken.services.protocols.bgp.api.base import EVPN_ETHERNET_TAG_ID +from os_ken.services.protocols.bgp.api.base import REDUNDANCY_MODE +from os_ken.services.protocols.bgp.api.base import IP_ADDR +from os_ken.services.protocols.bgp.api.base import MAC_ADDR +from os_ken.services.protocols.bgp.api.base import NEXT_HOP +from os_ken.services.protocols.bgp.api.base import IP_PREFIX +from os_ken.services.protocols.bgp.api.base import GW_IP_ADDR +from os_ken.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER +from os_ken.services.protocols.bgp.api.base import ROUTE_FAMILY +from os_ken.services.protocols.bgp.api.base import EVPN_VNI +from os_ken.services.protocols.bgp.api.base import TUNNEL_TYPE +from os_ken.services.protocols.bgp.api.base import PMSI_TUNNEL_TYPE +from os_ken.services.protocols.bgp.api.prefix import EVPN_MAX_ET +from os_ken.services.protocols.bgp.api.prefix import ESI_TYPE_LACP +from os_ken.services.protocols.bgp.api.prefix import ESI_TYPE_L2_BRIDGE +from os_ken.services.protocols.bgp.api.prefix import ESI_TYPE_MAC_BASED +from os_ken.services.protocols.bgp.api.prefix import EVPN_ETH_AUTO_DISCOVERY +from os_ken.services.protocols.bgp.api.prefix import EVPN_MAC_IP_ADV_ROUTE +from os_ken.services.protocols.bgp.api.prefix import EVPN_MULTICAST_ETAG_ROUTE +from os_ken.services.protocols.bgp.api.prefix import EVPN_ETH_SEGMENT +from os_ken.services.protocols.bgp.api.prefix import EVPN_IP_PREFIX_ROUTE +from os_ken.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_ALL_ACTIVE +from os_ken.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_SINGLE_ACTIVE +from os_ken.services.protocols.bgp.api.prefix import TUNNEL_TYPE_VXLAN +from os_ken.services.protocols.bgp.api.prefix import TUNNEL_TYPE_NVGRE +from os_ken.services.protocols.bgp.api.prefix import ( PMSI_TYPE_NO_TUNNEL_INFO, PMSI_TYPE_INGRESS_REP) -from ryu.services.protocols.bgp.api.prefix import ( +from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_FAMILY, FLOWSPEC_FAMILY_IPV4, FLOWSPEC_FAMILY_VPNV4, @@ -68,40 +68,40 @@ from ryu.services.protocols.bgp.api.prefix import ( FLOWSPEC_FAMILY_L2VPN, FLOWSPEC_RULES, FLOWSPEC_ACTIONS) -from ryu.services.protocols.bgp.model import ReceivedRoute -from ryu.services.protocols.bgp.rtconf.common import LOCAL_AS -from ryu.services.protocols.bgp.rtconf.common import ROUTER_ID -from ryu.services.protocols.bgp.rtconf.common import CLUSTER_ID -from ryu.services.protocols.bgp.rtconf.common import BGP_SERVER_HOSTS -from ryu.services.protocols.bgp.rtconf.common import BGP_SERVER_PORT -from ryu.services.protocols.bgp.rtconf.common import DEFAULT_BGP_SERVER_HOSTS -from ryu.services.protocols.bgp.rtconf.common import DEFAULT_BGP_SERVER_PORT -from ryu.services.protocols.bgp.rtconf.common import ( +from os_ken.services.protocols.bgp.model import ReceivedRoute +from os_ken.services.protocols.bgp.rtconf.common import LOCAL_AS +from os_ken.services.protocols.bgp.rtconf.common import ROUTER_ID +from os_ken.services.protocols.bgp.rtconf.common import CLUSTER_ID +from os_ken.services.protocols.bgp.rtconf.common import BGP_SERVER_HOSTS +from os_ken.services.protocols.bgp.rtconf.common import BGP_SERVER_PORT +from os_ken.services.protocols.bgp.rtconf.common import DEFAULT_BGP_SERVER_HOSTS +from os_ken.services.protocols.bgp.rtconf.common import DEFAULT_BGP_SERVER_PORT +from os_ken.services.protocols.bgp.rtconf.common import ( DEFAULT_REFRESH_MAX_EOR_TIME, DEFAULT_REFRESH_STALEPATH_TIME) -from ryu.services.protocols.bgp.rtconf.common import DEFAULT_LABEL_RANGE -from ryu.services.protocols.bgp.rtconf.common import REFRESH_MAX_EOR_TIME -from ryu.services.protocols.bgp.rtconf.common import REFRESH_STALEPATH_TIME -from ryu.services.protocols.bgp.rtconf.common import LABEL_RANGE -from ryu.services.protocols.bgp.rtconf.common import ALLOW_LOCAL_AS_IN_COUNT -from ryu.services.protocols.bgp.rtconf.common import LOCAL_PREF -from ryu.services.protocols.bgp.rtconf.common import DEFAULT_LOCAL_PREF -from ryu.services.protocols.bgp.rtconf import neighbors -from ryu.services.protocols.bgp.rtconf import vrfs -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_EVPN -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_L2VPNFS -from ryu.services.protocols.bgp.rtconf.base import CAP_ENHANCED_REFRESH -from ryu.services.protocols.bgp.rtconf.base import CAP_FOUR_OCTET_AS_NUMBER -from ryu.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC -from ryu.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS -from ryu.services.protocols.bgp.rtconf.neighbors import ( +from os_ken.services.protocols.bgp.rtconf.common import DEFAULT_LABEL_RANGE +from os_ken.services.protocols.bgp.rtconf.common import REFRESH_MAX_EOR_TIME +from os_ken.services.protocols.bgp.rtconf.common import REFRESH_STALEPATH_TIME +from os_ken.services.protocols.bgp.rtconf.common import LABEL_RANGE +from os_ken.services.protocols.bgp.rtconf.common import ALLOW_LOCAL_AS_IN_COUNT +from os_ken.services.protocols.bgp.rtconf.common import LOCAL_PREF +from os_ken.services.protocols.bgp.rtconf.common import DEFAULT_LOCAL_PREF +from os_ken.services.protocols.bgp.rtconf import neighbors +from os_ken.services.protocols.bgp.rtconf import vrfs +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_EVPN +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_L2VPNFS +from os_ken.services.protocols.bgp.rtconf.base import CAP_ENHANCED_REFRESH +from os_ken.services.protocols.bgp.rtconf.base import CAP_FOUR_OCTET_AS_NUMBER +from os_ken.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC +from os_ken.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS +from os_ken.services.protocols.bgp.rtconf.neighbors import ( DEFAULT_CAP_MBGP_IPV4, DEFAULT_CAP_MBGP_IPV6, DEFAULT_CAP_MBGP_VPNV4, @@ -129,13 +129,13 @@ from ryu.services.protocols.bgp.rtconf.neighbors import ( LOCAL_ADDRESS, LOCAL_PORT, ) -from ryu.services.protocols.bgp.rtconf.vrfs import SUPPORTED_VRF_RF -from ryu.services.protocols.bgp.info_base.base import Filter -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path -from ryu.services.protocols.bgp.info_base.ipv6 import Ipv6Path -from ryu.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path -from ryu.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path -from ryu.services.protocols.bgp.info_base.evpn import EvpnPath +from os_ken.services.protocols.bgp.rtconf.vrfs import SUPPORTED_VRF_RF +from os_ken.services.protocols.bgp.info_base.base import Filter +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Path +from os_ken.services.protocols.bgp.info_base.ipv6 import Ipv6Path +from os_ken.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path +from os_ken.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path +from os_ken.services.protocols.bgp.info_base.evpn import EvpnPath NEIGHBOR_CONF_MED = MULTI_EXIT_DISC # for backward compatibility @@ -330,7 +330,7 @@ class BGPSpeaker(object): if ssh_console: # Note: paramiko used in bgp.operator.ssh is the optional # requirements, imports bgp.operator.ssh here. - from ryu.services.protocols.bgp.operator import ssh + from os_ken.services.protocols.bgp.operator import ssh ssh_settings = { ssh.SSH_PORT: ssh_port or ssh.DEFAULT_SSH_PORT, ssh.SSH_HOST: ssh_host or ssh.DEFAULT_SSH_HOST, @@ -587,7 +587,7 @@ class BGPSpeaker(object): ``address`` specifies the IP address of the peer. ``conf_type`` specifies configuration type which you want to change. - Currently ryu.services.protocols.bgp.bgpspeaker.MULTI_EXIT_DISC + Currently os_ken.services.protocols.bgp.bgpspeaker.MULTI_EXIT_DISC can be specified. ``conf_value`` specifies value for the configuration type. @@ -709,7 +709,7 @@ class BGPSpeaker(object): it must be set as dictionary type. If esi is dictionary type, 'type' key must be set and specifies ESI type. - For the supported ESI type, see :py:mod:`ryu.lib.packet.bgp.EvpnEsi`. + For the supported ESI type, see :py:mod:`os_ken.lib.packet.bgp.EvpnEsi`. The remaining arguments are the same as that for the corresponding class. @@ -910,11 +910,11 @@ class BGPSpeaker(object): For the supported NLRI types and arguments, see `from_user()` method of the following classes. - - :py:mod:`ryu.lib.packet.bgp.FlowSpecIPv4NLRI` - - :py:mod:`ryu.lib.packet.bgp.FlowSpecIPv6NLRI` - - :py:mod:`ryu.lib.packet.bgp.FlowSpecVPNv4NLRI` - - :py:mod:`ryu.lib.packet.bgp.FlowSpecVPNv6NLRI` - - :py:mod:`ryu.lib.packet.bgp.FlowSpecL2VPNNLRI` + - :py:mod:`os_ken.lib.packet.bgp.FlowSpecIPv4NLRI` + - :py:mod:`os_ken.lib.packet.bgp.FlowSpecIPv6NLRI` + - :py:mod:`os_ken.lib.packet.bgp.FlowSpecVPNv4NLRI` + - :py:mod:`os_ken.lib.packet.bgp.FlowSpecVPNv6NLRI` + - :py:mod:`os_ken.lib.packet.bgp.FlowSpecL2VPNNLRI` ``route_dist`` specifies a route distinguisher value. This parameter is required only if flowspec_family is one of the @@ -934,12 +934,12 @@ class BGPSpeaker(object): =============== =============================================================== ACTION_NAME Action Class =============== =============================================================== - traffic_rate :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecTrafficRateCommunity` - traffic_action :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecTrafficActionCommunity` - redirect :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecRedirectCommunity` - traffic_marking :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecTrafficMarkingCommunity` - vlan_action :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecVlanActionCommunity` - tpid_action :py:mod:`ryu.lib.packet.bgp.BGPFlowSpecTPIDActionCommunity` + traffic_rate :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecTrafficRateCommunity` + traffic_action :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecTrafficActionCommunity` + redirect :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecRedirectCommunity` + traffic_marking :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecTrafficMarkingCommunity` + vlan_action :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecVlanActionCommunity` + tpid_action :py:mod:`os_ken.lib.packet.bgp.BGPFlowSpecTPIDActionCommunity` =============== =============================================================== Example(IPv4):: diff --git a/ryu/services/protocols/bgp/bmp.py b/os_ken/services/protocols/bgp/bmp.py similarity index 95% rename from ryu/services/protocols/bgp/bmp.py rename to os_ken/services/protocols/bgp/bmp.py index a2842c85..e31489b6 100644 --- a/ryu/services/protocols/bgp/bmp.py +++ b/os_ken/services/protocols/bgp/bmp.py @@ -13,17 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.services.protocols.bgp.base import Activity -from ryu.lib import hub -from ryu.lib.packet import bmp -from ryu.lib.packet import bgp +from os_ken.services.protocols.bgp.base import Activity +from os_ken.lib import hub +from os_ken.lib.packet import bmp +from os_ken.lib.packet import bgp import socket import logging from calendar import timegm -from ryu.services.protocols.bgp.signals.emit import BgpSignalBus -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path -from ryu.lib.packet.bgp import BGPUpdate -from ryu.lib.packet.bgp import BGPPathAttributeMpUnreachNLRI +from os_ken.services.protocols.bgp.signals.emit import BgpSignalBus +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Path +from os_ken.lib.packet.bgp import BGPUpdate +from os_ken.lib.packet.bgp import BGPPathAttributeMpUnreachNLRI LOG = logging.getLogger('bgpspeaker.bmp') diff --git a/ryu/services/protocols/bgp/constants.py b/os_ken/services/protocols/bgp/constants.py similarity index 100% rename from ryu/services/protocols/bgp/constants.py rename to os_ken/services/protocols/bgp/constants.py diff --git a/ryu/services/protocols/bgp/core.py b/os_ken/services/protocols/bgp/core.py similarity index 92% rename from ryu/services/protocols/bgp/core.py rename to os_ken/services/protocols/bgp/core.py index 0f6fe400..80a801e5 100644 --- a/ryu/services/protocols/bgp/core.py +++ b/os_ken/services/protocols/bgp/core.py @@ -23,28 +23,28 @@ import logging import netaddr import socket -from ryu.lib.packet.bgp import BGP_ERROR_CEASE -from ryu.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_RESET -from ryu.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_COLLISION_RESOLUTION -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE +from os_ken.lib.packet.bgp import BGP_ERROR_CEASE +from os_ken.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_RESET +from os_ken.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_COLLISION_RESOLUTION +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import CORE_ERROR_CODE -from ryu.services.protocols.bgp.constants import STD_BGP_SERVER_PORT_NUM -from ryu.services.protocols.bgp import core_managers -from ryu.services.protocols.bgp.model import FlexinetOutgoingRoute -from ryu.services.protocols.bgp.protocol import Factory -from ryu.services.protocols.bgp.signals.emit import BgpSignalBus -from ryu.services.protocols.bgp.speaker import BgpProtocol -from ryu.services.protocols.bgp.utils.rtfilter import RouteTargetManager -from ryu.services.protocols.bgp.rtconf.neighbors import CONNECT_MODE_ACTIVE -from ryu.services.protocols.bgp.utils import stats -from ryu.services.protocols.bgp.bmp import BMPClient -from ryu.lib import sockopt -from ryu.lib import ip +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import CORE_ERROR_CODE +from os_ken.services.protocols.bgp.constants import STD_BGP_SERVER_PORT_NUM +from os_ken.services.protocols.bgp import core_managers +from os_ken.services.protocols.bgp.model import FlexinetOutgoingRoute +from os_ken.services.protocols.bgp.protocol import Factory +from os_ken.services.protocols.bgp.signals.emit import BgpSignalBus +from os_ken.services.protocols.bgp.speaker import BgpProtocol +from os_ken.services.protocols.bgp.utils.rtfilter import RouteTargetManager +from os_ken.services.protocols.bgp.rtconf.neighbors import CONNECT_MODE_ACTIVE +from os_ken.services.protocols.bgp.utils import stats +from os_ken.services.protocols.bgp.bmp import BMPClient +from os_ken.lib import sockopt +from os_ken.lib import ip LOG = logging.getLogger('bgpspeaker.core') @@ -108,7 +108,7 @@ class CoreService(Factory, Activity): ) # Register Flexinet peer sink - from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER + from os_ken.services.protocols.bgp.net_ctrl import NET_CONTROLLER self.register_flexinet_sink(NET_CONTROLLER) @@ -214,7 +214,7 @@ class CoreService(Factory, Activity): vrf_stats_timer.start(vrf_conf.stats_time) def _run(self, *args, **kwargs): - from ryu.services.protocols.bgp.processor import BgpProcessor + from os_ken.services.protocols.bgp.processor import BgpProcessor # Initialize bgp processor. self._bgp_processor = BgpProcessor(self) # Start BgpProcessor in a separate thread. diff --git a/ryu/services/protocols/bgp/core_manager.py b/os_ken/services/protocols/bgp/core_manager.py similarity index 87% rename from ryu/services/protocols/bgp/core_manager.py rename to os_ken/services/protocols/bgp/core_manager.py index d61824c2..4e9a79cb 100644 --- a/ryu/services/protocols/bgp/core_manager.py +++ b/os_ken/services/protocols/bgp/core_manager.py @@ -16,10 +16,10 @@ """ Core Manager module dedicated for providing CORE_MANAGER singleton """ -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import ActivityException -from ryu.services.protocols.bgp.rtconf.neighbors import NeighborsConf -from ryu.services.protocols.bgp.rtconf.vrfs import VrfsConf +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import ActivityException +from os_ken.services.protocols.bgp.rtconf.neighbors import NeighborsConf +from os_ken.services.protocols.bgp.rtconf.vrfs import VrfsConf class _CoreManager(Activity): @@ -37,7 +37,7 @@ class _CoreManager(Activity): self._common_conf = kwargs.pop('common_conf') self._neighbors_conf = NeighborsConf() self._vrfs_conf = VrfsConf() - from ryu.services.protocols.bgp.core import CoreService + from os_ken.services.protocols.bgp.core import CoreService self._core_service = CoreService(self._common_conf, self._neighbors_conf, self._vrfs_conf) diff --git a/ryu/services/protocols/bgp/core_managers/__init__.py b/os_ken/services/protocols/bgp/core_managers/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/core_managers/__init__.py rename to os_ken/services/protocols/bgp/core_managers/__init__.py diff --git a/ryu/services/protocols/bgp/core_managers/configuration_manager.py b/os_ken/services/protocols/bgp/core_managers/configuration_manager.py similarity index 92% rename from ryu/services/protocols/bgp/core_managers/configuration_manager.py rename to os_ken/services/protocols/bgp/core_managers/configuration_manager.py index 00371b7c..d5f61b17 100644 --- a/ryu/services/protocols/bgp/core_managers/configuration_manager.py +++ b/os_ken/services/protocols/bgp/core_managers/configuration_manager.py @@ -1,9 +1,9 @@ -from ryu.services.protocols.bgp.rtconf.base import ConfWithStats -from ryu.services.protocols.bgp.rtconf.common import CommonConfListener -from ryu.services.protocols.bgp.rtconf.neighbors import NeighborsConfListener -from ryu.services.protocols.bgp.rtconf import vrfs -from ryu.services.protocols.bgp.rtconf.vrfs import VrfConf -from ryu.services.protocols.bgp.rtconf.vrfs import VrfsConfListener +from os_ken.services.protocols.bgp.rtconf.base import ConfWithStats +from os_ken.services.protocols.bgp.rtconf.common import CommonConfListener +from os_ken.services.protocols.bgp.rtconf.neighbors import NeighborsConfListener +from os_ken.services.protocols.bgp.rtconf import vrfs +from os_ken.services.protocols.bgp.rtconf.vrfs import VrfConf +from os_ken.services.protocols.bgp.rtconf.vrfs import VrfsConfListener import logging diff --git a/ryu/services/protocols/bgp/core_managers/import_map_manager.py b/os_ken/services/protocols/bgp/core_managers/import_map_manager.py similarity index 86% rename from ryu/services/protocols/bgp/core_managers/import_map_manager.py rename to os_ken/services/protocols/bgp/core_managers/import_map_manager.py index 98fcb8de..c48e53a4 100644 --- a/ryu/services/protocols/bgp/core_managers/import_map_manager.py +++ b/os_ken/services/protocols/bgp/core_managers/import_map_manager.py @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.services.protocols.bgp.info_base.vrf import VrfRtImportMap -from ryu.services.protocols.bgp.info_base.vrf4 import Vrf4NlriImportMap -from ryu.services.protocols.bgp.info_base.vrf6 import Vrf6NlriImportMap +from os_ken.services.protocols.bgp.info_base.vrf import VrfRtImportMap +from os_ken.services.protocols.bgp.info_base.vrf4 import Vrf4NlriImportMap +from os_ken.services.protocols.bgp.info_base.vrf6 import Vrf6NlriImportMap class ImportMapManager(object): diff --git a/ryu/services/protocols/bgp/core_managers/peer_manager.py b/os_ken/services/protocols/bgp/core_managers/peer_manager.py similarity index 95% rename from ryu/services/protocols/bgp/core_managers/peer_manager.py rename to os_ken/services/protocols/bgp/core_managers/peer_manager.py index ce881d8f..856cda84 100644 --- a/ryu/services/protocols/bgp/core_managers/peer_manager.py +++ b/os_ken/services/protocols/bgp/core_managers/peer_manager.py @@ -1,15 +1,15 @@ import logging import netaddr -from ryu.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF -from ryu.services.protocols.bgp.model import OutgoingRoute -from ryu.services.protocols.bgp.peer import Peer -from ryu.lib.packet.bgp import BGPPathAttributeCommunities -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_COMMUNITIES -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import RouteTargetMembershipNLRI -from ryu.services.protocols.bgp.utils.bgp \ +from os_ken.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF +from os_ken.services.protocols.bgp.model import OutgoingRoute +from os_ken.services.protocols.bgp.peer import Peer +from os_ken.lib.packet.bgp import BGPPathAttributeCommunities +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_COMMUNITIES +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import RouteTargetMembershipNLRI +from os_ken.services.protocols.bgp.utils.bgp \ import clone_path_and_update_med_for_target_neighbor LOG = logging.getLogger('bgpspeaker.core_managers.peer_manager') diff --git a/ryu/services/protocols/bgp/core_managers/table_manager.py b/os_ken/services/protocols/bgp/core_managers/table_manager.py similarity index 87% rename from ryu/services/protocols/bgp/core_managers/table_manager.py rename to os_ken/services/protocols/bgp/core_managers/table_manager.py index 432a1a46..358c7e9c 100644 --- a/ryu/services/protocols/bgp/core_managers/table_manager.py +++ b/os_ken/services/protocols/bgp/core_managers/table_manager.py @@ -3,75 +3,75 @@ from collections import OrderedDict import netaddr -from ryu.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF -from ryu.services.protocols.bgp.info_base.rtc import RtcTable -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Table -from ryu.services.protocols.bgp.info_base.ipv6 import Ipv6Path -from ryu.services.protocols.bgp.info_base.ipv6 import Ipv6Table -from ryu.services.protocols.bgp.info_base.vpnv4 import Vpnv4Table -from ryu.services.protocols.bgp.info_base.vpnv6 import Vpnv6Table -from ryu.services.protocols.bgp.info_base.vrf4 import Vrf4Table -from ryu.services.protocols.bgp.info_base.vrf6 import Vrf6Table -from ryu.services.protocols.bgp.info_base.vrfevpn import VrfEvpnTable -from ryu.services.protocols.bgp.info_base.evpn import EvpnTable -from ryu.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecPath -from ryu.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecTable -from ryu.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecTable -from ryu.services.protocols.bgp.info_base.vrf4fs import Vrf4FlowSpecTable -from ryu.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecPath -from ryu.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecTable -from ryu.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecTable -from ryu.services.protocols.bgp.info_base.vrf6fs import Vrf6FlowSpecTable -from ryu.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecTable -from ryu.services.protocols.bgp.info_base.vrfl2vpnfs import L2vpnFlowSpecPath -from ryu.services.protocols.bgp.info_base.vrfl2vpnfs import L2vpnFlowSpecTable -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6 -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4_FLOWSPEC -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6_FLOWSPEC -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2VPN_FLOWSPEC -from ryu.services.protocols.bgp.rtconf.vrfs import SUPPORTED_VRF_RF -from ryu.services.protocols.bgp.utils.bgp import create_v4flowspec_actions -from ryu.services.protocols.bgp.utils.bgp import create_v6flowspec_actions -from ryu.services.protocols.bgp.utils.bgp import create_l2vpnflowspec_actions +from os_ken.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF +from os_ken.services.protocols.bgp.info_base.rtc import RtcTable +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Path +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Table +from os_ken.services.protocols.bgp.info_base.ipv6 import Ipv6Path +from os_ken.services.protocols.bgp.info_base.ipv6 import Ipv6Table +from os_ken.services.protocols.bgp.info_base.vpnv4 import Vpnv4Table +from os_ken.services.protocols.bgp.info_base.vpnv6 import Vpnv6Table +from os_ken.services.protocols.bgp.info_base.vrf4 import Vrf4Table +from os_ken.services.protocols.bgp.info_base.vrf6 import Vrf6Table +from os_ken.services.protocols.bgp.info_base.vrfevpn import VrfEvpnTable +from os_ken.services.protocols.bgp.info_base.evpn import EvpnTable +from os_ken.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecPath +from os_ken.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecTable +from os_ken.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecTable +from os_ken.services.protocols.bgp.info_base.vrf4fs import Vrf4FlowSpecTable +from os_ken.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecPath +from os_ken.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecTable +from os_ken.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecTable +from os_ken.services.protocols.bgp.info_base.vrf6fs import Vrf6FlowSpecTable +from os_ken.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecTable +from os_ken.services.protocols.bgp.info_base.vrfl2vpnfs import L2vpnFlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrfl2vpnfs import L2vpnFlowSpecTable +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6 +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4_FLOWSPEC +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6_FLOWSPEC +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2VPN_FLOWSPEC +from os_ken.services.protocols.bgp.rtconf.vrfs import SUPPORTED_VRF_RF +from os_ken.services.protocols.bgp.utils.bgp import create_v4flowspec_actions +from os_ken.services.protocols.bgp.utils.bgp import create_v6flowspec_actions +from os_ken.services.protocols.bgp.utils.bgp import create_l2vpnflowspec_actions -from ryu.lib import type_desc -from ryu.lib import ip -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import BGPPathAttributeOrigin -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import EvpnEsi -from ryu.lib.packet.bgp import EvpnArbitraryEsi -from ryu.lib.packet.bgp import EvpnNLRI -from ryu.lib.packet.bgp import EvpnMacIPAdvertisementNLRI -from ryu.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import IP6AddrPrefix -from ryu.lib.packet.bgp import FlowSpecIPv4NLRI -from ryu.lib.packet.bgp import FlowSpecIPv6NLRI -from ryu.lib.packet.bgp import FlowSpecL2VPNNLRI +from os_ken.lib import type_desc +from os_ken.lib import ip +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import BGPPathAttributeOrigin +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import BGPPathAttributeExtendedCommunities +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import EvpnEsi +from os_ken.lib.packet.bgp import EvpnArbitraryEsi +from os_ken.lib.packet.bgp import EvpnNLRI +from os_ken.lib.packet.bgp import EvpnMacIPAdvertisementNLRI +from os_ken.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import IP6AddrPrefix +from os_ken.lib.packet.bgp import FlowSpecIPv4NLRI +from os_ken.lib.packet.bgp import FlowSpecIPv6NLRI +from os_ken.lib.packet.bgp import FlowSpecL2VPNNLRI -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4 -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4_prefix -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv6 -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv6_prefix +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv4 +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv4_prefix +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv6 +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv6_prefix LOG = logging.getLogger('bgpspeaker.core_managers.table_mixin') @@ -639,7 +639,7 @@ class TableCoreManager(object): Returns assigned VPN label. """ - from ryu.services.protocols.bgp.core import BgpCoreError + from os_ken.services.protocols.bgp.core import BgpCoreError assert route_dist @@ -693,7 +693,7 @@ class TableCoreManager(object): if vni is not None: # Disable to generate MPLS labels, # because encapsulation type is not MPLS. - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( TUNNEL_TYPE_VXLAN, TUNNEL_TYPE_NVGRE) assert tunnel_type in [ None, TUNNEL_TYPE_VXLAN, TUNNEL_TYPE_NVGRE] @@ -729,8 +729,8 @@ class TableCoreManager(object): to the VRF table identified by `route_dist`. If `is_withdraw` is True, remove a BGP route from the VRF table. """ - from ryu.services.protocols.bgp.core import BgpCoreError - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.core import BgpCoreError + from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_FAMILY_VPNV4, FLOWSPEC_FAMILY_VPNV6, FLOWSPEC_FAMILY_L2VPN, @@ -829,8 +829,8 @@ class TableCoreManager(object): If `is_withdraw` is True, remove a BGP route from the Global table. """ - from ryu.services.protocols.bgp.core import BgpCoreError - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.core import BgpCoreError + from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_FAMILY_IPV4, FLOWSPEC_FAMILY_IPV6, FLOWSPEC_FAMILY_L2VPN, diff --git a/ryu/services/protocols/bgp/info_base/__init__.py b/os_ken/services/protocols/bgp/info_base/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/info_base/__init__.py rename to os_ken/services/protocols/bgp/info_base/__init__.py diff --git a/ryu/services/protocols/bgp/info_base/base.py b/os_ken/services/protocols/bgp/info_base/base.py similarity index 97% rename from ryu/services/protocols/bgp/info_base/base.py rename to os_ken/services/protocols/bgp/info_base/base.py index 9b3c4031..6c01e1ee 100644 --- a/ryu/services/protocols/bgp/info_base/base.py +++ b/os_ken/services/protocols/bgp/info_base/base.py @@ -27,18 +27,18 @@ import functools import netaddr import six -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RouteTargetMembershipNLRI -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import BGPPathAttributeLocalPref -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RouteTargetMembershipNLRI +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import BGPPathAttributeLocalPref +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.services.protocols.bgp.base import OrderedDict -from ryu.services.protocols.bgp.constants import VPN_TABLE -from ryu.services.protocols.bgp.constants import VRF_TABLE -from ryu.services.protocols.bgp.model import OutgoingRoute -from ryu.services.protocols.bgp.processor import BPR_ONLY_PATH -from ryu.services.protocols.bgp.processor import BPR_UNKNOWN +from os_ken.services.protocols.bgp.base import OrderedDict +from os_ken.services.protocols.bgp.constants import VPN_TABLE +from os_ken.services.protocols.bgp.constants import VRF_TABLE +from os_ken.services.protocols.bgp.model import OutgoingRoute +from os_ken.services.protocols.bgp.processor import BPR_ONLY_PATH +from os_ken.services.protocols.bgp.processor import BPR_UNKNOWN LOG = logging.getLogger('bgpspeaker.info_base.base') @@ -454,7 +454,7 @@ class Destination(object): Parameter: - `peer`: (Peer) peer to send withdraw to """ - from ryu.services.protocols.bgp.peer import Peer + from os_ken.services.protocols.bgp.peer import Peer if not isinstance(peer, Peer): raise TypeError('Currently we only support sending withdrawal' ' to instance of peer') @@ -596,7 +596,7 @@ class Destination(object): Returns current best path among `known_paths`. """ if not self._known_path_list: - from ryu.services.protocols.bgp.processor import BgpProcessorError + from os_ken.services.protocols.bgp.processor import BgpProcessorError raise BgpProcessorError(desc='Need at-least one known path to' ' compute best path') @@ -606,7 +606,7 @@ class Destination(object): current_best_path = self._known_path_list[0] best_path_reason = BPR_ONLY_PATH for next_path in self._known_path_list[1:]: - from ryu.services.protocols.bgp.processor import compute_best_path + from os_ken.services.protocols.bgp.processor import compute_best_path # Compare next path with current best path. new_best_path, reason = \ compute_best_path(self._core_service.asn, current_best_path, diff --git a/ryu/services/protocols/bgp/info_base/evpn.py b/os_ken/services/protocols/bgp/info_base/evpn.py similarity index 80% rename from ryu/services/protocols/bgp/info_base/evpn.py rename to os_ken/services/protocols/bgp/info_base/evpn.py index c5f49a4f..549c63a3 100644 --- a/ryu/services/protocols/bgp/info_base/evpn.py +++ b/os_ken/services/protocols/bgp/info_base/evpn.py @@ -19,12 +19,12 @@ import logging -from ryu.lib.packet.bgp import EvpnNLRI -from ryu.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import EvpnNLRI +from os_ken.lib.packet.bgp import RF_L2_EVPN -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.evpn') @@ -55,5 +55,5 @@ class EvpnPath(VpnPath): def __init__(self, *args, **kwargs): super(EvpnPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrfevpn import VrfEvpnPath + from os_ken.services.protocols.bgp.info_base.vrfevpn import VrfEvpnPath self.VRF_PATH_CLASS = VrfEvpnPath diff --git a/ryu/services/protocols/bgp/info_base/ipv4.py b/os_ken/services/protocols/bgp/info_base/ipv4.py similarity index 83% rename from ryu/services/protocols/bgp/info_base/ipv4.py rename to os_ken/services/protocols/bgp/info_base/ipv4.py index 07cc8665..83620488 100644 --- a/ryu/services/protocols/bgp/info_base/ipv4.py +++ b/os_ken/services/protocols/bgp/info_base/ipv4.py @@ -18,14 +18,14 @@ import logging -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import RF_IPv4_UC -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin -from ryu.services.protocols.bgp.info_base.base import PrefixFilter +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import PrefixFilter LOG = logging.getLogger('bgpspeaker.info_base.ipv4') @@ -82,7 +82,7 @@ class Ipv4Path(Path): def __init__(self, *args, **kwargs): super(Ipv4Path, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf4 import Vrf4Path + from os_ken.services.protocols.bgp.info_base.vrf4 import Vrf4Path self.VRF_PATH_CLASS = Vrf4Path diff --git a/ryu/services/protocols/bgp/info_base/ipv4fs.py b/os_ken/services/protocols/bgp/info_base/ipv4fs.py similarity index 86% rename from ryu/services/protocols/bgp/info_base/ipv4fs.py rename to os_ken/services/protocols/bgp/info_base/ipv4fs.py index 5d1a03c0..048de6be 100644 --- a/ryu/services/protocols/bgp/info_base/ipv4fs.py +++ b/os_ken/services/protocols/bgp/info_base/ipv4fs.py @@ -20,13 +20,13 @@ import logging -from ryu.lib.packet.bgp import FlowSpecIPv4NLRI -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecIPv4NLRI +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin LOG = logging.getLogger('bgpspeaker.info_base.ipv4fs') @@ -85,7 +85,7 @@ class IPv4FlowSpecPath(Path): # Set dummy IP address. kwargs['nexthop'] = '0.0.0.0' super(IPv4FlowSpecPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf4fs import ( + from os_ken.services.protocols.bgp.info_base.vrf4fs import ( Vrf4FlowSpecPath) self.VRF_PATH_CLASS = Vrf4FlowSpecPath # Because the IPv4 Flow Specification does not require nexthop, diff --git a/ryu/services/protocols/bgp/info_base/ipv6.py b/os_ken/services/protocols/bgp/info_base/ipv6.py similarity index 82% rename from ryu/services/protocols/bgp/info_base/ipv6.py rename to os_ken/services/protocols/bgp/info_base/ipv6.py index 5c1cc75b..f497863e 100644 --- a/ryu/services/protocols/bgp/info_base/ipv6.py +++ b/os_ken/services/protocols/bgp/info_base/ipv6.py @@ -18,14 +18,14 @@ import logging -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import RF_IPv6_UC -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin -from ryu.services.protocols.bgp.info_base.base import PrefixFilter +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import PrefixFilter LOG = logging.getLogger('bgpspeaker.info_base.ipv6') @@ -82,7 +82,7 @@ class Ipv6Path(Path): def __init__(self, *args, **kwargs): super(Ipv6Path, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf6 import Vrf6Path + from os_ken.services.protocols.bgp.info_base.vrf6 import Vrf6Path self.VRF_PATH_CLASS = Vrf6Path diff --git a/ryu/services/protocols/bgp/info_base/ipv6fs.py b/os_ken/services/protocols/bgp/info_base/ipv6fs.py similarity index 86% rename from ryu/services/protocols/bgp/info_base/ipv6fs.py rename to os_ken/services/protocols/bgp/info_base/ipv6fs.py index 6a51c923..c2f57d8f 100644 --- a/ryu/services/protocols/bgp/info_base/ipv6fs.py +++ b/os_ken/services/protocols/bgp/info_base/ipv6fs.py @@ -20,13 +20,13 @@ import logging -from ryu.lib.packet.bgp import FlowSpecIPv6NLRI -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecIPv6NLRI +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin LOG = logging.getLogger('bgpspeaker.info_base.ipv6fs') @@ -85,7 +85,7 @@ class IPv6FlowSpecPath(Path): # Set dummy IP address. kwargs['nexthop'] = '::' super(IPv6FlowSpecPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf6fs import ( + from os_ken.services.protocols.bgp.info_base.vrf6fs import ( Vrf6FlowSpecPath) self.VRF_PATH_CLASS = Vrf6FlowSpecPath # Because the IPv6 Flow Specification does not require nexthop, diff --git a/ryu/services/protocols/bgp/info_base/l2vpnfs.py b/os_ken/services/protocols/bgp/info_base/l2vpnfs.py similarity index 83% rename from ryu/services/protocols/bgp/info_base/l2vpnfs.py rename to os_ken/services/protocols/bgp/info_base/l2vpnfs.py index 64b40fca..7c8906e7 100644 --- a/ryu/services/protocols/bgp/info_base/l2vpnfs.py +++ b/os_ken/services/protocols/bgp/info_base/l2vpnfs.py @@ -20,12 +20,12 @@ import logging -from ryu.lib.packet.bgp import FlowSpecL2VPNNLRI -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecL2VPNNLRI +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.l2vpnfs') @@ -58,7 +58,7 @@ class L2VPNFlowSpecPath(VpnPath): # Set dummy IP address. kwargs['nexthop'] = '0.0.0.0' super(L2VPNFlowSpecPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrfl2vpnfs import ( + from os_ken.services.protocols.bgp.info_base.vrfl2vpnfs import ( L2vpnFlowSpecPath) self.VRF_PATH_CLASS = L2vpnFlowSpecPath # Because the L2VPN Flow Specification does not require nexthop, diff --git a/ryu/services/protocols/bgp/info_base/rtc.py b/os_ken/services/protocols/bgp/info_base/rtc.py similarity index 87% rename from ryu/services/protocols/bgp/info_base/rtc.py rename to os_ken/services/protocols/bgp/info_base/rtc.py index 6f6e3321..35679094 100644 --- a/ryu/services/protocols/bgp/info_base/rtc.py +++ b/os_ken/services/protocols/bgp/info_base/rtc.py @@ -19,12 +19,12 @@ import logging -from ryu.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import RF_RTC_UC -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table LOG = logging.getLogger('bgpspeaker.info_base.rtc') diff --git a/ryu/services/protocols/bgp/info_base/vpn.py b/os_ken/services/protocols/bgp/info_base/vpn.py similarity index 92% rename from ryu/services/protocols/bgp/info_base/vpn.py rename to os_ken/services/protocols/bgp/info_base/vpn.py index 87c44376..2b582346 100644 --- a/ryu/services/protocols/bgp/info_base/vpn.py +++ b/os_ken/services/protocols/bgp/info_base/vpn.py @@ -21,11 +21,11 @@ import abc import logging import six -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import NonVrfPathProcessingMixin +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table LOG = logging.getLogger('bgpspeaker.info_base.vpn') diff --git a/ryu/services/protocols/bgp/info_base/vpnv4.py b/os_ken/services/protocols/bgp/info_base/vpnv4.py similarity index 80% rename from ryu/services/protocols/bgp/info_base/vpnv4.py rename to os_ken/services/protocols/bgp/info_base/vpnv4.py index 26eeb966..583ae87d 100644 --- a/ryu/services/protocols/bgp/info_base/vpnv4.py +++ b/os_ken/services/protocols/bgp/info_base/vpnv4.py @@ -19,12 +19,12 @@ import logging -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import RF_IPv4_VPN -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.vpnv4') @@ -55,5 +55,5 @@ class Vpnv4Path(VpnPath): def __init__(self, *args, **kwargs): super(Vpnv4Path, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf4 import Vrf4Path + from os_ken.services.protocols.bgp.info_base.vrf4 import Vrf4Path self.VRF_PATH_CLASS = Vrf4Path diff --git a/ryu/services/protocols/bgp/info_base/vpnv4fs.py b/os_ken/services/protocols/bgp/info_base/vpnv4fs.py similarity index 83% rename from ryu/services/protocols/bgp/info_base/vpnv4fs.py rename to os_ken/services/protocols/bgp/info_base/vpnv4fs.py index 64511444..b28cac17 100644 --- a/ryu/services/protocols/bgp/info_base/vpnv4fs.py +++ b/os_ken/services/protocols/bgp/info_base/vpnv4fs.py @@ -20,12 +20,12 @@ import logging -from ryu.lib.packet.bgp import FlowSpecVPNv4NLRI -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecVPNv4NLRI +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.vpnv4fs') @@ -58,7 +58,7 @@ class VPNv4FlowSpecPath(VpnPath): # Set dummy IP address. kwargs['nexthop'] = '0.0.0.0' super(VPNv4FlowSpecPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf4fs import ( + from os_ken.services.protocols.bgp.info_base.vrf4fs import ( Vrf4FlowSpecPath) self.VRF_PATH_CLASS = Vrf4FlowSpecPath # Because the IPv4 Flow Specification does not require nexthop, diff --git a/ryu/services/protocols/bgp/info_base/vpnv6.py b/os_ken/services/protocols/bgp/info_base/vpnv6.py similarity index 80% rename from ryu/services/protocols/bgp/info_base/vpnv6.py rename to os_ken/services/protocols/bgp/info_base/vpnv6.py index d66e2736..d08a75e8 100644 --- a/ryu/services/protocols/bgp/info_base/vpnv6.py +++ b/os_ken/services/protocols/bgp/info_base/vpnv6.py @@ -19,12 +19,12 @@ import logging -from ryu.lib.packet.bgp import IP6AddrPrefix -from ryu.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import IP6AddrPrefix +from os_ken.lib.packet.bgp import RF_IPv6_VPN -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.vpnv6') @@ -55,5 +55,5 @@ class Vpnv6Path(VpnPath): def __init__(self, *args, **kwargs): super(Vpnv6Path, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf6 import Vrf6Path + from os_ken.services.protocols.bgp.info_base.vrf6 import Vrf6Path self.VRF_PATH_CLASS = Vrf6Path diff --git a/ryu/services/protocols/bgp/info_base/vpnv6fs.py b/os_ken/services/protocols/bgp/info_base/vpnv6fs.py similarity index 83% rename from ryu/services/protocols/bgp/info_base/vpnv6fs.py rename to os_ken/services/protocols/bgp/info_base/vpnv6fs.py index 5078442e..b9b0eea2 100644 --- a/ryu/services/protocols/bgp/info_base/vpnv6fs.py +++ b/os_ken/services/protocols/bgp/info_base/vpnv6fs.py @@ -20,12 +20,12 @@ import logging -from ryu.lib.packet.bgp import FlowSpecVPNv6NLRI -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecVPNv6NLRI +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.services.protocols.bgp.info_base.vpn import VpnDest -from ryu.services.protocols.bgp.info_base.vpn import VpnPath -from ryu.services.protocols.bgp.info_base.vpn import VpnTable +from os_ken.services.protocols.bgp.info_base.vpn import VpnDest +from os_ken.services.protocols.bgp.info_base.vpn import VpnPath +from os_ken.services.protocols.bgp.info_base.vpn import VpnTable LOG = logging.getLogger('bgpspeaker.info_base.vpnv6fs') @@ -58,7 +58,7 @@ class VPNv6FlowSpecPath(VpnPath): # Set dummy IP address. kwargs['nexthop'] = '::' super(VPNv6FlowSpecPath, self).__init__(*args, **kwargs) - from ryu.services.protocols.bgp.info_base.vrf6fs import ( + from os_ken.services.protocols.bgp.info_base.vrf6fs import ( Vrf6FlowSpecPath) self.VRF_PATH_CLASS = Vrf6FlowSpecPath # Because the IPv6 Flow Specification does not require nexthop, diff --git a/ryu/services/protocols/bgp/info_base/vrf.py b/os_ken/services/protocols/bgp/info_base/vrf.py similarity index 91% rename from ryu/services/protocols/bgp/info_base/vrf.py rename to os_ken/services/protocols/bgp/info_base/vrf.py index 8b06c6a1..fef0f037 100644 --- a/ryu/services/protocols/bgp/info_base/vrf.py +++ b/os_ken/services/protocols/bgp/info_base/vrf.py @@ -21,40 +21,40 @@ import abc import logging import six -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import BGP_ATTR_TYEP_PMSI_TUNNEL_ATTRIBUTE -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGPPathAttributeOrigin -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import EvpnEthernetSegmentNLRI -from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities -from ryu.lib.packet.bgp import BGPPathAttributeMultiExitDisc -from ryu.lib.packet.bgp import BGPEncapsulationExtendedCommunity -from ryu.lib.packet.bgp import BGPEvpnEsiLabelExtendedCommunity -from ryu.lib.packet.bgp import BGPEvpnEsImportRTExtendedCommunity -from ryu.lib.packet.bgp import BGPPathAttributePmsiTunnel -from ryu.lib.packet.bgp import PmsiTunnelIdIngressReplication -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import EvpnMacIPAdvertisementNLRI -from ryu.lib.packet.bgp import EvpnIpPrefixNLRI -from ryu.lib.packet.safi import ( +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import BGP_ATTR_TYEP_PMSI_TUNNEL_ATTRIBUTE +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGPPathAttributeOrigin +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import EvpnEthernetSegmentNLRI +from os_ken.lib.packet.bgp import BGPPathAttributeExtendedCommunities +from os_ken.lib.packet.bgp import BGPPathAttributeMultiExitDisc +from os_ken.lib.packet.bgp import BGPEncapsulationExtendedCommunity +from os_ken.lib.packet.bgp import BGPEvpnEsiLabelExtendedCommunity +from os_ken.lib.packet.bgp import BGPEvpnEsImportRTExtendedCommunity +from os_ken.lib.packet.bgp import BGPPathAttributePmsiTunnel +from os_ken.lib.packet.bgp import PmsiTunnelIdIngressReplication +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import EvpnMacIPAdvertisementNLRI +from os_ken.lib.packet.bgp import EvpnIpPrefixNLRI +from os_ken.lib.packet.safi import ( IP_FLOWSPEC, VPN_FLOWSPEC, ) -from ryu.services.protocols.bgp.base import OrderedDict -from ryu.services.protocols.bgp.constants import VPN_TABLE -from ryu.services.protocols.bgp.constants import VRF_TABLE -from ryu.services.protocols.bgp.info_base.base import Destination -from ryu.services.protocols.bgp.info_base.base import Path -from ryu.services.protocols.bgp.info_base.base import Table -from ryu.services.protocols.bgp.utils.bgp import create_rt_extended_community -from ryu.services.protocols.bgp.utils.stats import LOCAL_ROUTES -from ryu.services.protocols.bgp.utils.stats import REMOTE_ROUTES -from ryu.services.protocols.bgp.utils.stats import RESOURCE_ID -from ryu.services.protocols.bgp.utils.stats import RESOURCE_NAME +from os_ken.services.protocols.bgp.base import OrderedDict +from os_ken.services.protocols.bgp.constants import VPN_TABLE +from os_ken.services.protocols.bgp.constants import VRF_TABLE +from os_ken.services.protocols.bgp.info_base.base import Destination +from os_ken.services.protocols.bgp.info_base.base import Path +from os_ken.services.protocols.bgp.info_base.base import Table +from os_ken.services.protocols.bgp.utils.bgp import create_rt_extended_community +from os_ken.services.protocols.bgp.utils.stats import LOCAL_ROUTES +from os_ken.services.protocols.bgp.utils.stats import REMOTE_ROUTES +from os_ken.services.protocols.bgp.utils.stats import RESOURCE_ID +from os_ken.services.protocols.bgp.utils.stats import RESOURCE_NAME LOG = logging.getLogger('bgpspeaker.info_base.vrf') @@ -257,7 +257,7 @@ class VrfTable(Table): # MpReachNlri and/or MpUnReachNlri attribute info. is contained # in the path. Hence we do not add these attributes here. - from ryu.services.protocols.bgp.core import EXPECTED_ORIGIN + from os_ken.services.protocols.bgp.core import EXPECTED_ORIGIN pattrs[BGP_ATTR_TYPE_ORIGIN] = BGPPathAttributeOrigin( EXPECTED_ORIGIN) @@ -289,7 +289,7 @@ class VrfTable(Table): subtype = 1 flags = 0 - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( REDUNDANCY_MODE_SINGLE_ACTIVE) if redundancy_mode == REDUNDANCY_MODE_SINGLE_ACTIVE: flags |= BGPEvpnEsiLabelExtendedCommunity.SINGLE_ACTIVE_BIT @@ -315,7 +315,7 @@ class VrfTable(Table): # Set PMSI Tunnel Attribute pmsi_tunnel_type = kwargs.get('pmsi_tunnel_type', None) if pmsi_tunnel_type is not None: - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( PMSI_TYPE_INGRESS_REP) if pmsi_tunnel_type == PMSI_TYPE_INGRESS_REP: tunnel_id = PmsiTunnelIdIngressReplication( diff --git a/ryu/services/protocols/bgp/info_base/vrf4.py b/os_ken/services/protocols/bgp/info_base/vrf4.py similarity index 74% rename from ryu/services/protocols/bgp/info_base/vrf4.py rename to os_ken/services/protocols/bgp/info_base/vrf4.py index 1a00b39d..35c53252 100644 --- a/ryu/services/protocols/bgp/info_base/vrf4.py +++ b/os_ken/services/protocols/bgp/info_base/vrf4.py @@ -21,16 +21,16 @@ import logging -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import LabelledVPNIPAddrPrefix +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import LabelledVPNIPAddrPrefix -from ryu.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path -from ryu.services.protocols.bgp.info_base.vrf import VrfDest -from ryu.services.protocols.bgp.info_base.vrf import VrfNlriImportMap -from ryu.services.protocols.bgp.info_base.vrf import VrfPath -from ryu.services.protocols.bgp.info_base.vrf import VrfTable +from os_ken.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path +from os_ken.services.protocols.bgp.info_base.vrf import VrfDest +from os_ken.services.protocols.bgp.info_base.vrf import VrfNlriImportMap +from os_ken.services.protocols.bgp.info_base.vrf import VrfPath +from os_ken.services.protocols.bgp.info_base.vrf import VrfTable LOG = logging.getLogger('bgpspeaker.info_base.vrf4') diff --git a/ryu/services/protocols/bgp/info_base/vrf4fs.py b/os_ken/services/protocols/bgp/info_base/vrf4fs.py similarity index 76% rename from ryu/services/protocols/bgp/info_base/vrf4fs.py rename to os_ken/services/protocols/bgp/info_base/vrf4fs.py index cfa87d9d..4998ce91 100644 --- a/ryu/services/protocols/bgp/info_base/vrf4fs.py +++ b/os_ken/services/protocols/bgp/info_base/vrf4fs.py @@ -23,15 +23,15 @@ import logging -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import FlowSpecIPv4NLRI -from ryu.lib.packet.bgp import FlowSpecVPNv4NLRI +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecIPv4NLRI +from os_ken.lib.packet.bgp import FlowSpecVPNv4NLRI -from ryu.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable +from os_ken.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable LOG = logging.getLogger('bgpspeaker.info_base.vrf4fs') diff --git a/ryu/services/protocols/bgp/info_base/vrf6.py b/os_ken/services/protocols/bgp/info_base/vrf6.py similarity index 74% rename from ryu/services/protocols/bgp/info_base/vrf6.py rename to os_ken/services/protocols/bgp/info_base/vrf6.py index f2939324..4029529e 100644 --- a/ryu/services/protocols/bgp/info_base/vrf6.py +++ b/os_ken/services/protocols/bgp/info_base/vrf6.py @@ -21,16 +21,16 @@ import logging -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import IP6AddrPrefix -from ryu.lib.packet.bgp import LabelledVPNIP6AddrPrefix +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import IP6AddrPrefix +from os_ken.lib.packet.bgp import LabelledVPNIP6AddrPrefix -from ryu.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path -from ryu.services.protocols.bgp.info_base.vrf import VrfDest -from ryu.services.protocols.bgp.info_base.vrf import VrfNlriImportMap -from ryu.services.protocols.bgp.info_base.vrf import VrfPath -from ryu.services.protocols.bgp.info_base.vrf import VrfTable +from os_ken.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path +from os_ken.services.protocols.bgp.info_base.vrf import VrfDest +from os_ken.services.protocols.bgp.info_base.vrf import VrfNlriImportMap +from os_ken.services.protocols.bgp.info_base.vrf import VrfPath +from os_ken.services.protocols.bgp.info_base.vrf import VrfTable LOG = logging.getLogger('bgpspeaker.info_base.vrf6') diff --git a/ryu/services/protocols/bgp/info_base/vrf6fs.py b/os_ken/services/protocols/bgp/info_base/vrf6fs.py similarity index 76% rename from ryu/services/protocols/bgp/info_base/vrf6fs.py rename to os_ken/services/protocols/bgp/info_base/vrf6fs.py index 17b8ce57..2f2deaaf 100644 --- a/ryu/services/protocols/bgp/info_base/vrf6fs.py +++ b/os_ken/services/protocols/bgp/info_base/vrf6fs.py @@ -23,15 +23,15 @@ import logging -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.lib.packet.bgp import FlowSpecIPv6NLRI -from ryu.lib.packet.bgp import FlowSpecVPNv6NLRI +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecIPv6NLRI +from os_ken.lib.packet.bgp import FlowSpecVPNv6NLRI -from ryu.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable +from os_ken.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable LOG = logging.getLogger('bgpspeaker.info_base.vrf6fs') diff --git a/ryu/services/protocols/bgp/info_base/vrfevpn.py b/os_ken/services/protocols/bgp/info_base/vrfevpn.py similarity index 77% rename from ryu/services/protocols/bgp/info_base/vrfevpn.py rename to os_ken/services/protocols/bgp/info_base/vrfevpn.py index 5c3a571c..a6b5166c 100644 --- a/ryu/services/protocols/bgp/info_base/vrfevpn.py +++ b/os_ken/services/protocols/bgp/info_base/vrfevpn.py @@ -20,14 +20,14 @@ import logging -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import EvpnNLRI +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import EvpnNLRI -from ryu.services.protocols.bgp.info_base.evpn import EvpnPath -from ryu.services.protocols.bgp.info_base.vrf import VrfDest -from ryu.services.protocols.bgp.info_base.vrf import VrfNlriImportMap -from ryu.services.protocols.bgp.info_base.vrf import VrfPath -from ryu.services.protocols.bgp.info_base.vrf import VrfTable +from os_ken.services.protocols.bgp.info_base.evpn import EvpnPath +from os_ken.services.protocols.bgp.info_base.vrf import VrfDest +from os_ken.services.protocols.bgp.info_base.vrf import VrfNlriImportMap +from os_ken.services.protocols.bgp.info_base.vrf import VrfPath +from os_ken.services.protocols.bgp.info_base.vrf import VrfTable LOG = logging.getLogger('bgpspeaker.info_base.vrfevpn') diff --git a/ryu/services/protocols/bgp/info_base/vrffs.py b/os_ken/services/protocols/bgp/info_base/vrffs.py similarity index 76% rename from ryu/services/protocols/bgp/info_base/vrffs.py rename to os_ken/services/protocols/bgp/info_base/vrffs.py index 8f0fe3eb..0c01a60b 100644 --- a/ryu/services/protocols/bgp/info_base/vrffs.py +++ b/os_ken/services/protocols/bgp/info_base/vrffs.py @@ -22,19 +22,19 @@ import abc import logging import six -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import BGPPathAttributeOrigin -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import BGPPathAttributeOrigin +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import BGPPathAttributeExtendedCommunities -from ryu.services.protocols.bgp.base import OrderedDict -from ryu.services.protocols.bgp.info_base.vrf import VrfTable -from ryu.services.protocols.bgp.info_base.vrf import VrfDest -from ryu.services.protocols.bgp.info_base.vrf import VrfPath +from os_ken.services.protocols.bgp.base import OrderedDict +from os_ken.services.protocols.bgp.info_base.vrf import VrfTable +from os_ken.services.protocols.bgp.info_base.vrf import VrfDest +from os_ken.services.protocols.bgp.info_base.vrf import VrfPath -from ryu.services.protocols.bgp.utils.bgp import create_rt_extended_community +from os_ken.services.protocols.bgp.utils.bgp import create_rt_extended_community LOG = logging.getLogger('bgpspeaker.info_base.vrffs') @@ -51,7 +51,7 @@ class VRFFlowSpecTable(VrfTable): assert isinstance(communities, list) vrf_conf = self.vrf_conf - from ryu.services.protocols.bgp.core import EXPECTED_ORIGIN + from os_ken.services.protocols.bgp.core import EXPECTED_ORIGIN pattrs = OrderedDict() pattrs[BGP_ATTR_TYPE_ORIGIN] = BGPPathAttributeOrigin( EXPECTED_ORIGIN) diff --git a/ryu/services/protocols/bgp/info_base/vrfl2vpnfs.py b/os_ken/services/protocols/bgp/info_base/vrfl2vpnfs.py similarity index 79% rename from ryu/services/protocols/bgp/info_base/vrfl2vpnfs.py rename to os_ken/services/protocols/bgp/info_base/vrfl2vpnfs.py index 8e2c545a..458e477e 100644 --- a/ryu/services/protocols/bgp/info_base/vrfl2vpnfs.py +++ b/os_ken/services/protocols/bgp/info_base/vrfl2vpnfs.py @@ -23,13 +23,13 @@ import logging -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.lib.packet.bgp import FlowSpecL2VPNNLRI +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import FlowSpecL2VPNNLRI -from ryu.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath -from ryu.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable +from os_ken.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecDest +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecPath +from os_ken.services.protocols.bgp.info_base.vrffs import VRFFlowSpecTable LOG = logging.getLogger('bgpspeaker.info_base.vrfl2vpnfs') diff --git a/ryu/services/protocols/bgp/model.py b/os_ken/services/protocols/bgp/model.py similarity index 92% rename from ryu/services/protocols/bgp/model.py rename to os_ken/services/protocols/bgp/model.py index 696b6474..2c89c660 100644 --- a/ryu/services/protocols/bgp/model.py +++ b/os_ken/services/protocols/bgp/model.py @@ -95,14 +95,14 @@ class FlexinetOutgoingRoute(object): 'next_sink_out_route', 'prev_sink_out_route', '_route_dist') def __init__(self, path, route_dist): - from ryu.services.protocols.bgp.info_base.vrf4 import Vrf4Path - from ryu.services.protocols.bgp.info_base.vrf6 import Vrf6Path - from ryu.services.protocols.bgp.info_base.vrfevpn import VrfEvpnPath - from ryu.services.protocols.bgp.info_base.vrf4fs import ( + from os_ken.services.protocols.bgp.info_base.vrf4 import Vrf4Path + from os_ken.services.protocols.bgp.info_base.vrf6 import Vrf6Path + from os_ken.services.protocols.bgp.info_base.vrfevpn import VrfEvpnPath + from os_ken.services.protocols.bgp.info_base.vrf4fs import ( Vrf4FlowSpecPath) - from ryu.services.protocols.bgp.info_base.vrf6fs import ( + from os_ken.services.protocols.bgp.info_base.vrf6fs import ( Vrf6FlowSpecPath) - from ryu.services.protocols.bgp.info_base.vrfl2vpnfs import ( + from os_ken.services.protocols.bgp.info_base.vrfl2vpnfs import ( L2vpnFlowSpecPath) assert path.route_family in (Vrf4Path.ROUTE_FAMILY, Vrf6Path.ROUTE_FAMILY, diff --git a/ryu/services/protocols/bgp/net_ctrl.py b/os_ken/services/protocols/bgp/net_ctrl.py similarity index 92% rename from ryu/services/protocols/bgp/net_ctrl.py rename to os_ken/services/protocols/bgp/net_ctrl.py index 92a8e71e..96e06646 100644 --- a/ryu/services/protocols/bgp/net_ctrl.py +++ b/os_ken/services/protocols/bgp/net_ctrl.py @@ -25,24 +25,24 @@ import traceback import msgpack -from ryu.lib.packet import safi as subaddr_family +from os_ken.lib.packet import safi as subaddr_family -from ryu.services.protocols.bgp import api -from ryu.services.protocols.bgp.api.base import ApiException -from ryu.services.protocols.bgp.api.base import NEXT_HOP -from ryu.services.protocols.bgp.api.base import ORIGIN_RD -from ryu.services.protocols.bgp.api.base import PREFIX -from ryu.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER -from ryu.services.protocols.bgp.api.base import VPN_LABEL -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import FlexinetPeer -from ryu.services.protocols.bgp.base import NET_CTRL_ERROR_CODE -from ryu.services.protocols.bgp.constants import VRF_TABLE -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF -from ryu.services.protocols.bgp.rtconf.vrfs import VrfConf -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4 +from os_ken.services.protocols.bgp import api +from os_ken.services.protocols.bgp.api.base import ApiException +from os_ken.services.protocols.bgp.api.base import NEXT_HOP +from os_ken.services.protocols.bgp.api.base import ORIGIN_RD +from os_ken.services.protocols.bgp.api.base import PREFIX +from os_ken.services.protocols.bgp.api.base import ROUTE_DISTINGUISHER +from os_ken.services.protocols.bgp.api.base import VPN_LABEL +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import FlexinetPeer +from os_ken.services.protocols.bgp.base import NET_CTRL_ERROR_CODE +from os_ken.services.protocols.bgp.constants import VRF_TABLE +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF +from os_ken.services.protocols.bgp.rtconf.vrfs import VrfConf +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv4 # Logger instance for this module. @@ -218,7 +218,7 @@ class RpcSession(Activity): LOG.debug('NetworkController processing outgoing request list.') # TODO(PH): We should try not to sent routes from bgp peer that is not # in established state. - from ryu.services.protocols.bgp.model import ( + from os_ken.services.protocols.bgp.model import ( FlexinetOutgoingRoute) while self.is_connected: # sink iter is Sink instance and next is blocking so this isn't diff --git a/ryu/services/protocols/bgp/operator/__init__.py b/os_ken/services/protocols/bgp/operator/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/operator/__init__.py rename to os_ken/services/protocols/bgp/operator/__init__.py diff --git a/ryu/services/protocols/bgp/operator/command.py b/os_ken/services/protocols/bgp/operator/command.py similarity index 100% rename from ryu/services/protocols/bgp/operator/command.py rename to os_ken/services/protocols/bgp/operator/command.py diff --git a/ryu/services/protocols/bgp/operator/commands/__init__.py b/os_ken/services/protocols/bgp/operator/commands/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/operator/commands/__init__.py rename to os_ken/services/protocols/bgp/operator/commands/__init__.py diff --git a/ryu/services/protocols/bgp/operator/commands/clear.py b/os_ken/services/protocols/bgp/operator/commands/clear.py similarity index 82% rename from ryu/services/protocols/bgp/operator/commands/clear.py rename to os_ken/services/protocols/bgp/operator/commands/clear.py index be4a9e9d..901caef8 100644 --- a/ryu/services/protocols/bgp/operator/commands/clear.py +++ b/os_ken/services/protocols/bgp/operator/commands/clear.py @@ -1,7 +1,7 @@ -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp diff --git a/ryu/services/protocols/bgp/operator/commands/responses.py b/os_ken/services/protocols/bgp/operator/commands/responses.py similarity index 81% rename from ryu/services/protocols/bgp/operator/commands/responses.py rename to os_ken/services/protocols/bgp/operator/commands/responses.py index f90dd98e..d6affb74 100644 --- a/ryu/services/protocols/bgp/operator/commands/responses.py +++ b/os_ken/services/protocols/bgp/operator/commands/responses.py @@ -16,9 +16,9 @@ """ Defines classes related to incorrect parameters. """ -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.internal_api import WrongParamError +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.internal_api import WrongParamError class WrongParamResp(object): diff --git a/os_ken/services/protocols/bgp/operator/commands/root.py b/os_ken/services/protocols/bgp/operator/commands/root.py new file mode 100644 index 00000000..2833214a --- /dev/null +++ b/os_ken/services/protocols/bgp/operator/commands/root.py @@ -0,0 +1,11 @@ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.commands.clear import ClearCmd +from os_ken.services.protocols.bgp.operator.commands.set import SetCmd +from os_ken.services.protocols.bgp.operator.commands.show import ShowCmd + + +class RootCmd(Command): + subcommands = { + 'show': ShowCmd, + 'set': SetCmd, + 'clear': ClearCmd} diff --git a/ryu/services/protocols/bgp/operator/commands/set.py b/os_ken/services/protocols/bgp/operator/commands/set.py similarity index 83% rename from ryu/services/protocols/bgp/operator/commands/set.py rename to os_ken/services/protocols/bgp/operator/commands/set.py index c6c9c5dc..98e46539 100644 --- a/ryu/services/protocols/bgp/operator/commands/set.py +++ b/os_ken/services/protocols/bgp/operator/commands/set.py @@ -1,10 +1,10 @@ import logging -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp diff --git a/ryu/services/protocols/bgp/operator/commands/show/__init__.py b/os_ken/services/protocols/bgp/operator/commands/show/__init__.py similarity index 65% rename from ryu/services/protocols/bgp/operator/commands/show/__init__.py rename to os_ken/services/protocols/bgp/operator/commands/show/__init__.py index f0c30726..aae72887 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/__init__.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/__init__.py @@ -1,13 +1,13 @@ -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.commands.show import count -from ryu.services.protocols.bgp.operator.commands.show import importmap -from ryu.services.protocols.bgp.operator.commands.show import memory -from ryu.services.protocols.bgp.operator.commands.show import neighbor -from ryu.services.protocols.bgp.operator.commands.show import rib -from ryu.services.protocols.bgp.operator.commands.show import vrf +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.commands.show import count +from os_ken.services.protocols.bgp.operator.commands.show import importmap +from os_ken.services.protocols.bgp.operator.commands.show import memory +from os_ken.services.protocols.bgp.operator.commands.show import neighbor +from os_ken.services.protocols.bgp.operator.commands.show import rib +from os_ken.services.protocols.bgp.operator.commands.show import vrf class ShowCmd(Command): diff --git a/ryu/services/protocols/bgp/operator/commands/show/count.py b/os_ken/services/protocols/bgp/operator/commands/show/count.py similarity index 76% rename from ryu/services/protocols/bgp/operator/commands/show/count.py rename to os_ken/services/protocols/bgp/operator/commands/show/count.py index f0cd5b89..b240074d 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/count.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/count.py @@ -1,10 +1,10 @@ import logging -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp LOG = logging.getLogger('bgpspeaker.operator.commands.show.count') @@ -32,7 +32,7 @@ class Count(Command): else: vrf_rf = 'ipv4' - from ryu.services.protocols.bgp.operator.internal_api import \ + from os_ken.services.protocols.bgp.operator.internal_api import \ WrongParamError try: return CommandsResponse( diff --git a/ryu/services/protocols/bgp/operator/commands/show/importmap.py b/os_ken/services/protocols/bgp/operator/commands/show/importmap.py similarity index 70% rename from ryu/services/protocols/bgp/operator/commands/show/importmap.py rename to os_ken/services/protocols/bgp/operator/commands/show/importmap.py index d33c6706..370cc909 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/importmap.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/importmap.py @@ -1,11 +1,11 @@ -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp -from ryu.services.protocols.bgp.operator.views.bgp import CoreServiceDetailView +from os_ken.services.protocols.bgp.operator.views.bgp import CoreServiceDetailView class Importmap(Command): diff --git a/ryu/services/protocols/bgp/operator/commands/show/memory.py b/os_ken/services/protocols/bgp/operator/commands/show/memory.py similarity index 90% rename from ryu/services/protocols/bgp/operator/commands/show/memory.py rename to os_ken/services/protocols/bgp/operator/commands/show/memory.py index 415d7fc2..9b80f86f 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/memory.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/memory.py @@ -1,10 +1,10 @@ import gc import sys -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK class Memory(Command): diff --git a/ryu/services/protocols/bgp/operator/commands/show/neighbor.py b/os_ken/services/protocols/bgp/operator/commands/show/neighbor.py similarity index 88% rename from ryu/services/protocols/bgp/operator/commands/show/neighbor.py rename to os_ken/services/protocols/bgp/operator/commands/show/neighbor.py index 20dcaa63..60d09229 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/neighbor.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/neighbor.py @@ -1,20 +1,20 @@ import logging from time import strftime -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp -from ryu.services.protocols.bgp.operator.views.bgp import CoreServiceDetailView -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE +from os_ken.services.protocols.bgp.operator.views.bgp import CoreServiceDetailView +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE LOG = logging.getLogger('bgpspeaker.operator.commands.show.neighbor') diff --git a/ryu/services/protocols/bgp/operator/commands/show/rib.py b/os_ken/services/protocols/bgp/operator/commands/show/rib.py similarity index 81% rename from ryu/services/protocols/bgp/operator/commands/show/rib.py rename to os_ken/services/protocols/bgp/operator/commands/show/rib.py index f05502a5..d648fa9f 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/rib.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/rib.py @@ -1,11 +1,11 @@ from __future__ import absolute_import -from ryu.services.protocols.bgp.base import ActivityException -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import ( +from os_ken.services.protocols.bgp.base import ActivityException +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import ( WrongParamResp) from .route_formatter_mixin import RouteFormatterMixin @@ -39,7 +39,7 @@ class Rib(RibBase): def action(self, params): if len(params) != 1 or params[0] not in self.supported_families: return WrongParamResp() - from ryu.services.protocols.bgp.operator.internal_api \ + from os_ken.services.protocols.bgp.operator.internal_api \ import WrongParamError try: return CommandsResponse( diff --git a/ryu/services/protocols/bgp/operator/commands/show/route_formatter_mixin.py b/os_ken/services/protocols/bgp/operator/commands/show/route_formatter_mixin.py similarity index 100% rename from ryu/services/protocols/bgp/operator/commands/show/route_formatter_mixin.py rename to os_ken/services/protocols/bgp/operator/commands/show/route_formatter_mixin.py diff --git a/ryu/services/protocols/bgp/operator/commands/show/vrf.py b/os_ken/services/protocols/bgp/operator/commands/show/vrf.py similarity index 89% rename from ryu/services/protocols/bgp/operator/commands/show/vrf.py rename to os_ken/services/protocols/bgp/operator/commands/show/vrf.py index c89421f7..d1308a94 100644 --- a/ryu/services/protocols/bgp/operator/commands/show/vrf.py +++ b/os_ken/services/protocols/bgp/operator/commands/show/vrf.py @@ -3,14 +3,14 @@ from __future__ import absolute_import import logging import pprint -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_ERROR -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.responses import \ +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_ERROR +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.responses import \ WrongParamResp -from ryu.services.protocols.bgp.operator.views.conf import ConfDetailView -from ryu.services.protocols.bgp.operator.views.conf import ConfDictView +from os_ken.services.protocols.bgp.operator.views.conf import ConfDetailView +from os_ken.services.protocols.bgp.operator.views.conf import ConfDictView from .route_formatter_mixin import RouteFormatterMixin LOG = logging.getLogger('bgpspeaker.operator.commands.show.vrf') @@ -38,7 +38,7 @@ class Routes(Command, RouteFormatterMixin): return WrongParamResp('route-family not one of %s' % str(SUPPORTED_VRF_RF)) - from ryu.services.protocols.bgp.operator.internal_api import \ + from os_ken.services.protocols.bgp.operator.internal_api import \ WrongParamError try: diff --git a/ryu/services/protocols/bgp/operator/internal_api.py b/os_ken/services/protocols/bgp/operator/internal_api.py similarity index 83% rename from ryu/services/protocols/bgp/operator/internal_api.py rename to os_ken/services/protocols/bgp/operator/internal_api.py index 7020bb7d..edde5dbb 100644 --- a/ryu/services/protocols/bgp/operator/internal_api.py +++ b/os_ken/services/protocols/bgp/operator/internal_api.py @@ -1,30 +1,30 @@ import logging import traceback -from ryu.lib.packet.bgp import RouteFamily -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE +from os_ken.lib.packet.bgp import RouteFamily +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF -from ryu.services.protocols.bgp.core_manager import CORE_MANAGER +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF +from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER LOG = logging.getLogger('bgpspeaker.operator.internal_api') diff --git a/ryu/services/protocols/bgp/operator/ssh.py b/os_ken/services/protocols/bgp/operator/ssh.py similarity index 96% rename from ryu/services/protocols/bgp/operator/ssh.py rename to os_ken/services/protocols/bgp/operator/ssh.py index 5690f674..e1582a3f 100644 --- a/ryu/services/protocols/bgp/operator/ssh.py +++ b/os_ken/services/protocols/bgp/operator/ssh.py @@ -25,14 +25,14 @@ import sys import paramiko -from ryu import version -from ryu.lib import hub -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.command import CommandsResponse -from ryu.services.protocols.bgp.operator.command import STATUS_OK -from ryu.services.protocols.bgp.operator.commands.root import RootCmd -from ryu.services.protocols.bgp.operator.internal_api import InternalApi +from os_ken import version +from os_ken.lib import hub +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.operator.command import Command +from os_ken.services.protocols.bgp.operator.command import CommandsResponse +from os_ken.services.protocols.bgp.operator.command import STATUS_OK +from os_ken.services.protocols.bgp.operator.commands.root import RootCmd +from os_ken.services.protocols.bgp.operator.internal_api import InternalApi SSH_PORT = "ssh_port" SSH_HOST = "ssh_host" @@ -43,8 +43,8 @@ SSH_PASSWORD = "ssh_password" DEFAULT_SSH_PORT = 4990 DEFAULT_SSH_HOST = "localhost" DEFAULT_SSH_HOST_KEY = None -DEFAULT_SSH_USERNAME = "ryu" -DEFAULT_SSH_PASSWORD = "ryu" +DEFAULT_SSH_USERNAME = "os_ken" +DEFAULT_SSH_PASSWORD = "os_ken" CONF = { SSH_PORT: DEFAULT_SSH_PORT, diff --git a/ryu/services/protocols/bgp/operator/views/__init__.py b/os_ken/services/protocols/bgp/operator/views/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/operator/views/__init__.py rename to os_ken/services/protocols/bgp/operator/views/__init__.py diff --git a/ryu/services/protocols/bgp/operator/views/base.py b/os_ken/services/protocols/bgp/operator/views/base.py similarity index 99% rename from ryu/services/protocols/bgp/operator/views/base.py rename to os_ken/services/protocols/bgp/operator/views/base.py index ea1df8c6..df4412f1 100644 --- a/ryu/services/protocols/bgp/operator/views/base.py +++ b/os_ken/services/protocols/bgp/operator/views/base.py @@ -10,7 +10,7 @@ public. They will stay private and only "view" will access them """ import logging -from ryu.services.protocols.bgp.operator.views import fields +from os_ken.services.protocols.bgp.operator.views import fields LOG = logging.getLogger('bgpspeaker.operator.views.base') diff --git a/ryu/services/protocols/bgp/operator/views/bgp.py b/os_ken/services/protocols/bgp/operator/views/bgp.py similarity index 73% rename from ryu/services/protocols/bgp/operator/views/bgp.py rename to os_ken/services/protocols/bgp/operator/views/bgp.py index 9309e6c3..22dab6d0 100644 --- a/ryu/services/protocols/bgp/operator/views/bgp.py +++ b/os_ken/services/protocols/bgp/operator/views/bgp.py @@ -1,34 +1,34 @@ -from ryu.services.protocols.bgp.operator.views.base import \ +from os_ken.services.protocols.bgp.operator.views.base import \ create_dict_view_class -from ryu.services.protocols.bgp.operator.views.base import \ +from os_ken.services.protocols.bgp.operator.views.base import \ create_list_view_class -from ryu.services.protocols.bgp.operator.views.base import OperatorDetailView -from ryu.services.protocols.bgp.operator.views import fields +from os_ken.services.protocols.bgp.operator.views.base import OperatorDetailView +from os_ken.services.protocols.bgp.operator.views import fields -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES class CoreServiceDetailView(OperatorDetailView): rf_state = fields.RelatedViewField( 'rf_state', - 'ryu.services.protocols.bgp.operator.views.bgp.RfStateDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.RfStateDetailView' ) importmap_manager = fields.RelatedDictViewField( '_importmap_manager', - 'ryu.services.protocols.bgp.operator' + 'os_ken.services.protocols.bgp.operator' '.views.other.ImportmapManagerDetailView' ) table_manager = fields.RelatedViewField( '_table_manager', - 'ryu.services.protocols.bgp.operator.views.bgp.TableManagerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.TableManagerDetailView' ) peer_manager = fields.RelatedViewField( '_peer_manager', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerManagerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerManagerDetailView' ) router_id = fields.DataField('router_id') @@ -36,15 +36,15 @@ class CoreServiceDetailView(OperatorDetailView): class TableManagerDetailView(OperatorDetailView): tables = fields.RelatedDictViewField( '_tables', - 'ryu.services.protocols.bgp.operator.views.bgp.TableDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.TableDictView' ) tables_for_rt = fields.RelatedDictViewField( '_tables_for_rt', - 'ryu.services.protocols.bgp.operator.views.bgp.TableDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.TableDictView' ) global_tables = fields.RelatedDictViewField( '_global_tables', - 'ryu.services.protocols.bgp.operator.views.bgp.TableDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.TableDictView' ) asbr_label_range = fields.DataField('_asbr_label_range') next_hop_label = fields.DataField('_next_hop_label') @@ -54,11 +54,11 @@ class TableManagerDetailView(OperatorDetailView): class PeerManagerDetailView(OperatorDetailView): peers = fields.RelatedListViewField( '_peers', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDictView' ) peers_summary = fields.RelatedListViewField( '_peers', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDictSummaryView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDictSummaryView' ) @@ -82,23 +82,23 @@ class PeerDetailView(OperatorDetailView): enabled = fields.DataField('enabled') adj_rib_in = fields.RelatedViewField( 'adj_rib_in', - 'ryu.services.protocols.bgp.operator.views.bgp.ReceivedRouteDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.ReceivedRouteDictView' ) adj_rib_out = fields.RelatedViewField( 'adj_rib_out', - 'ryu.services.protocols.bgp.operator.views.bgp.SentRouteDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.SentRouteDictView' ) neigh_conf = fields.RelatedViewField( '_neigh_conf', - 'ryu.services.protocols.bgp.operator.views.conf.ConfDetailView' + 'os_ken.services.protocols.bgp.operator.views.conf.ConfDetailView' ) common_conf = fields.RelatedViewField( '_common_conf', - 'ryu.services.protocols.bgp.operator.views.conf.ConfDetailView' + 'os_ken.services.protocols.bgp.operator.views.conf.ConfDetailView' ) state = fields.RelatedViewField( 'state', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerStateDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerStateDetailView' ) def encode(self): @@ -123,7 +123,7 @@ class PeerRfDetailView(OperatorDetailView): enabled = fields.DataField('enabled') peer = fields.RelatedViewField( 'peer', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDetailView' ) @@ -132,7 +132,7 @@ class TableDetailView(OperatorDetailView): route_family = fields.DataField('route_family') destinations = fields.RelatedDictViewField( '_destinations', - 'ryu.services.protocols.bgp.operator.views.bgp.DestinationDictView' + 'os_ken.services.protocols.bgp.operator.views.bgp.DestinationDictView' ) @@ -140,18 +140,18 @@ class PathDetailView(OperatorDetailView): source_version_num = fields.DataField('source_version_num') route_family = fields.RelatedViewField( 'route_family', - 'ryu.services.protocols.bgp.operator.views.bgp.RouteFamilyView' + 'os_ken.services.protocols.bgp.operator.views.bgp.RouteFamilyView' ) nlri = fields.RelatedViewField( 'nlri', - 'ryu.services.protocols.bgp.operator.views.bgp.NlriDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.NlriDetailView' ) is_withdraw = fields.DataField('is_withdraw') nexthop = fields.DataField('nexthop') pathattr_map = fields.DataField('pathattr_map') source = fields.RelatedViewField( 'source', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDetailView' ) def encode(self): @@ -183,11 +183,11 @@ class SentRouteDetailView(OperatorDetailView): filtered = fields.DataField('filtered') path = fields.RelatedViewField( 'path', - 'ryu.services.protocols.bgp.operator.views.bgp.PathDetailView', + 'os_ken.services.protocols.bgp.operator.views.bgp.PathDetailView', ) peer = fields.RelatedViewField( 'sent_peer', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDetailView' ) def encode(self): @@ -203,11 +203,11 @@ class ReceivedRouteDetailView(OperatorDetailView): filtered = fields.DataField('filtered') path = fields.RelatedViewField( 'path', - 'ryu.services.protocols.bgp.operator.views.bgp.PathDetailView', + 'os_ken.services.protocols.bgp.operator.views.bgp.PathDetailView', ) peer = fields.RelatedViewField( 'received_peer', - 'ryu.services.protocols.bgp.operator.views.bgp.PeerDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PeerDetailView' ) def encode(self): @@ -221,27 +221,27 @@ class ReceivedRouteDetailView(OperatorDetailView): class DestinationDetailView(OperatorDetailView): table = fields.RelatedViewField( '_table', - 'ryu.services.protocols.bgp.operator.views.bgp.TableDetailView', + 'os_ken.services.protocols.bgp.operator.views.bgp.TableDetailView', ) best_path = fields.RelatedViewField( 'best_path', - 'ryu.services.protocols.bgp.operator.views.bgp.PathDetailView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PathDetailView' ) known_path_list = fields.RelatedListViewField( 'known_path_list', - 'ryu.services.protocols.bgp.operator.views.bgp.PathListView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PathListView' ) new_path_list = fields.RelatedListViewField( '_new_path_list', - 'ryu.services.protocols.bgp.operator.views.bgp.PathListView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PathListView' ) withdraw_list = fields.RelatedListViewField( '_withdraw_list', - 'ryu.services.protocols.bgp.operator.views.bgp.PathListView' + 'os_ken.services.protocols.bgp.operator.views.bgp.PathListView' ) sent_routes = fields.RelatedListViewField( 'sent_routes', - 'ryu.services.protocols.bgp.operator.views.bgp.SentRouteListView' + 'os_ken.services.protocols.bgp.operator.views.bgp.SentRouteListView' ) nlri = fields.DataField('nlri') route_family = fields.DataField('route_family') @@ -259,9 +259,9 @@ class VpnNlriDetailView(IpNlriDetailView): class NlriDetailView(OperatorDetailView): def __new__(cls, obj, filter_func=None): - from ryu.lib.packet.bgp import LabelledVPNIPAddrPrefix - from ryu.lib.packet.bgp import LabelledVPNIP6AddrPrefix - from ryu.lib.packet.bgp import IPAddrPrefix, IP6AddrPrefix + from os_ken.lib.packet.bgp import LabelledVPNIPAddrPrefix + from os_ken.lib.packet.bgp import LabelledVPNIP6AddrPrefix + from os_ken.lib.packet.bgp import IPAddrPrefix, IP6AddrPrefix if isinstance(obj, (LabelledVPNIPAddrPrefix, LabelledVPNIP6AddrPrefix)): return VpnNlriDetailView(obj) diff --git a/ryu/services/protocols/bgp/operator/views/conf.py b/os_ken/services/protocols/bgp/operator/views/conf.py similarity index 54% rename from ryu/services/protocols/bgp/operator/views/conf.py rename to os_ken/services/protocols/bgp/operator/views/conf.py index f348fca0..8e4dc35f 100644 --- a/ryu/services/protocols/bgp/operator/views/conf.py +++ b/os_ken/services/protocols/bgp/operator/views/conf.py @@ -1,7 +1,7 @@ -from ryu.services.protocols.bgp.operator.views.base import \ +from os_ken.services.protocols.bgp.operator.views.base import \ create_dict_view_class -from ryu.services.protocols.bgp.operator.views.base import OperatorDetailView -from ryu.services.protocols.bgp.operator.views import fields +from os_ken.services.protocols.bgp.operator.views.base import OperatorDetailView +from os_ken.services.protocols.bgp.operator.views import fields class ConfDetailView(OperatorDetailView): diff --git a/ryu/services/protocols/bgp/operator/views/fields.py b/os_ken/services/protocols/bgp/operator/views/fields.py similarity index 100% rename from ryu/services/protocols/bgp/operator/views/fields.py rename to os_ken/services/protocols/bgp/operator/views/fields.py diff --git a/ryu/services/protocols/bgp/operator/views/other.py b/os_ken/services/protocols/bgp/operator/views/other.py similarity index 69% rename from ryu/services/protocols/bgp/operator/views/other.py rename to os_ken/services/protocols/bgp/operator/views/other.py index 8e67cce8..75a200dd 100644 --- a/ryu/services/protocols/bgp/operator/views/other.py +++ b/os_ken/services/protocols/bgp/operator/views/other.py @@ -1,13 +1,13 @@ -from ryu.services.protocols.bgp.operator.views.base import \ +from os_ken.services.protocols.bgp.operator.views.base import \ create_dict_view_class -from ryu.services.protocols.bgp.operator.views.base import OperatorDetailView -from ryu.services.protocols.bgp.operator.views import fields +from os_ken.services.protocols.bgp.operator.views.base import OperatorDetailView +from os_ken.services.protocols.bgp.operator.views import fields class ImportmapManagerDetailView(OperatorDetailView): importmaps = fields.RelatedDictViewField( '_import_maps_by_name', - 'ryu.services.protocols.bgp.operator.views.other.ImportmapDictView' + 'os_ken.services.protocols.bgp.operator.views.other.ImportmapDictView' ) diff --git a/ryu/services/protocols/bgp/peer.py b/os_ken/services/protocols/bgp/peer.py similarity index 95% rename from ryu/services/protocols/bgp/peer.py rename to os_ken/services/protocols/bgp/peer.py index f41715eb..390d35fe 100644 --- a/ryu/services/protocols/bgp/peer.py +++ b/os_ken/services/protocols/bgp/peer.py @@ -23,86 +23,86 @@ import traceback from six.moves import zip_longest -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import Sink -from ryu.services.protocols.bgp.base import Source -from ryu.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF -from ryu.services.protocols.bgp import constants as const -from ryu.services.protocols.bgp.model import OutgoingRoute -from ryu.services.protocols.bgp.model import SentRoute -from ryu.services.protocols.bgp.info_base.base import PrefixFilter -from ryu.services.protocols.bgp.info_base.base import AttributeMap -from ryu.services.protocols.bgp.model import ReceivedRoute -from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER -from ryu.services.protocols.bgp.rtconf.neighbors import NeighborConfListener -from ryu.services.protocols.bgp.rtconf.neighbors import CONNECT_MODE_PASSIVE -from ryu.services.protocols.bgp.signals.emit import BgpSignalBus -from ryu.services.protocols.bgp.speaker import BgpProtocol -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path -from ryu.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path -from ryu.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4, VRF_RF_IPV6 -from ryu.services.protocols.bgp.utils import bgp as bgp_utils -from ryu.services.protocols.bgp.utils.evtlet import EventletIOFactory -from ryu.services.protocols.bgp.utils import stats -from ryu.services.protocols.bgp.utils.validation import is_valid_old_asn +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import Sink +from os_ken.services.protocols.bgp.base import Source +from os_ken.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF +from os_ken.services.protocols.bgp import constants as const +from os_ken.services.protocols.bgp.model import OutgoingRoute +from os_ken.services.protocols.bgp.model import SentRoute +from os_ken.services.protocols.bgp.info_base.base import PrefixFilter +from os_ken.services.protocols.bgp.info_base.base import AttributeMap +from os_ken.services.protocols.bgp.model import ReceivedRoute +from os_ken.services.protocols.bgp.net_ctrl import NET_CONTROLLER +from os_ken.services.protocols.bgp.rtconf.neighbors import NeighborConfListener +from os_ken.services.protocols.bgp.rtconf.neighbors import CONNECT_MODE_PASSIVE +from os_ken.services.protocols.bgp.signals.emit import BgpSignalBus +from os_ken.services.protocols.bgp.speaker import BgpProtocol +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Path +from os_ken.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path +from os_ken.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4, VRF_RF_IPV6 +from os_ken.services.protocols.bgp.utils import bgp as bgp_utils +from os_ken.services.protocols.bgp.utils.evtlet import EventletIOFactory +from os_ken.services.protocols.bgp.utils import stats +from os_ken.services.protocols.bgp.utils.validation import is_valid_old_asn -from ryu.lib.packet import bgp +from os_ken.lib.packet import bgp -from ryu.lib.packet.bgp import RouteFamily -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import get_rf +from os_ken.lib.packet.bgp import RouteFamily +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import get_rf -from ryu.lib.packet.bgp import BGPOpen -from ryu.lib.packet.bgp import BGPUpdate -from ryu.lib.packet.bgp import BGPRouteRefresh +from os_ken.lib.packet.bgp import BGPOpen +from os_ken.lib.packet.bgp import BGPUpdate +from os_ken.lib.packet.bgp import BGPRouteRefresh -from ryu.lib.packet.bgp import BGP_ERROR_CEASE -from ryu.lib.packet.bgp import BGP_ERROR_SUB_ADMINISTRATIVE_SHUTDOWN -from ryu.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_COLLISION_RESOLUTION +from os_ken.lib.packet.bgp import BGP_ERROR_CEASE +from os_ken.lib.packet.bgp import BGP_ERROR_SUB_ADMINISTRATIVE_SHUTDOWN +from os_ken.lib.packet.bgp import BGP_ERROR_SUB_CONNECTION_COLLISION_RESOLUTION -from ryu.lib.packet.bgp import BGP_MSG_UPDATE -from ryu.lib.packet.bgp import BGP_MSG_KEEPALIVE -from ryu.lib.packet.bgp import BGP_MSG_ROUTE_REFRESH +from os_ken.lib.packet.bgp import BGP_MSG_UPDATE +from os_ken.lib.packet.bgp import BGP_MSG_KEEPALIVE +from os_ken.lib.packet.bgp import BGP_MSG_ROUTE_REFRESH -from ryu.lib.packet.bgp import BGPPathAttributeNextHop -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import BGPPathAttributeAs4Path -from ryu.lib.packet.bgp import BGPPathAttributeLocalPref -from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities -from ryu.lib.packet.bgp import BGPPathAttributeOriginatorId -from ryu.lib.packet.bgp import BGPPathAttributeClusterList -from ryu.lib.packet.bgp import BGPPathAttributeMpReachNLRI -from ryu.lib.packet.bgp import BGPPathAttributeMpUnreachNLRI -from ryu.lib.packet.bgp import BGPPathAttributeCommunities -from ryu.lib.packet.bgp import BGPPathAttributeMultiExitDisc +from os_ken.lib.packet.bgp import BGPPathAttributeNextHop +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import BGPPathAttributeAs4Path +from os_ken.lib.packet.bgp import BGPPathAttributeLocalPref +from os_ken.lib.packet.bgp import BGPPathAttributeExtendedCommunities +from os_ken.lib.packet.bgp import BGPPathAttributeOriginatorId +from os_ken.lib.packet.bgp import BGPPathAttributeClusterList +from os_ken.lib.packet.bgp import BGPPathAttributeMpReachNLRI +from os_ken.lib.packet.bgp import BGPPathAttributeMpUnreachNLRI +from os_ken.lib.packet.bgp import BGPPathAttributeCommunities +from os_ken.lib.packet.bgp import BGPPathAttributeMultiExitDisc -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AGGREGATOR -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS4_AGGREGATOR -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS4_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_NEXT_HOP -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MP_REACH_NLRI -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MP_UNREACH_NLRI -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_COMMUNITIES -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGINATOR_ID -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_CLUSTER_LIST -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import BGP_ATTR_TYEP_PMSI_TUNNEL_ATTRIBUTE +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AGGREGATOR +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS4_AGGREGATOR +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS4_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_NEXT_HOP +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MP_REACH_NLRI +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MP_UNREACH_NLRI +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_COMMUNITIES +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGINATOR_ID +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_CLUSTER_LIST +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import BGP_ATTR_TYEP_PMSI_TUNNEL_ATTRIBUTE -from ryu.lib.packet.bgp import BGPTwoOctetAsSpecificExtendedCommunity -from ryu.lib.packet.bgp import BGPIPv4AddressSpecificExtendedCommunity +from os_ken.lib.packet.bgp import BGPTwoOctetAsSpecificExtendedCommunity +from os_ken.lib.packet.bgp import BGPIPv4AddressSpecificExtendedCommunity -from ryu.lib.packet import safi as subaddr_family +from os_ken.lib.packet import safi as subaddr_family LOG = logging.getLogger('bgpspeaker.peer') diff --git a/ryu/services/protocols/bgp/processor.py b/os_ken/services/protocols/bgp/processor.py similarity index 94% rename from ryu/services/protocols/bgp/processor.py rename to os_ken/services/protocols/bgp/processor.py index 789192ea..bec3df90 100644 --- a/ryu/services/protocols/bgp/processor.py +++ b/os_ken/services/protocols/bgp/processor.py @@ -18,23 +18,23 @@ import logging -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGP_PROCESSOR_ERROR_CODE -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.utils import circlist -from ryu.services.protocols.bgp.utils.evtlet import EventletIOFactory +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGP_PROCESSOR_ERROR_CODE +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.utils import circlist +from os_ken.services.protocols.bgp.utils.evtlet import EventletIOFactory -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGINATOR_ID -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_CLUSTER_LIST -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_LOCAL_PREF +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGINATOR_ID +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_CLUSTER_LIST +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_EGP +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_INCOMPLETE LOG = logging.getLogger('bgpspeaker.processor') @@ -519,7 +519,7 @@ def _cmp_by_router_id(local_asn, path1, path2): return None # Select the path with lowest router Id. - from ryu.services.protocols.bgp.utils.bgp import from_inet_ptoi + from os_ken.services.protocols.bgp.utils.bgp import from_inet_ptoi if from_inet_ptoi(router_id1) < from_inet_ptoi(router_id2): return path1 else: diff --git a/ryu/services/protocols/bgp/protocol.py b/os_ken/services/protocols/bgp/protocol.py similarity index 100% rename from ryu/services/protocols/bgp/protocol.py rename to os_ken/services/protocols/bgp/protocol.py diff --git a/ryu/services/protocols/bgp/rtconf/__init__.py b/os_ken/services/protocols/bgp/rtconf/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/rtconf/__init__.py rename to os_ken/services/protocols/bgp/rtconf/__init__.py diff --git a/ryu/services/protocols/bgp/rtconf/base.py b/os_ken/services/protocols/bgp/rtconf/base.py similarity index 98% rename from ryu/services/protocols/bgp/rtconf/base.py rename to os_ken/services/protocols/bgp/rtconf/base.py index 718b8e38..d9ba85b1 100644 --- a/ryu/services/protocols/bgp/rtconf/base.py +++ b/os_ken/services/protocols/bgp/rtconf/base.py @@ -25,13 +25,13 @@ import uuid import six -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import get_validator -from ryu.services.protocols.bgp.base import RUNTIME_CONF_ERROR_CODE -from ryu.services.protocols.bgp.base import validate -from ryu.services.protocols.bgp.utils import validation -from ryu.services.protocols.bgp.utils.validation import is_valid_asn +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import get_validator +from os_ken.services.protocols.bgp.base import RUNTIME_CONF_ERROR_CODE +from os_ken.services.protocols.bgp.base import validate +from os_ken.services.protocols.bgp.utils import validation +from os_ken.services.protocols.bgp.utils.validation import is_valid_asn LOG = logging.getLogger('bgpspeaker.rtconf.base') diff --git a/ryu/services/protocols/bgp/rtconf/common.py b/os_ken/services/protocols/bgp/rtconf/common.py similarity index 95% rename from ryu/services/protocols/bgp/rtconf/common.py rename to os_ken/services/protocols/bgp/rtconf/common.py index 9f6c0a1b..c42fff97 100644 --- a/ryu/services/protocols/bgp/rtconf/common.py +++ b/os_ken/services/protocols/bgp/rtconf/common.py @@ -19,19 +19,19 @@ import logging import numbers -from ryu.lib import ip +from os_ken.lib import ip -from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4 -from ryu.services.protocols.bgp.utils.validation import is_valid_asn +from os_ken.services.protocols.bgp.utils.validation import is_valid_ipv4 +from os_ken.services.protocols.bgp.utils.validation import is_valid_asn -from ryu.services.protocols.bgp import rtconf -from ryu.services.protocols.bgp.rtconf.base import BaseConf -from ryu.services.protocols.bgp.rtconf.base import BaseConfListener -from ryu.services.protocols.bgp.rtconf.base import compute_optional_conf -from ryu.services.protocols.bgp.rtconf.base import ConfigTypeError -from ryu.services.protocols.bgp.rtconf.base import ConfigValueError -from ryu.services.protocols.bgp.rtconf.base import MissingRequiredConf -from ryu.services.protocols.bgp.rtconf.base import validate +from os_ken.services.protocols.bgp import rtconf +from os_ken.services.protocols.bgp.rtconf.base import BaseConf +from os_ken.services.protocols.bgp.rtconf.base import BaseConfListener +from os_ken.services.protocols.bgp.rtconf.base import compute_optional_conf +from os_ken.services.protocols.bgp.rtconf.base import ConfigTypeError +from os_ken.services.protocols.bgp.rtconf.base import ConfigValueError +from os_ken.services.protocols.bgp.rtconf.base import MissingRequiredConf +from os_ken.services.protocols.bgp.rtconf.base import validate LOG = logging.getLogger('bgpspeaker.rtconf.common') diff --git a/ryu/services/protocols/bgp/rtconf/neighbors.py b/os_ken/services/protocols/bgp/rtconf/neighbors.py similarity index 88% rename from ryu/services/protocols/bgp/rtconf/neighbors.py rename to os_ken/services/protocols/bgp/rtconf/neighbors.py index b0853f10..53274953 100644 --- a/ryu/services/protocols/bgp/rtconf/neighbors.py +++ b/os_ken/services/protocols/bgp/rtconf/neighbors.py @@ -22,67 +22,67 @@ import numbers import netaddr -from ryu.lib import ip +from os_ken.lib import ip -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_IPv4_VPN -from ryu.lib.packet.bgp import RF_IPv6_VPN -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_VPNv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import BGPOptParamCapabilityFourOctetAsNumber -from ryu.lib.packet.bgp import BGPOptParamCapabilityEnhancedRouteRefresh -from ryu.lib.packet.bgp import BGPOptParamCapabilityMultiprotocol -from ryu.lib.packet.bgp import BGPOptParamCapabilityRouteRefresh -from ryu.lib.packet.bgp import BGP_CAP_FOUR_OCTET_AS_NUMBER -from ryu.lib.packet.bgp import BGP_CAP_ENHANCED_ROUTE_REFRESH -from ryu.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL -from ryu.lib.packet.bgp import BGP_CAP_ROUTE_REFRESH +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_IPv4_VPN +from os_ken.lib.packet.bgp import RF_IPv6_VPN +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_VPNv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import BGPOptParamCapabilityFourOctetAsNumber +from os_ken.lib.packet.bgp import BGPOptParamCapabilityEnhancedRouteRefresh +from os_ken.lib.packet.bgp import BGPOptParamCapabilityMultiprotocol +from os_ken.lib.packet.bgp import BGPOptParamCapabilityRouteRefresh +from os_ken.lib.packet.bgp import BGP_CAP_FOUR_OCTET_AS_NUMBER +from os_ken.lib.packet.bgp import BGP_CAP_ENHANCED_ROUTE_REFRESH +from os_ken.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL +from os_ken.lib.packet.bgp import BGP_CAP_ROUTE_REFRESH -from ryu.services.protocols.bgp.base import OrderedDict -from ryu.services.protocols.bgp.constants import STD_BGP_SERVER_PORT_NUM -from ryu.services.protocols.bgp.rtconf.base import ADVERTISE_PEER_AS -from ryu.services.protocols.bgp.rtconf.base import BaseConf -from ryu.services.protocols.bgp.rtconf.base import BaseConfListener -from ryu.services.protocols.bgp.rtconf.base import CAP_ENHANCED_REFRESH -from ryu.services.protocols.bgp.rtconf.base import CAP_FOUR_OCTET_AS_NUMBER -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6 -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_EVPN -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6FS -from ryu.services.protocols.bgp.rtconf.base import CAP_MBGP_L2VPNFS -from ryu.services.protocols.bgp.rtconf.base import CAP_REFRESH -from ryu.services.protocols.bgp.rtconf.base import CAP_RTC -from ryu.services.protocols.bgp.rtconf.base import compute_optional_conf -from ryu.services.protocols.bgp.rtconf.base import ConfigTypeError -from ryu.services.protocols.bgp.rtconf.base import ConfigValueError -from ryu.services.protocols.bgp.rtconf.base import ConfWithId -from ryu.services.protocols.bgp.rtconf.base import ConfWithIdListener -from ryu.services.protocols.bgp.rtconf.base import ConfWithStats -from ryu.services.protocols.bgp.rtconf.base import ConfWithStatsListener -from ryu.services.protocols.bgp.rtconf.base import HOLD_TIME -from ryu.services.protocols.bgp.rtconf.base import MAX_PREFIXES -from ryu.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC -from ryu.services.protocols.bgp.rtconf.base import RTC_AS -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS -from ryu.services.protocols.bgp.rtconf.base import validate -from ryu.services.protocols.bgp.rtconf.base import validate_med -from ryu.services.protocols.bgp.rtconf.base import validate_soo_list -from ryu.services.protocols.bgp.utils.validation import is_valid_asn -from ryu.services.protocols.bgp.info_base.base import Filter -from ryu.services.protocols.bgp.info_base.base import PrefixFilter -from ryu.services.protocols.bgp.info_base.base import AttributeMap +from os_ken.services.protocols.bgp.base import OrderedDict +from os_ken.services.protocols.bgp.constants import STD_BGP_SERVER_PORT_NUM +from os_ken.services.protocols.bgp.rtconf.base import ADVERTISE_PEER_AS +from os_ken.services.protocols.bgp.rtconf.base import BaseConf +from os_ken.services.protocols.bgp.rtconf.base import BaseConfListener +from os_ken.services.protocols.bgp.rtconf.base import CAP_ENHANCED_REFRESH +from os_ken.services.protocols.bgp.rtconf.base import CAP_FOUR_OCTET_AS_NUMBER +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6 +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_EVPN +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV4FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_IPV6FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV4FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_VPNV6FS +from os_ken.services.protocols.bgp.rtconf.base import CAP_MBGP_L2VPNFS +from os_ken.services.protocols.bgp.rtconf.base import CAP_REFRESH +from os_ken.services.protocols.bgp.rtconf.base import CAP_RTC +from os_ken.services.protocols.bgp.rtconf.base import compute_optional_conf +from os_ken.services.protocols.bgp.rtconf.base import ConfigTypeError +from os_ken.services.protocols.bgp.rtconf.base import ConfigValueError +from os_ken.services.protocols.bgp.rtconf.base import ConfWithId +from os_ken.services.protocols.bgp.rtconf.base import ConfWithIdListener +from os_ken.services.protocols.bgp.rtconf.base import ConfWithStats +from os_ken.services.protocols.bgp.rtconf.base import ConfWithStatsListener +from os_ken.services.protocols.bgp.rtconf.base import HOLD_TIME +from os_ken.services.protocols.bgp.rtconf.base import MAX_PREFIXES +from os_ken.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC +from os_ken.services.protocols.bgp.rtconf.base import RTC_AS +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS +from os_ken.services.protocols.bgp.rtconf.base import validate +from os_ken.services.protocols.bgp.rtconf.base import validate_med +from os_ken.services.protocols.bgp.rtconf.base import validate_soo_list +from os_ken.services.protocols.bgp.utils.validation import is_valid_asn +from os_ken.services.protocols.bgp.info_base.base import Filter +from os_ken.services.protocols.bgp.info_base.base import PrefixFilter +from os_ken.services.protocols.bgp.info_base.base import AttributeMap LOG = logging.getLogger('bgpspeaker.rtconf.neighbor') @@ -443,7 +443,7 @@ class NeighborConf(ConfWithId, ConfWithStats): # We use the global defined local (router) AS as the default # local AS. - from ryu.services.protocols.bgp.core_manager import CORE_MANAGER + from os_ken.services.protocols.bgp.core_manager import CORE_MANAGER g_local_as = CORE_MANAGER.common_conf.local_as self._settings[LOCAL_AS] = compute_optional_conf( LOCAL_AS, g_local_as, **kwargs) diff --git a/ryu/services/protocols/bgp/rtconf/vrfs.py b/os_ken/services/protocols/bgp/rtconf/vrfs.py similarity index 92% rename from ryu/services/protocols/bgp/rtconf/vrfs.py rename to os_ken/services/protocols/bgp/rtconf/vrfs.py index 72958df2..c483e37e 100644 --- a/ryu/services/protocols/bgp/rtconf/vrfs.py +++ b/os_ken/services/protocols/bgp/rtconf/vrfs.py @@ -20,31 +20,31 @@ import abc import logging -from ryu.lib.packet.bgp import RF_IPv4_UC -from ryu.lib.packet.bgp import RF_IPv6_UC -from ryu.lib.packet.bgp import RF_L2_EVPN -from ryu.lib.packet.bgp import RF_IPv4_FLOWSPEC -from ryu.lib.packet.bgp import RF_IPv6_FLOWSPEC -from ryu.lib.packet.bgp import RF_L2VPN_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv4_UC +from os_ken.lib.packet.bgp import RF_IPv6_UC +from os_ken.lib.packet.bgp import RF_L2_EVPN +from os_ken.lib.packet.bgp import RF_IPv4_FLOWSPEC +from os_ken.lib.packet.bgp import RF_IPv6_FLOWSPEC +from os_ken.lib.packet.bgp import RF_L2VPN_FLOWSPEC -from ryu.services.protocols.bgp.utils import validation -from ryu.services.protocols.bgp.base import get_validator -from ryu.services.protocols.bgp.rtconf.base import BaseConf -from ryu.services.protocols.bgp.rtconf.base import BaseConfListener -from ryu.services.protocols.bgp.rtconf.base import ConfigTypeError -from ryu.services.protocols.bgp.rtconf.base import ConfigValueError -from ryu.services.protocols.bgp.rtconf.base import ConfWithId -from ryu.services.protocols.bgp.rtconf.base import ConfWithIdListener -from ryu.services.protocols.bgp.rtconf.base import ConfWithStats -from ryu.services.protocols.bgp.rtconf.base import ConfWithStatsListener -from ryu.services.protocols.bgp.rtconf.base import MAX_NUM_EXPORT_RT -from ryu.services.protocols.bgp.rtconf.base import MAX_NUM_IMPORT_RT -from ryu.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC -from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError -from ryu.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS -from ryu.services.protocols.bgp.rtconf.base import validate -from ryu.services.protocols.bgp.rtconf.base import validate_med -from ryu.services.protocols.bgp.rtconf.base import validate_soo_list +from os_ken.services.protocols.bgp.utils import validation +from os_ken.services.protocols.bgp.base import get_validator +from os_ken.services.protocols.bgp.rtconf.base import BaseConf +from os_ken.services.protocols.bgp.rtconf.base import BaseConfListener +from os_ken.services.protocols.bgp.rtconf.base import ConfigTypeError +from os_ken.services.protocols.bgp.rtconf.base import ConfigValueError +from os_ken.services.protocols.bgp.rtconf.base import ConfWithId +from os_ken.services.protocols.bgp.rtconf.base import ConfWithIdListener +from os_ken.services.protocols.bgp.rtconf.base import ConfWithStats +from os_ken.services.protocols.bgp.rtconf.base import ConfWithStatsListener +from os_ken.services.protocols.bgp.rtconf.base import MAX_NUM_EXPORT_RT +from os_ken.services.protocols.bgp.rtconf.base import MAX_NUM_IMPORT_RT +from os_ken.services.protocols.bgp.rtconf.base import MULTI_EXIT_DISC +from os_ken.services.protocols.bgp.rtconf.base import RuntimeConfigError +from os_ken.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS +from os_ken.services.protocols.bgp.rtconf.base import validate +from os_ken.services.protocols.bgp.rtconf.base import validate_med +from os_ken.services.protocols.bgp.rtconf.base import validate_soo_list LOG = logging.getLogger('bgpspeaker.rtconf.vrfs') diff --git a/os_ken/services/protocols/bgp/signals/__init__.py b/os_ken/services/protocols/bgp/signals/__init__.py new file mode 100644 index 00000000..910612dd --- /dev/null +++ b/os_ken/services/protocols/bgp/signals/__init__.py @@ -0,0 +1,4 @@ +from os_ken.services.protocols.bgp.signals.base import SignalBus + +__all__ = [SignalBus] +__author__ = 'yak' diff --git a/ryu/services/protocols/bgp/signals/base.py b/os_ken/services/protocols/bgp/signals/base.py similarity index 100% rename from ryu/services/protocols/bgp/signals/base.py rename to os_ken/services/protocols/bgp/signals/base.py diff --git a/ryu/services/protocols/bgp/signals/emit.py b/os_ken/services/protocols/bgp/signals/emit.py similarity index 97% rename from ryu/services/protocols/bgp/signals/emit.py rename to os_ken/services/protocols/bgp/signals/emit.py index d97ce1c8..037f472e 100644 --- a/ryu/services/protocols/bgp/signals/emit.py +++ b/os_ken/services/protocols/bgp/signals/emit.py @@ -1,4 +1,4 @@ -from ryu.services.protocols.bgp.signals import SignalBus +from os_ken.services.protocols.bgp.signals import SignalBus class BgpSignalBus(SignalBus): diff --git a/ryu/services/protocols/bgp/speaker.py b/os_ken/services/protocols/bgp/speaker.py similarity index 93% rename from ryu/services/protocols/bgp/speaker.py rename to os_ken/services/protocols/bgp/speaker.py index 35bc9e63..6a0f8e2e 100644 --- a/ryu/services/protocols/bgp/speaker.py +++ b/os_ken/services/protocols/bgp/speaker.py @@ -23,34 +23,34 @@ import traceback from socket import IPPROTO_TCP, TCP_NODELAY from eventlet import semaphore -from ryu.lib.packet import bgp -from ryu.lib.packet.bgp import AS_TRANS -from ryu.lib.packet.bgp import BGPMessage -from ryu.lib.packet.bgp import BGPOpen -from ryu.lib.packet.bgp import BGPUpdate -from ryu.lib.packet.bgp import BGPKeepAlive -from ryu.lib.packet.bgp import BGPNotification -from ryu.lib.packet.bgp import BGP_MSG_OPEN -from ryu.lib.packet.bgp import BGP_MSG_UPDATE -from ryu.lib.packet.bgp import BGP_MSG_KEEPALIVE -from ryu.lib.packet.bgp import BGP_MSG_NOTIFICATION -from ryu.lib.packet.bgp import BGP_MSG_ROUTE_REFRESH -from ryu.lib.packet.bgp import BGP_CAP_FOUR_OCTET_AS_NUMBER -from ryu.lib.packet.bgp import BGP_CAP_ENHANCED_ROUTE_REFRESH -from ryu.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL -from ryu.lib.packet.bgp import BGP_ERROR_HOLD_TIMER_EXPIRED -from ryu.lib.packet.bgp import BGP_ERROR_SUB_HOLD_TIMER_EXPIRED -from ryu.lib.packet.bgp import get_rf +from os_ken.lib.packet import bgp +from os_ken.lib.packet.bgp import AS_TRANS +from os_ken.lib.packet.bgp import BGPMessage +from os_ken.lib.packet.bgp import BGPOpen +from os_ken.lib.packet.bgp import BGPUpdate +from os_ken.lib.packet.bgp import BGPKeepAlive +from os_ken.lib.packet.bgp import BGPNotification +from os_ken.lib.packet.bgp import BGP_MSG_OPEN +from os_ken.lib.packet.bgp import BGP_MSG_UPDATE +from os_ken.lib.packet.bgp import BGP_MSG_KEEPALIVE +from os_ken.lib.packet.bgp import BGP_MSG_NOTIFICATION +from os_ken.lib.packet.bgp import BGP_MSG_ROUTE_REFRESH +from os_ken.lib.packet.bgp import BGP_CAP_FOUR_OCTET_AS_NUMBER +from os_ken.lib.packet.bgp import BGP_CAP_ENHANCED_ROUTE_REFRESH +from os_ken.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL +from os_ken.lib.packet.bgp import BGP_ERROR_HOLD_TIMER_EXPIRED +from os_ken.lib.packet.bgp import BGP_ERROR_SUB_HOLD_TIMER_EXPIRED +from os_ken.lib.packet.bgp import get_rf -from ryu.services.protocols.bgp.base import Activity -from ryu.services.protocols.bgp.base import add_bgp_error_metadata -from ryu.services.protocols.bgp.base import BGPSException -from ryu.services.protocols.bgp.base import CORE_ERROR_CODE -from ryu.services.protocols.bgp.constants import BGP_FSM_CONNECT -from ryu.services.protocols.bgp.constants import BGP_FSM_OPEN_CONFIRM -from ryu.services.protocols.bgp.constants import BGP_FSM_OPEN_SENT -from ryu.services.protocols.bgp.constants import BGP_VERSION_NUM -from ryu.services.protocols.bgp.protocol import Protocol +from os_ken.services.protocols.bgp.base import Activity +from os_ken.services.protocols.bgp.base import add_bgp_error_metadata +from os_ken.services.protocols.bgp.base import BGPSException +from os_ken.services.protocols.bgp.base import CORE_ERROR_CODE +from os_ken.services.protocols.bgp.constants import BGP_FSM_CONNECT +from os_ken.services.protocols.bgp.constants import BGP_FSM_OPEN_CONFIRM +from os_ken.services.protocols.bgp.constants import BGP_FSM_OPEN_SENT +from os_ken.services.protocols.bgp.constants import BGP_VERSION_NUM +from os_ken.services.protocols.bgp.protocol import Protocol LOG = logging.getLogger('bgpspeaker.speaker') @@ -153,7 +153,7 @@ class BgpProtocol(Protocol, Activity): Should only be called after protocol has reached OpenConfirm state. """ - from ryu.services.protocols.bgp.utils.bgp import from_inet_ptoi + from os_ken.services.protocols.bgp.utils.bgp import from_inet_ptoi if not self.state == BGP_FSM_OPEN_CONFIRM: raise BgpProtocolException(desc='Can access remote router id only' diff --git a/ryu/services/protocols/bgp/utils/__init__.py b/os_ken/services/protocols/bgp/utils/__init__.py similarity index 100% rename from ryu/services/protocols/bgp/utils/__init__.py rename to os_ken/services/protocols/bgp/utils/__init__.py diff --git a/ryu/services/protocols/bgp/utils/bgp.py b/os_ken/services/protocols/bgp/utils/bgp.py similarity index 90% rename from ryu/services/protocols/bgp/utils/bgp.py rename to os_ken/services/protocols/bgp/utils/bgp.py index 9f28802c..af61f49b 100644 --- a/ryu/services/protocols/bgp/utils/bgp.py +++ b/os_ken/services/protocols/bgp/utils/bgp.py @@ -20,8 +20,8 @@ import logging import netaddr -from ryu.lib import ip -from ryu.lib.packet.bgp import ( +from os_ken.lib import ip +from os_ken.lib.packet.bgp import ( BGPUpdate, RF_IPv4_UC, RF_IPv6_UC, @@ -53,17 +53,17 @@ from ryu.lib.packet.bgp import ( BGPFlowSpecVlanActionCommunity, BGPFlowSpecTPIDActionCommunity, ) -from ryu.services.protocols.bgp.info_base.rtc import RtcPath -from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path -from ryu.services.protocols.bgp.info_base.ipv6 import Ipv6Path -from ryu.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path -from ryu.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path -from ryu.services.protocols.bgp.info_base.evpn import EvpnPath -from ryu.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecPath -from ryu.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecPath -from ryu.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecPath -from ryu.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecPath -from ryu.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecPath +from os_ken.services.protocols.bgp.info_base.rtc import RtcPath +from os_ken.services.protocols.bgp.info_base.ipv4 import Ipv4Path +from os_ken.services.protocols.bgp.info_base.ipv6 import Ipv6Path +from os_ken.services.protocols.bgp.info_base.vpnv4 import Vpnv4Path +from os_ken.services.protocols.bgp.info_base.vpnv6 import Vpnv6Path +from os_ken.services.protocols.bgp.info_base.evpn import EvpnPath +from os_ken.services.protocols.bgp.info_base.ipv4fs import IPv4FlowSpecPath +from os_ken.services.protocols.bgp.info_base.ipv6fs import IPv6FlowSpecPath +from os_ken.services.protocols.bgp.info_base.vpnv4fs import VPNv4FlowSpecPath +from os_ken.services.protocols.bgp.info_base.vpnv6fs import VPNv6FlowSpecPath +from os_ken.services.protocols.bgp.info_base.l2vpnfs import L2VPNFlowSpecPath LOG = logging.getLogger('utils.bgp') @@ -211,7 +211,7 @@ def create_v4flowspec_actions(actions=None): Returns a list of extended community values. """ - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_ACTION_TRAFFIC_RATE, FLOWSPEC_ACTION_TRAFFIC_ACTION, FLOWSPEC_ACTION_REDIRECT, @@ -236,7 +236,7 @@ def create_v6flowspec_actions(actions=None): "FLOWSPEC_ACTION_REDIRECT_IPV6" is not implemented yet. """ - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_ACTION_TRAFFIC_RATE, FLOWSPEC_ACTION_TRAFFIC_ACTION, FLOWSPEC_ACTION_REDIRECT, @@ -258,7 +258,7 @@ def create_l2vpnflowspec_actions(actions=None): """ Create list of traffic filtering actions for L2VPN Flow Specification. """ - from ryu.services.protocols.bgp.api.prefix import ( + from os_ken.services.protocols.bgp.api.prefix import ( FLOWSPEC_ACTION_TRAFFIC_RATE, FLOWSPEC_ACTION_TRAFFIC_ACTION, FLOWSPEC_ACTION_REDIRECT, diff --git a/ryu/services/protocols/bgp/utils/circlist.py b/os_ken/services/protocols/bgp/utils/circlist.py similarity index 100% rename from ryu/services/protocols/bgp/utils/circlist.py rename to os_ken/services/protocols/bgp/utils/circlist.py diff --git a/ryu/services/protocols/bgp/utils/evtlet.py b/os_ken/services/protocols/bgp/utils/evtlet.py similarity index 99% rename from ryu/services/protocols/bgp/utils/evtlet.py rename to os_ken/services/protocols/bgp/utils/evtlet.py index e9ec6471..94116ee6 100644 --- a/ryu/services/protocols/bgp/utils/evtlet.py +++ b/os_ken/services/protocols/bgp/utils/evtlet.py @@ -16,7 +16,7 @@ """ Concurrent networking library - Eventlet, based utilities classes. """ -from ryu.lib import hub +from os_ken.lib import hub import logging LOG = logging.getLogger('utils.evtlet') diff --git a/ryu/services/protocols/bgp/utils/rtfilter.py b/os_ken/services/protocols/bgp/utils/rtfilter.py similarity index 94% rename from ryu/services/protocols/bgp/utils/rtfilter.py rename to os_ken/services/protocols/bgp/utils/rtfilter.py index cfc66935..a6b29ebc 100644 --- a/ryu/services/protocols/bgp/utils/rtfilter.py +++ b/os_ken/services/protocols/bgp/utils/rtfilter.py @@ -18,14 +18,14 @@ """ import logging -from ryu.lib.packet.bgp import RF_RTC_UC -from ryu.lib.packet.bgp import RouteTargetMembershipNLRI -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import BGPPathAttributeOrigin -from ryu.services.protocols.bgp.base import OrderedDict -from ryu.services.protocols.bgp.info_base.rtc import RtcPath +from os_ken.lib.packet.bgp import RF_RTC_UC +from os_ken.lib.packet.bgp import RouteTargetMembershipNLRI +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import BGPPathAttributeOrigin +from os_ken.services.protocols.bgp.base import OrderedDict +from os_ken.services.protocols.bgp.info_base.rtc import RtcPath LOG = logging.getLogger('bgpspeaker.util.rtfilter') @@ -76,7 +76,7 @@ class RouteTargetManager(object): self._add_rt_nlri_for_as(rtc_as, route_target, is_withdraw) def _add_rt_nlri_for_as(self, rtc_as, route_target, is_withdraw=False): - from ryu.services.protocols.bgp.core import EXPECTED_ORIGIN + from os_ken.services.protocols.bgp.core import EXPECTED_ORIGIN rt_nlri = RouteTargetMembershipNLRI(rtc_as, route_target) # Create a dictionary for path-attrs. pattrs = OrderedDict() diff --git a/ryu/services/protocols/bgp/utils/stats.py b/os_ken/services/protocols/bgp/utils/stats.py similarity index 97% rename from ryu/services/protocols/bgp/utils/stats.py rename to os_ken/services/protocols/bgp/utils/stats.py index 7cd2a116..7125675e 100644 --- a/ryu/services/protocols/bgp/utils/stats.py +++ b/os_ken/services/protocols/bgp/utils/stats.py @@ -21,7 +21,7 @@ import json import logging import time -from ryu.services.protocols.bgp.rtconf.base import ConfWithId +from os_ken.services.protocols.bgp.rtconf.base import ConfWithId _STATS_LOGGER = logging.getLogger('stats') diff --git a/ryu/services/protocols/bgp/utils/validation.py b/os_ken/services/protocols/bgp/utils/validation.py similarity index 99% rename from ryu/services/protocols/bgp/utils/validation.py rename to os_ken/services/protocols/bgp/utils/validation.py index df0c57de..bb6bd541 100644 --- a/ryu/services/protocols/bgp/utils/validation.py +++ b/os_ken/services/protocols/bgp/utils/validation.py @@ -20,7 +20,7 @@ import numbers import re import socket -from ryu.lib import ip +from os_ken.lib import ip def is_valid_mac(mac): diff --git a/ryu/services/protocols/ovsdb/__init__.py b/os_ken/services/protocols/ovsdb/__init__.py similarity index 100% rename from ryu/services/protocols/ovsdb/__init__.py rename to os_ken/services/protocols/ovsdb/__init__.py diff --git a/ryu/services/protocols/ovsdb/api.py b/os_ken/services/protocols/ovsdb/api.py similarity index 99% rename from ryu/services/protocols/ovsdb/api.py rename to os_ken/services/protocols/ovsdb/api.py index 163658c9..f05c3df5 100644 --- a/ryu/services/protocols/ovsdb/api.py +++ b/os_ken/services/protocols/ovsdb/api.py @@ -15,8 +15,8 @@ import uuid -from ryu.lib import dpid as dpidlib -from ryu.services.protocols.ovsdb import event as ovsdb_event +from os_ken.lib import dpid as dpidlib +from os_ken.services.protocols.ovsdb import event as ovsdb_event def _get_table_row(table, attr_name, attr_value, tables): diff --git a/ryu/services/protocols/ovsdb/client.py b/os_ken/services/protocols/ovsdb/client.py similarity index 98% rename from ryu/services/protocols/ovsdb/client.py rename to os_ken/services/protocols/ovsdb/client.py index 6ea36842..eb10b0b1 100644 --- a/ryu/services/protocols/ovsdb/client.py +++ b/os_ken/services/protocols/ovsdb/client.py @@ -25,10 +25,10 @@ from ovs import stream from ovs import timeval from ovs.db import idl -from ryu.base import app_manager -from ryu.lib import hub -from ryu.services.protocols.ovsdb import event -from ryu.services.protocols.ovsdb import model +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.services.protocols.ovsdb import event +from os_ken.services.protocols.ovsdb import model now = timeval.msec diff --git a/ryu/services/protocols/ovsdb/event.py b/os_ken/services/protocols/ovsdb/event.py similarity index 91% rename from ryu/services/protocols/ovsdb/event.py rename to os_ken/services/protocols/ovsdb/event.py index 0695db2d..64c3b1c1 100644 --- a/ryu/services/protocols/ovsdb/event.py +++ b/os_ken/services/protocols/ovsdb/event.py @@ -13,11 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.controller import event as ryu_event -from ryu.controller import handler +from os_ken.controller import event as os_ken_event +from os_ken.controller import handler -class EventRowBase(ryu_event.EventBase): +class EventRowBase(os_ken_event.EventBase): def __init__(self, system_id, table, row, event_type): super(EventRowBase, self).__init__() self.system_id = system_id @@ -42,7 +42,7 @@ class EventRowInsert(EventRowBase): super(EventRowInsert, self).__init__(system_id, table, row, 'Inserted') -class EventRowUpdate(ryu_event.EventBase): +class EventRowUpdate(os_ken_event.EventBase): def __init__(self, system_id, table, old, new): super(EventRowUpdate, self).__init__() self.system_id = system_id @@ -58,7 +58,7 @@ class EventRowUpdate(ryu_event.EventBase): self.old['_uuid']) -class EventModifyRequest(ryu_event.EventRequestBase): +class EventModifyRequest(os_ken_event.EventRequestBase): """ Dispatch a modify function to OVSDB `func` must be a callable that accepts an insert fucntion and the @@ -103,7 +103,7 @@ class EventModifyRequest(ryu_event.EventRequestBase): return '%s' % (self.__class__.__name__, self.system_id) -class EventModifyReply(ryu_event.EventReplyBase): +class EventModifyReply(os_ken_event.EventReplyBase): def __init__(self, system_id, status, insert_uuids, err_msg): self.system_id = system_id self.status = status @@ -119,7 +119,7 @@ class EventModifyReply(ryu_event.EventReplyBase): self.err_msg)) -class EventNewOVSDBConnection(ryu_event.EventBase): +class EventNewOVSDBConnection(os_ken_event.EventBase): def __init__(self, client): super(EventNewOVSDBConnection, self).__init__() self.client = client @@ -133,14 +133,14 @@ class EventNewOVSDBConnection(ryu_event.EventBase): return self.client.system_id -class EventReadRequest(ryu_event.EventRequestBase): +class EventReadRequest(os_ken_event.EventRequestBase): def __init__(self, system_id, func): self.system_id = system_id self.func = func self.dst = 'OVSDB' -class EventReadReply(ryu_event.EventReplyBase): +class EventReadReply(os_ken_event.EventReplyBase): def __init__(self, system_id, result, err_msg=''): self.system_id = system_id self.result = result @@ -193,4 +193,4 @@ class EventInterfaceUpdated(EventRowUpdatedBase): pass -handler.register_service('ryu.services.protocols.ovsdb.manager') +handler.register_service('os_ken.services.protocols.ovsdb.manager') diff --git a/ryu/services/protocols/ovsdb/manager.py b/os_ken/services/protocols/ovsdb/manager.py similarity index 97% rename from ryu/services/protocols/ovsdb/manager.py rename to os_ken/services/protocols/ovsdb/manager.py index 5a5b4248..732cf556 100644 --- a/ryu/services/protocols/ovsdb/manager.py +++ b/os_ken/services/protocols/ovsdb/manager.py @@ -16,13 +16,13 @@ import ssl import socket -from ryu import cfg -from ryu.base import app_manager -from ryu.lib import hub -from ryu.lib import ip -from ryu.services.protocols.ovsdb import client -from ryu.services.protocols.ovsdb import event -from ryu.controller import handler +from os_ken import cfg +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.lib import ip +from os_ken.services.protocols.ovsdb import client +from os_ken.services.protocols.ovsdb import event +from os_ken.controller import handler opts = (cfg.StrOpt('address', default='0.0.0.0', help='OVSDB address'), diff --git a/ryu/services/protocols/ovsdb/model.py b/os_ken/services/protocols/ovsdb/model.py similarity index 100% rename from ryu/services/protocols/ovsdb/model.py rename to os_ken/services/protocols/ovsdb/model.py diff --git a/ryu/services/protocols/vrrp/__init__.py b/os_ken/services/protocols/vrrp/__init__.py similarity index 86% rename from ryu/services/protocols/vrrp/__init__.py rename to os_ken/services/protocols/vrrp/__init__.py index da23e668..1396ac83 100644 --- a/ryu/services/protocols/vrrp/__init__.py +++ b/os_ken/services/protocols/vrrp/__init__.py @@ -14,5 +14,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -import ryu.services.protocols.vrrp.monitor_linux -import ryu.services.protocols.vrrp.monitor_openflow +import os_ken.services.protocols.vrrp.monitor_linux +import os_ken.services.protocols.vrrp.monitor_openflow diff --git a/ryu/services/protocols/vrrp/api.py b/os_ken/services/protocols/vrrp/api.py similarity index 92% rename from ryu/services/protocols/vrrp/api.py rename to os_ken/services/protocols/vrrp/api.py index 288ca886..2f3cc351 100644 --- a/ryu/services/protocols/vrrp/api.py +++ b/os_ken/services/protocols/vrrp/api.py @@ -14,8 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.services.protocols.vrrp import event as vrrp_event +from os_ken.base import app_manager +from os_ken.services.protocols.vrrp import event as vrrp_event def vrrp_config(app, interface, config): @@ -66,4 +66,4 @@ def vrrp_config_change(app, instance_name, return app.send_event(vrrp_event.VRRP_MANAGER_NAME, config_change) -app_manager.require_app('ryu.services.protocols.vrrp.manager', api_style=True) +app_manager.require_app('os_ken.services.protocols.vrrp.manager', api_style=True) diff --git a/ryu/services/protocols/vrrp/dumper.py b/os_ken/services/protocols/vrrp/dumper.py similarity index 98% rename from ryu/services/protocols/vrrp/dumper.py rename to os_ken/services/protocols/vrrp/dumper.py index 9bf899c4..f4536af3 100644 --- a/ryu/services/protocols/vrrp/dumper.py +++ b/os_ken/services/protocols/vrrp/dumper.py @@ -19,9 +19,9 @@ VRRP event dumper This is also a template for router implementation that support VRRP """ -from ryu.base import app_manager -from ryu.controller import handler -from ryu.services.protocols.vrrp import event as vrrp_event +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.services.protocols.vrrp import event as vrrp_event class VRRPDumper(app_manager.RyuApp): diff --git a/ryu/services/protocols/vrrp/event.py b/os_ken/services/protocols/vrrp/event.py similarity index 97% rename from ryu/services/protocols/vrrp/event.py rename to os_ken/services/protocols/vrrp/event.py index f78e26b5..91cb5e7c 100644 --- a/ryu/services/protocols/vrrp/event.py +++ b/os_ken/services/protocols/vrrp/event.py @@ -18,12 +18,12 @@ Events for VRRP """ -from ryu.controller import handler -from ryu.controller import event -from ryu.lib import dpid as dpid_lib -from ryu.lib import mac as mac_lib -from ryu.lib.packet import vrrp -from ryu.lib import addrconv +from os_ken.controller import handler +from os_ken.controller import event +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import mac as mac_lib +from os_ken.lib.packet import vrrp +from os_ken.lib import addrconv # When an instance is created, state transition is None -> Initialize @@ -279,4 +279,4 @@ class EventVRRPTransmitRequest(event.EventRequestBase): self.data = data -handler.register_service('ryu.services.protocols.vrrp.manager') +handler.register_service('os_ken.services.protocols.vrrp.manager') diff --git a/ryu/services/protocols/vrrp/manager.py b/os_ken/services/protocols/vrrp/manager.py similarity index 94% rename from ryu/services/protocols/vrrp/manager.py rename to os_ken/services/protocols/vrrp/manager.py index 40c730db..d27c764f 100644 --- a/ryu/services/protocols/vrrp/manager.py +++ b/os_ken/services/protocols/vrrp/manager.py @@ -20,19 +20,19 @@ VRRPManager creates/deletes VRRPRouter, VRRPInterfaceMonitor dynamically as requested. Usage example -PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu.services.protocols.vrrp.manager \ - ryu.services.protocols.vrrp.dumper +PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken.services.protocols.vrrp.manager \ + os_ken.services.protocols.vrrp.dumper """ import time -from ryu.base import app_manager -from ryu.controller import handler -from ryu.lib import hub -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import monitor as vrrp_monitor -from ryu.services.protocols.vrrp import router as vrrp_router +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.lib import hub +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import monitor as vrrp_monitor +from os_ken.services.protocols.vrrp import router as vrrp_router class VRRPInstance(object): diff --git a/ryu/services/protocols/vrrp/monitor.py b/os_ken/services/protocols/vrrp/monitor.py similarity index 96% rename from ryu/services/protocols/vrrp/monitor.py rename to os_ken/services/protocols/vrrp/monitor.py index 4821c188..684ad18e 100644 --- a/ryu/services/protocols/vrrp/monitor.py +++ b/os_ken/services/protocols/vrrp/monitor.py @@ -20,12 +20,12 @@ Watching packet received on this interface and parse VRRP packet. VRRPManager creates/deletes instances of interface monitor dynamically. """ -from ryu.base import app_manager -from ryu.controller import handler -from ryu.lib.packet import packet -from ryu.lib.packet import vlan -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import event as vrrp_event +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.lib.packet import packet +from os_ken.lib.packet import vlan +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import event as vrrp_event class VRRPInterfaceMonitor(app_manager.RyuApp): diff --git a/ryu/services/protocols/vrrp/monitor_linux.py b/os_ken/services/protocols/vrrp/monitor_linux.py similarity index 95% rename from ryu/services/protocols/vrrp/monitor_linux.py rename to os_ken/services/protocols/vrrp/monitor_linux.py index eaab6fc5..8de25acb 100644 --- a/ryu/services/protocols/vrrp/monitor_linux.py +++ b/os_ken/services/protocols/vrrp/monitor_linux.py @@ -18,16 +18,16 @@ import contextlib import socket import struct -from ryu.controller import handler -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib import addrconv -from ryu.lib import hub -from ryu.lib.packet import arp -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import monitor -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import utils +from os_ken.controller import handler +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib import addrconv +from os_ken.lib import hub +from os_ken.lib.packet import arp +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import monitor +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import utils # Those are not defined in socket module diff --git a/ryu/services/protocols/vrrp/monitor_openflow.py b/os_ken/services/protocols/vrrp/monitor_openflow.py similarity index 91% rename from ryu/services/protocols/vrrp/monitor_openflow.py rename to os_ken/services/protocols/vrrp/monitor_openflow.py index 32e691e8..f38a78c5 100644 --- a/ryu/services/protocols/vrrp/monitor_openflow.py +++ b/os_ken/services/protocols/vrrp/monitor_openflow.py @@ -14,17 +14,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.controller import handler -from ryu.controller import ofp_event -from ryu.lib import dpid as dpid_lib -from ryu.lib.packet import vrrp -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.services.protocols.vrrp import monitor -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import utils +from os_ken.controller import handler +from os_ken.controller import ofp_event +from os_ken.lib import dpid as dpid_lib +from os_ken.lib.packet import vrrp +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.services.protocols.vrrp import monitor +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import utils @monitor.VRRPInterfaceMonitor.register(vrrp_event.VRRPInterfaceOpenFlow) diff --git a/ryu/services/protocols/vrrp/router.py b/os_ken/services/protocols/vrrp/router.py similarity index 98% rename from ryu/services/protocols/vrrp/router.py rename to os_ken/services/protocols/vrrp/router.py index 8278831f..b16fcee2 100644 --- a/ryu/services/protocols/vrrp/router.py +++ b/os_ken/services/protocols/vrrp/router.py @@ -23,13 +23,13 @@ VRRPManager creates/deletes VRRPRounter instances dynamically. import abc import six -from ryu.base import app_manager -from ryu.controller import event -from ryu.controller import handler -from ryu.lib import hub -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import api as vrrp_api +from os_ken.base import app_manager +from os_ken.controller import event +from os_ken.controller import handler +from os_ken.lib import hub +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import api as vrrp_api # TODO: improve Timer service and move it into framework diff --git a/ryu/services/protocols/vrrp/rpc_manager.py b/os_ken/services/protocols/vrrp/rpc_manager.py similarity index 95% rename from ryu/services/protocols/vrrp/rpc_manager.py rename to os_ken/services/protocols/vrrp/rpc_manager.py index 6ac07b10..b6aa3de1 100644 --- a/ryu/services/protocols/vrrp/rpc_manager.py +++ b/os_ken/services/protocols/vrrp/rpc_manager.py @@ -13,17 +13,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu import cfg +from os_ken import cfg import socket import netaddr -from ryu.base import app_manager -from ryu.controller import handler -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import api as vrrp_api -from ryu.lib import rpc -from ryu.lib import hub -from ryu.lib import mac +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import api as vrrp_api +from os_ken.lib import rpc +from os_ken.lib import hub +from os_ken.lib import mac VRRP_RPC_PORT = 50004 # random diff --git a/ryu/services/protocols/vrrp/sample_manager.py b/os_ken/services/protocols/vrrp/sample_manager.py similarity index 88% rename from ryu/services/protocols/vrrp/sample_manager.py rename to os_ken/services/protocols/vrrp/sample_manager.py index f55e3d59..b8b16945 100644 --- a/ryu/services/protocols/vrrp/sample_manager.py +++ b/os_ken/services/protocols/vrrp/sample_manager.py @@ -18,16 +18,16 @@ sample router manager. (un-)instantiate routers Usage example: -PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu.services.protocols.vrrp.manager \ - ryu.services.protocols.vrrp.dumper \ - ryu.services.protocols.vrrp.sample_manager +PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken.services.protocols.vrrp.manager \ + os_ken.services.protocols.vrrp.dumper \ + os_ken.services.protocols.vrrp.sample_manager """ -from ryu.base import app_manager -from ryu.controller import handler -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import sample_router +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import sample_router class RouterManager(app_manager.RyuApp): diff --git a/ryu/services/protocols/vrrp/sample_router.py b/os_ken/services/protocols/vrrp/sample_router.py similarity index 96% rename from ryu/services/protocols/vrrp/sample_router.py rename to os_ken/services/protocols/vrrp/sample_router.py index 8a057c9c..5e997c11 100644 --- a/ryu/services/protocols/vrrp/sample_router.py +++ b/os_ken/services/protocols/vrrp/sample_router.py @@ -20,31 +20,31 @@ a template for router implementation that support VRRP Those routers needs to be created by someone else. sample_manager.routerManager is an example. Usage example: -PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu.services.protocols.vrrp.manager \ - ryu.services.protocols.vrrp.dumper \ - ryu.services.protocols.vrrp.sample_manager +PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken.services.protocols.vrrp.manager \ + os_ken.services.protocols.vrrp.dumper \ + os_ken.services.protocols.vrrp.sample_manager """ import contextlib import greenlet import socket -from ryu.base import app_manager -from ryu.controller import handler -from ryu.controller import ofp_event -from ryu.lib import hub -from ryu.lib import mac as mac_lib -from ryu.lib.packet import arp -from ryu.lib.packet import ethernet -from ryu.lib.packet import packet -from ryu.lib.packet import vlan -from ryu.lib.packet import vrrp -from ryu.ofproto import ether -from ryu.ofproto import ofproto_v1_2 -from ryu.services.protocols.vrrp import api as vrrp_api -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import utils +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.controller import ofp_event +from os_ken.lib import hub +from os_ken.lib import mac as mac_lib +from os_ken.lib.packet import arp +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import packet +from os_ken.lib.packet import vlan +from os_ken.lib.packet import vrrp +from os_ken.ofproto import ether +from os_ken.ofproto import ofproto_v1_2 +from os_ken.services.protocols.vrrp import api as vrrp_api +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import utils class RouterBase(app_manager.RyuApp): diff --git a/ryu/services/protocols/vrrp/utils.py b/os_ken/services/protocols/vrrp/utils.py similarity index 89% rename from ryu/services/protocols/vrrp/utils.py rename to os_ken/services/protocols/vrrp/utils.py index 63224042..f326199d 100644 --- a/ryu/services/protocols/vrrp/utils.py +++ b/os_ken/services/protocols/vrrp/utils.py @@ -14,15 +14,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.lib.packet import ethernet -from ryu.lib.packet import vlan -from ryu.ofproto import ether -from ryu.topology import api as topo_api +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import vlan +from os_ken.ofproto import ether +from os_ken.topology import api as topo_api def may_add_vlan(packet, vlan_id): """ - :type packet: ryu.lib.packet.packet.Packet + :type packet: os_ken.lib.packet.packet.Packet :param packet: :type vlan_id: int (0 <= vlan_id <= 4095) or None (= No VLAN) :param vlan_id: @@ -41,7 +41,7 @@ def get_dp(app, dpid): """ :type dpid: datapath id :param dpid: - :rtype: ryu.controller.controller.Datapath + :rtype: os_ken.controller.controller.Datapath :returns: datapath corresponding to dpid """ switches = topo_api.get_switch(app, dpid) diff --git a/ryu/services/protocols/zebra/__init__.py b/os_ken/services/protocols/zebra/__init__.py similarity index 100% rename from ryu/services/protocols/zebra/__init__.py rename to os_ken/services/protocols/zebra/__init__.py diff --git a/ryu/services/protocols/zebra/client/__init__.py b/os_ken/services/protocols/zebra/client/__init__.py similarity index 100% rename from ryu/services/protocols/zebra/client/__init__.py rename to os_ken/services/protocols/zebra/client/__init__.py diff --git a/ryu/services/protocols/zebra/client/event.py b/os_ken/services/protocols/zebra/client/event.py similarity index 96% rename from ryu/services/protocols/zebra/client/event.py rename to os_ken/services/protocols/zebra/client/event.py index 4995c4df..979d4276 100644 --- a/ryu/services/protocols/zebra/client/event.py +++ b/os_ken/services/protocols/zebra/client/event.py @@ -17,7 +17,7 @@ Events generated by Zebra Client service. """ -from ryu.controller.event import EventBase +from os_ken.controller.event import EventBase class EventZClientBase(EventBase): diff --git a/ryu/services/protocols/zebra/client/sample_dumper.py b/os_ken/services/protocols/zebra/client/sample_dumper.py similarity index 85% rename from ryu/services/protocols/zebra/client/sample_dumper.py rename to os_ken/services/protocols/zebra/client/sample_dumper.py index 395620e7..fac7a2df 100644 --- a/ryu/services/protocols/zebra/client/sample_dumper.py +++ b/os_ken/services/protocols/zebra/client/sample_dumper.py @@ -17,11 +17,11 @@ Sample Zebra Client application dumping received events. """ -from ryu.controller.handler import set_ev_cls -from ryu.lib.packet import zebra -from ryu.services.protocols.zebra import event -from ryu.services.protocols.zebra.client.zclient import ZClient -from ryu.services.protocols.zebra.client import event as zclient_event +from os_ken.controller.handler import set_ev_cls +from os_ken.lib.packet import zebra +from os_ken.services.protocols.zebra import event +from os_ken.services.protocols.zebra.client.zclient import ZClient +from os_ken.services.protocols.zebra.client import event as zclient_event class ZClientDumper(ZClient): diff --git a/ryu/services/protocols/zebra/client/zclient.py b/os_ken/services/protocols/zebra/client/zclient.py similarity index 95% rename from ryu/services/protocols/zebra/client/zclient.py rename to os_ken/services/protocols/zebra/client/zclient.py index 845ac987..8d343f79 100644 --- a/ryu/services/protocols/zebra/client/zclient.py +++ b/os_ken/services/protocols/zebra/client/zclient.py @@ -21,14 +21,14 @@ import os import socket import struct -from ryu import cfg -from ryu.base.app_manager import RyuApp -from ryu.lib import hub -from ryu.lib import ip -from ryu.lib.packet import zebra -from ryu.lib.packet import safi as packet_safi -from ryu.services.protocols.zebra import event -from ryu.services.protocols.zebra.client import event as zclient_event +from os_ken import cfg +from os_ken.base.app_manager import RyuApp +from os_ken.lib import hub +from os_ken.lib import ip +from os_ken.lib.packet import zebra +from os_ken.lib.packet import safi as packet_safi +from os_ken.services.protocols.zebra import event +from os_ken.services.protocols.zebra.client import event as zclient_event CONF = cfg.CONF['zapi'] @@ -70,7 +70,7 @@ def get_zebra_route_type_by_name(route_type='BGP'): Returns the constant value for Zebra route type named "ZEBRA_ROUTE_*" from its name. - See "ZEBRA_ROUTE_*" constants in "ryu.lib.packet.zebra" module. + See "ZEBRA_ROUTE_*" constants in "os_ken.lib.packet.zebra" module. :param route_type: Route type name (e.g., Kernel, BGP). :return: Constant value for Zebra route type. @@ -225,7 +225,7 @@ class ZClient(RyuApp): """ Sends Zebra message. - :param msg: Instance of py:class: `ryu.lib.packet.zebra.ZebraMessage`. + :param msg: Instance of py:class: `os_ken.lib.packet.zebra.ZebraMessage`. :return: Serialized msg if succeeded, otherwise None. """ if not self.is_active: diff --git a/ryu/services/protocols/zebra/db/__init__.py b/os_ken/services/protocols/zebra/db/__init__.py similarity index 97% rename from ryu/services/protocols/zebra/db/__init__.py rename to os_ken/services/protocols/zebra/db/__init__.py index 2b1cf3ac..7a0ba7f7 100644 --- a/ryu/services/protocols/zebra/db/__init__.py +++ b/os_ken/services/protocols/zebra/db/__init__.py @@ -22,7 +22,7 @@ from __future__ import absolute_import from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker -from ryu import cfg +from os_ken import cfg # Configuration parameters for Zebra service CONF = cfg.CONF['zapi'] diff --git a/ryu/services/protocols/zebra/db/base.py b/os_ken/services/protocols/zebra/db/base.py similarity index 100% rename from ryu/services/protocols/zebra/db/base.py rename to os_ken/services/protocols/zebra/db/base.py diff --git a/ryu/services/protocols/zebra/db/interface.py b/os_ken/services/protocols/zebra/db/interface.py similarity index 96% rename from ryu/services/protocols/zebra/db/interface.py rename to os_ken/services/protocols/zebra/db/interface.py index 218c5900..430e2679 100644 --- a/ryu/services/protocols/zebra/db/interface.py +++ b/os_ken/services/protocols/zebra/db/interface.py @@ -21,9 +21,9 @@ from sqlalchemy import Column from sqlalchemy import Integer from sqlalchemy import String -from ryu.lib import netdevice -from ryu.lib import ip -from ryu.lib.packet import zebra +from os_ken.lib import netdevice +from os_ken.lib import ip +from os_ken.lib.packet import zebra from . import base @@ -50,10 +50,10 @@ class Interface(base.Base): ``ifname``: Name of this interface. ``status``: A combination of flags - "ryu.lib.packet.zebra.ZEBRA_INTERFACE_*". + "os_ken.lib.packet.zebra.ZEBRA_INTERFACE_*". The default value shows "active" and "link-detect". - ``flags``: A combination of flags "ryu.lib.netdevice.IFF_*". + ``flags``: A combination of flags "os_ken.lib.netdevice.IFF_*". The default value show "up", "loopback" and "running". ``metric``: Metric of this interface. @@ -65,7 +65,7 @@ class Interface(base.Base): ``bandwidth``: Bandwidth of this interface. ``ll_type``: Link Layer Type. - One of "ryu.lib.packet.zebra.ZEBRA_LLT_*" types. + One of "os_ken.lib.packet.zebra.ZEBRA_LLT_*" types. ``hw_addr``: Hardware address of this interface (mostly, MAC address). diff --git a/ryu/services/protocols/zebra/db/route.py b/os_ken/services/protocols/zebra/db/route.py similarity index 98% rename from ryu/services/protocols/zebra/db/route.py rename to os_ken/services/protocols/zebra/db/route.py index b25750b5..fdaa7c4e 100644 --- a/ryu/services/protocols/zebra/db/route.py +++ b/os_ken/services/protocols/zebra/db/route.py @@ -23,9 +23,9 @@ from sqlalchemy import Boolean from sqlalchemy import Integer from sqlalchemy import String -from ryu.lib import ip -from ryu.lib.packet import safi as packet_safi -from ryu.lib.packet import zebra +from os_ken.lib import ip +from os_ken.lib.packet import safi as packet_safi +from os_ken.lib.packet import zebra from . import base from . import interface diff --git a/ryu/services/protocols/zebra/event.py b/os_ken/services/protocols/zebra/event.py similarity index 87% rename from ryu/services/protocols/zebra/event.py rename to os_ken/services/protocols/zebra/event.py index 47c4c2c9..0641e460 100644 --- a/ryu/services/protocols/zebra/event.py +++ b/os_ken/services/protocols/zebra/event.py @@ -20,9 +20,9 @@ Events for Zebra protocol service. import inspect import logging -from ryu import utils -from ryu.controller import event -from ryu.lib.packet import zebra +from os_ken import utils +from os_ken.controller import event +from os_ken.lib.packet import zebra LOG = logging.getLogger(__name__) @@ -36,10 +36,10 @@ class EventZebraBase(event.EventBase): The base class for Zebra protocol service event class. The subclasses have at least ``zclient`` and the same attributes with - :py:class: `ryu.lib.packet.zebra.ZebraMessage`. + :py:class: `os_ken.lib.packet.zebra.ZebraMessage`. ``zclient`` is an instance of Zebra client class. See - :py:class: `ryu.services.protocols.zebra.client.zclient.ZClient` or - :py:class: `ryu.services.protocols.zebra.server.zserver.ZClient`. + :py:class: `os_ken.services.protocols.zebra.client.zclient.ZClient` or + :py:class: `os_ken.services.protocols.zebra.server.zserver.ZClient`. The subclasses are named as:: @@ -47,13 +47,13 @@ class EventZebraBase(event.EventBase): For Example, if the service received ZEBRA_INTERFACE_ADD message, the body class should be - :py:class: `ryu.lib.packet.zebra.ZebraInterfaceAdd`, then the event + :py:class: `os_ken.lib.packet.zebra.ZebraInterfaceAdd`, then the event class will be named as:: "Event" + "ZebraInterfaceAdd" = "EventZebraInterfaceAdd" ``msg`` argument must be an instance of - :py:class: `ryu.lib.packet.zebra.ZebraMessage` and used to extract the + :py:class: `os_ken.lib.packet.zebra.ZebraMessage` and used to extract the attributes for the event classes. """ diff --git a/ryu/services/protocols/zebra/server/__init__.py b/os_ken/services/protocols/zebra/server/__init__.py similarity index 100% rename from ryu/services/protocols/zebra/server/__init__.py rename to os_ken/services/protocols/zebra/server/__init__.py diff --git a/ryu/services/protocols/zebra/server/event.py b/os_ken/services/protocols/zebra/server/event.py similarity index 96% rename from ryu/services/protocols/zebra/server/event.py rename to os_ken/services/protocols/zebra/server/event.py index 63ea6301..6b6c62bc 100644 --- a/ryu/services/protocols/zebra/server/event.py +++ b/os_ken/services/protocols/zebra/server/event.py @@ -17,7 +17,7 @@ Events generated by Zebra Server service. """ -from ryu.controller.event import EventBase +from os_ken.controller.event import EventBase class EventZServerBase(EventBase): diff --git a/ryu/services/protocols/zebra/server/sample_dumper.py b/os_ken/services/protocols/zebra/server/sample_dumper.py similarity index 86% rename from ryu/services/protocols/zebra/server/sample_dumper.py rename to os_ken/services/protocols/zebra/server/sample_dumper.py index e5a8704b..8f164e78 100644 --- a/ryu/services/protocols/zebra/server/sample_dumper.py +++ b/os_ken/services/protocols/zebra/server/sample_dumper.py @@ -17,11 +17,11 @@ Sample Zebra Server application dumping received events. """ -from ryu.base.app_manager import RyuApp -from ryu.controller.handler import set_ev_cls -from ryu.services.protocols.zebra import event -from ryu.services.protocols.zebra.server.zserver import ZServer -from ryu.services.protocols.zebra.server import event as zserver_event +from os_ken.base.app_manager import RyuApp +from os_ken.controller.handler import set_ev_cls +from os_ken.services.protocols.zebra import event +from os_ken.services.protocols.zebra.server.zserver import ZServer +from os_ken.services.protocols.zebra.server import event as zserver_event class ZServerDumper(RyuApp): diff --git a/ryu/services/protocols/zebra/server/zserver.py b/os_ken/services/protocols/zebra/server/zserver.py similarity index 95% rename from ryu/services/protocols/zebra/server/zserver.py rename to os_ken/services/protocols/zebra/server/zserver.py index 763f309a..a1799b7c 100644 --- a/ryu/services/protocols/zebra/server/zserver.py +++ b/os_ken/services/protocols/zebra/server/zserver.py @@ -23,17 +23,17 @@ import os import socket import struct -from ryu import cfg -from ryu.base import app_manager -from ryu.base.app_manager import RyuApp -from ryu.controller.handler import set_ev_cls -from ryu.lib import hub -from ryu.lib import ip -from ryu.lib.packet import zebra +from os_ken import cfg +from os_ken.base import app_manager +from os_ken.base.app_manager import RyuApp +from os_ken.controller.handler import set_ev_cls +from os_ken.lib import hub +from os_ken.lib import ip +from os_ken.lib.packet import zebra -from ryu.services.protocols.zebra import db -from ryu.services.protocols.zebra import event -from ryu.services.protocols.zebra.server import event as zserver_event +from os_ken.services.protocols.zebra import db +from os_ken.services.protocols.zebra import event +from os_ken.services.protocols.zebra.server import event as zserver_event LOG = logging.getLogger(__name__) @@ -135,7 +135,7 @@ class ZClient(object): """ Sends Zebra message. - :param msg: Instance of py:class: `ryu.lib.packet.zebra.ZebraMessage`. + :param msg: Instance of py:class: `os_ken.lib.packet.zebra.ZebraMessage`. :return: Serialized msg if succeeded, otherwise None. """ if not self.is_active: diff --git a/ryu/tests/__init__.py b/os_ken/tests/integrated/__init__.py similarity index 100% rename from ryu/tests/__init__.py rename to os_ken/tests/integrated/__init__.py diff --git a/ryu/tests/integrated/__init__.py b/os_ken/tests/integrated/bgp/__init__.py similarity index 100% rename from ryu/tests/integrated/__init__.py rename to os_ken/tests/integrated/bgp/__init__.py diff --git a/ryu/tests/integrated/bgp/base.py b/os_ken/tests/integrated/bgp/base.py similarity index 89% rename from ryu/tests/integrated/bgp/base.py rename to os_ken/tests/integrated/bgp/base.py index 26fa396c..44ae34aa 100644 --- a/ryu/tests/integrated/bgp/base.py +++ b/os_ken/tests/integrated/bgp/base.py @@ -20,9 +20,9 @@ import logging import sys import unittest -from ryu.tests.integrated.common import docker_base as ctn_base -from ryu.tests.integrated.common import ryubgp -from ryu.tests.integrated.common import quagga +from os_ken.tests.integrated.common import docker_base as ctn_base +from os_ken.tests.integrated.common import os_kenbgp +from os_ken.tests.integrated.common import quagga LOG = logging.getLogger(__name__) @@ -43,12 +43,12 @@ class BgpSpeakerTestBase(unittest.TestCase): cls.dockerimg = ctn_base.DockerImage() image = 'python:%d.%d' % ( sys.version_info.major, sys.version_info.minor) - cls.r_img = cls.dockerimg.create_ryu(image=image, check_exist=True) + cls.r_img = cls.dockerimg.create_os_ken(image=image, check_exist=True) cls.images.append(cls.r_img) cls.q_img = 'osrg/quagga' cls.images.append(cls.q_img) - cls.r1 = ryubgp.RyuBGPContainer(name='r1', asn=64512, + cls.r1 = os_kenbgp.RyuBGPContainer(name='r1', asn=64512, router_id='192.168.0.1', ctn_image_name=cls.r_img) cls.containers.append(cls.r1) diff --git a/ryu/tests/integrated/bgp/base_ip6.py b/os_ken/tests/integrated/bgp/base_ip6.py similarity index 89% rename from ryu/tests/integrated/bgp/base_ip6.py rename to os_ken/tests/integrated/bgp/base_ip6.py index be26fafd..d0c9fcf8 100644 --- a/ryu/tests/integrated/bgp/base_ip6.py +++ b/os_ken/tests/integrated/bgp/base_ip6.py @@ -20,9 +20,9 @@ import logging import sys import unittest -from ryu.tests.integrated.common import docker_base as ctn_base -from ryu.tests.integrated.common import ryubgp -from ryu.tests.integrated.common import quagga +from os_ken.tests.integrated.common import docker_base as ctn_base +from os_ken.tests.integrated.common import os_kenbgp +from os_ken.tests.integrated.common import quagga LOG = logging.getLogger(__name__) @@ -43,12 +43,12 @@ class BgpSpeakerTestBase(unittest.TestCase): cls.dockerimg = ctn_base.DockerImage() image = 'python:%d.%d' % ( sys.version_info.major, sys.version_info.minor) - cls.r_img = cls.dockerimg.create_ryu(image=image, check_exist=True) + cls.r_img = cls.dockerimg.create_os_ken(image=image, check_exist=True) cls.images.append(cls.r_img) cls.q_img = 'osrg/quagga' cls.images.append(cls.q_img) - cls.r1 = ryubgp.RyuBGPContainer(name='r1', asn=64512, + cls.r1 = os_kenbgp.RyuBGPContainer(name='r1', asn=64512, router_id='192.168.0.1', ctn_image_name=cls.r_img) cls.containers.append(cls.r1) diff --git a/ryu/tests/integrated/bgp/test_basic.py b/os_ken/tests/integrated/bgp/test_basic.py similarity index 91% rename from ryu/tests/integrated/bgp/test_basic.py rename to os_ken/tests/integrated/bgp/test_basic.py index 7c6c8cf5..ba659890 100644 --- a/ryu/tests/integrated/bgp/test_basic.py +++ b/os_ken/tests/integrated/bgp/test_basic.py @@ -18,15 +18,15 @@ from __future__ import absolute_import import time -from ryu.tests.integrated.common import docker_base as ctn_base +from os_ken.tests.integrated.common import docker_base as ctn_base from . import base class BgpSpeakerBasicTest(base.BgpSpeakerTestBase): def setUp(self): super(BgpSpeakerBasicTest, self).setUp() - self.r1.stop_ryubgp(retry=True) - self.r1.start_ryubgp(retry=True) + self.r1.stop_os_kenbgp(retry=True) + self.r1.start_os_kenbgp(retry=True) def test_check_neighbor_established(self): neighbor_state = ctn_base.BGP_FSM_IDLE diff --git a/ryu/tests/integrated/bgp/test_ip6_basic.py b/os_ken/tests/integrated/bgp/test_ip6_basic.py similarity index 92% rename from ryu/tests/integrated/bgp/test_ip6_basic.py rename to os_ken/tests/integrated/bgp/test_ip6_basic.py index 288e9e68..8affc687 100644 --- a/ryu/tests/integrated/bgp/test_ip6_basic.py +++ b/os_ken/tests/integrated/bgp/test_ip6_basic.py @@ -18,15 +18,15 @@ from __future__ import absolute_import import time -from ryu.tests.integrated.common import docker_base as ctn_base +from os_ken.tests.integrated.common import docker_base as ctn_base from . import base_ip6 as base class BgpSpeakerBasicTest(base.BgpSpeakerTestBase): def setUp(self): super(BgpSpeakerBasicTest, self).setUp() - self.r1.stop_ryubgp(retry=True) - self.r1.start_ryubgp(retry=True) + self.r1.stop_os_kenbgp(retry=True) + self.r1.start_os_kenbgp(retry=True) def test_check_neighbor_established(self): neighbor_state = ctn_base.BGP_FSM_IDLE diff --git a/ryu/tests/integrated/bgp/__init__.py b/os_ken/tests/integrated/common/__init__.py similarity index 100% rename from ryu/tests/integrated/bgp/__init__.py rename to os_ken/tests/integrated/common/__init__.py diff --git a/ryu/tests/integrated/common/docker_base.py b/os_ken/tests/integrated/common/docker_base.py similarity index 99% rename from ryu/tests/integrated/common/docker_base.py rename to os_ken/tests/integrated/common/docker_base.py index 1ae2cc27..78660791 100644 --- a/ryu/tests/integrated/common/docker_base.py +++ b/os_ken/tests/integrated/common/docker_base.py @@ -190,11 +190,11 @@ class DockerImage(object): self.build(tagname, workdir) return tagname - def create_ryu(self, tagname='ryu', image=None, check_exist=False): + def create_os_ken(self, tagname='os_ken', image=None, check_exist=False): if check_exist and self.exist(tagname): return tagname workdir = os.path.join(TEST_BASE_DIR, tagname) - workdir_ctn = '/root/osrg/ryu' + workdir_ctn = '/root/osrg/os_ken' pkges = ' '.join([ 'tcpdump', 'iproute2', @@ -205,7 +205,7 @@ class DockerImage(object): use_image = self.baseimage c = CmdBuffer() c << 'FROM %s' % use_image - c << 'ADD ryu %s' % workdir_ctn + c << 'ADD os_ken %s' % workdir_ctn install = ' '.join([ 'RUN apt-get update', '&& apt-get install -qy --no-install-recommends %s' % pkges, @@ -222,7 +222,7 @@ class DockerImage(object): self.cmd.sudo('rm -rf %s' % workdir) self.cmd.execute('mkdir -p %s' % workdir) self.cmd.execute("echo '%s' > %s/Dockerfile" % (str(c), workdir)) - self.cmd.execute('cp -r ../ryu %s/' % workdir) + self.cmd.execute('cp -r ../os_ken %s/' % workdir) self.build(tagname, workdir) return tagname diff --git a/ryu/tests/integrated/common/install_docker_test_pkg.sh b/os_ken/tests/integrated/common/install_docker_test_pkg.sh similarity index 100% rename from ryu/tests/integrated/common/install_docker_test_pkg.sh rename to os_ken/tests/integrated/common/install_docker_test_pkg.sh diff --git a/ryu/tests/integrated/common/install_docker_test_pkg_common.sh b/os_ken/tests/integrated/common/install_docker_test_pkg_common.sh similarity index 100% rename from ryu/tests/integrated/common/install_docker_test_pkg_common.sh rename to os_ken/tests/integrated/common/install_docker_test_pkg_common.sh diff --git a/ryu/tests/integrated/common/install_docker_test_pkg_for_travis.sh b/os_ken/tests/integrated/common/install_docker_test_pkg_for_travis.sh similarity index 100% rename from ryu/tests/integrated/common/install_docker_test_pkg_for_travis.sh rename to os_ken/tests/integrated/common/install_docker_test_pkg_for_travis.sh diff --git a/ryu/tests/integrated/common/quagga.py b/os_ken/tests/integrated/common/quagga.py similarity index 100% rename from ryu/tests/integrated/common/quagga.py rename to os_ken/tests/integrated/common/quagga.py diff --git a/ryu/tests/integrated/common/ryubgp.py b/os_ken/tests/integrated/common/ryubgp.py similarity index 86% rename from ryu/tests/integrated/common/ryubgp.py rename to os_ken/tests/integrated/common/ryubgp.py index 8fe16f49..c053877f 100644 --- a/ryu/tests/integrated/common/ryubgp.py +++ b/os_ken/tests/integrated/common/ryubgp.py @@ -27,27 +27,27 @@ LOG = logging.getLogger(__name__) class RyuBGPContainer(base.BGPContainer): WAIT_FOR_BOOT = 1 - SHARED_VOLUME = '/etc/ryu' + SHARED_VOLUME = '/etc/os_ken' def __init__(self, name, asn, router_id, ctn_image_name): super(RyuBGPContainer, self).__init__(name, asn, router_id, ctn_image_name) - self.RYU_CONF = os.path.join(self.config_dir, 'ryu.conf') - self.SHARED_RYU_CONF = os.path.join(self.SHARED_VOLUME, 'ryu.conf') + self.RYU_CONF = os.path.join(self.config_dir, 'os_ken.conf') + self.SHARED_RYU_CONF = os.path.join(self.SHARED_VOLUME, 'os_ken.conf') self.SHARED_BGP_CONF = os.path.join(self.SHARED_VOLUME, 'bgp_conf.py') self.shared_volumes.append((self.config_dir, self.SHARED_VOLUME)) - def _create_config_ryu(self): + def _create_config_os_ken(self): c = base.CmdBuffer() c << '[DEFAULT]' c << 'verbose=True' - c << 'log_file=/etc/ryu/manager.log' + c << 'log_file=/etc/os_ken/manager.log' with open(self.RYU_CONF, 'w') as f: LOG.info("[%s's new config]" % self.name) LOG.info(str(c)) f.writelines(str(c)) - def _create_config_ryu_bgp(self): + def _create_config_os_ken_bgp(self): c = base.CmdBuffer() c << 'import os' c << '' @@ -152,41 +152,41 @@ class RyuBGPContainer(base.BGPContainer): f.writelines(str(c)) def create_config(self): - self._create_config_ryu() - self._create_config_ryu_bgp() + self._create_config_os_ken() + self._create_config_os_ken_bgp() - def is_running_ryu(self): + def is_running_os_ken(self): results = self.exec_on_ctn('ps ax') running = False for line in results.split('\n')[1:]: - if 'ryu-manager' in line: + if 'os_ken-manager' in line: running = True return running - def start_ryubgp(self, check_running=True, retry=False): + def start_os_kenbgp(self, check_running=True, retry=False): if check_running: - if self.is_running_ryu(): + if self.is_running_os_ken(): return True result = False if retry: try_times = 3 else: try_times = 1 - cmd = "ryu-manager --verbose " + cmd = "os_ken-manager --verbose " cmd += "--config-file %s " % self.SHARED_RYU_CONF cmd += "--bgp-app-config-file %s " % self.SHARED_BGP_CONF - cmd += "ryu.services.protocols.bgp.application" + cmd += "os_ken.services.protocols.bgp.application" for _ in range(try_times): self.exec_on_ctn(cmd, detach=True) - if self.is_running_ryu(): + if self.is_running_os_ken(): result = True break time.sleep(1) return result - def stop_ryubgp(self, check_running=True, retry=False): + def stop_os_kenbgp(self, check_running=True, retry=False): if check_running: - if not self.is_running_ryu(): + if not self.is_running_os_ken(): return True result = False if retry: @@ -194,9 +194,9 @@ class RyuBGPContainer(base.BGPContainer): else: try_times = 1 for _ in range(try_times): - cmd = '/usr/bin/pkill ryu-manager -SIGTERM' + cmd = '/usr/bin/pkill os_ken-manager -SIGTERM' self.exec_on_ctn(cmd) - if not self.is_running_ryu(): + if not self.is_running_os_ken(): result = True break time.sleep(1) @@ -208,5 +208,5 @@ class RyuBGPContainer(base.BGPContainer): return w_time def reload_config(self): - self.stop_ryubgp(retry=True) - self.start_ryubgp(retry=True) + self.stop_os_kenbgp(retry=True) + self.start_os_kenbgp(retry=True) diff --git a/ryu/tests/integrated/run_test.py b/os_ken/tests/integrated/run_test.py similarity index 95% rename from ryu/tests/integrated/run_test.py rename to os_ken/tests/integrated/run_test.py index 2aca03db..b7330643 100644 --- a/ryu/tests/integrated/run_test.py +++ b/os_ken/tests/integrated/run_test.py @@ -21,14 +21,14 @@ import os import sys import unittest -from ryu import log +from os_ken import log def load_tests(loader, tests, pattern): dirname = os.path.dirname(os.path.abspath(__file__)) base_path = os.path.abspath(dirname + '/../../..') suite = unittest.TestSuite() - for test_dir in ['ryu/tests/integrated/bgp']: + for test_dir in ['os_ken/tests/integrated/bgp']: if not pattern: suite.addTests(loader.discover(test_dir, top_level_dir=base_path)) diff --git a/ryu/tests/integrated/run_tests_with_ovs12.py b/os_ken/tests/integrated/run_tests_with_ovs12.py similarity index 79% rename from ryu/tests/integrated/run_tests_with_ovs12.py rename to os_ken/tests/integrated/run_tests_with_ovs12.py index 2e84fef2..df7584d8 100755 --- a/ryu/tests/integrated/run_tests_with_ovs12.py +++ b/os_ken/tests/integrated/run_tests_with_ovs12.py @@ -29,7 +29,7 @@ TIMEOUT = 60 RYU_HOST = '127.0.0.1' RYU_PORT = 6633 PYTHON_BIN = '.venv/bin/python' -RYU_MGR = './bin/ryu-manager' +RYU_MGR = './bin/os_ken-manager' class OVS12KernelSwitch(OVSKernelSwitch): @@ -63,43 +63,43 @@ class TestWithOVS12(unittest.TestCase): @timed(TIMEOUT) def test_add_flow_v10(self): - app = 'ryu/tests/integrated/test_add_flow_v10.py' - self._run_ryu_manager_and_check_output(app) + app = 'os_ken/tests/integrated/test_add_flow_v10.py' + self._run_os_ken_manager_and_check_output(app) @timed(TIMEOUT) def test_request_reply_v12(self): - app = 'ryu/tests/integrated/test_request_reply_v12.py' - self._run_ryu_manager_and_check_output(app) + app = 'os_ken/tests/integrated/test_request_reply_v12.py' + self._run_os_ken_manager_and_check_output(app) @timed(TIMEOUT) def test_add_flow_v12_actions(self): - app = 'ryu/tests/integrated/test_add_flow_v12_actions.py' - self._run_ryu_manager_and_check_output(app) + app = 'os_ken/tests/integrated/test_add_flow_v12_actions.py' + self._run_os_ken_manager_and_check_output(app) @timed(TIMEOUT) def test_add_flow_v12_matches(self): - app = 'ryu/tests/integrated/test_add_flow_v12_matches.py' - self._run_ryu_manager_and_check_output(app) + app = 'os_ken/tests/integrated/test_add_flow_v12_matches.py' + self._run_os_ken_manager_and_check_output(app) @nottest def test_of_config(self): # OVS 1.10 does not support of_config pass - def _run_ryu_manager_and_check_output(self, app): + def _run_os_ken_manager_and_check_output(self, app): cmd = [PYTHON_BIN, RYU_MGR, app] p = Popen(cmd, stdout=PIPE, stderr=STDOUT) while True: if p.poll() is not None: - raise Exception('Another ryu-manager already running?') + raise Exception('Another os_ken-manager already running?') line = p.stdout.readline().strip() if line == '': time.sleep(1) continue - print("ryu-manager: %s" % line) + print("os_ken-manager: %s" % line) if line.find('TEST_FINISHED') != -1: ok_(line.find('Completed=[True]') != -1) p.terminate() diff --git a/ryu/tests/integrated/test_add_flow_v10.py b/os_ken/tests/integrated/test_add_flow_v10.py similarity index 98% rename from ryu/tests/integrated/test_add_flow_v10.py rename to os_ken/tests/integrated/test_add_flow_v10.py index 6a09646c..47c043fc 100644 --- a/ryu/tests/integrated/test_add_flow_v10.py +++ b/os_ken/tests/integrated/test_add_flow_v10.py @@ -17,10 +17,10 @@ import logging -from ryu.tests.integrated import tester -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ether -from ryu.ofproto import nx_match +from os_ken.tests.integrated import tester +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ether +from os_ken.ofproto import nx_match LOG = logging.getLogger(__name__) diff --git a/ryu/tests/integrated/test_add_flow_v12_actions.py b/os_ken/tests/integrated/test_add_flow_v12_actions.py similarity index 99% rename from ryu/tests/integrated/test_add_flow_v12_actions.py rename to os_ken/tests/integrated/test_add_flow_v12_actions.py index f2f0b3da..495a2307 100644 --- a/ryu/tests/integrated/test_add_flow_v12_actions.py +++ b/os_ken/tests/integrated/test_add_flow_v12_actions.py @@ -17,10 +17,10 @@ import logging -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.tests.integrated import tester +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.tests.integrated import tester LOG = logging.getLogger(__name__) diff --git a/ryu/tests/integrated/test_add_flow_v12_matches.py b/os_ken/tests/integrated/test_add_flow_v12_matches.py similarity index 99% rename from ryu/tests/integrated/test_add_flow_v12_matches.py rename to os_ken/tests/integrated/test_add_flow_v12_matches.py index 588855a6..fcbba47f 100644 --- a/ryu/tests/integrated/test_add_flow_v12_matches.py +++ b/os_ken/tests/integrated/test_add_flow_v12_matches.py @@ -17,10 +17,10 @@ import logging -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.tests.integrated import tester +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.tests.integrated import tester LOG = logging.getLogger(__name__) diff --git a/ryu/tests/integrated/test_of_config.py b/os_ken/tests/integrated/test_of_config.py similarity index 96% rename from ryu/tests/integrated/test_of_config.py rename to os_ken/tests/integrated/test_of_config.py index 6bcc7d0b..ac574061 100644 --- a/ryu/tests/integrated/test_of_config.py +++ b/os_ken/tests/integrated/test_of_config.py @@ -32,9 +32,9 @@ An easy way is to create them as follows Then run linc # rel/linc/bin/linc console -Then run ryu -# PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu/tests/integrated/test_of_config.py +Then run os_ken +# PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken/tests/integrated/test_of_config.py Here is my sys.config used for this test. @@ -117,12 +117,12 @@ import traceback import lxml.etree import ncclient -from ryu.base import app_manager -from ryu.lib.netconf import constants as nc_consts -from ryu.lib import hub -from ryu.lib import of_config -from ryu.lib.of_config import capable_switch -from ryu.lib.of_config import constants as ofc_consts +from os_ken.base import app_manager +from os_ken.lib.netconf import constants as nc_consts +from os_ken.lib import hub +from os_ken.lib import of_config +from os_ken.lib.of_config import capable_switch +from os_ken.lib.of_config import constants as ofc_consts # Change those depending on switch configuration diff --git a/ryu/tests/integrated/test_request_reply_v12.py b/os_ken/tests/integrated/test_request_reply_v12.py similarity index 99% rename from ryu/tests/integrated/test_request_reply_v12.py rename to os_ken/tests/integrated/test_request_reply_v12.py index ae99bcc7..21792ad6 100644 --- a/ryu/tests/integrated/test_request_reply_v12.py +++ b/os_ken/tests/integrated/test_request_reply_v12.py @@ -18,11 +18,11 @@ import time import logging -from ryu.controller import ofp_event -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.tests.integrated import tester +from os_ken.controller import ofp_event +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.tests.integrated import tester LOG = logging.getLogger(__name__) diff --git a/ryu/tests/integrated/test_vrrp_linux_multi.py b/os_ken/tests/integrated/test_vrrp_linux_multi.py similarity index 79% rename from ryu/tests/integrated/test_vrrp_linux_multi.py rename to os_ken/tests/integrated/test_vrrp_linux_multi.py index ac5c3252..4de530c4 100644 --- a/ryu/tests/integrated/test_vrrp_linux_multi.py +++ b/os_ken/tests/integrated/test_vrrp_linux_multi.py @@ -16,14 +16,14 @@ r""" Usage: -PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu.services.protocols.vrrp.dumper \ - ryu.services.protocols.vrrp.sample_manager.py \ - ryu.tests.integrated.test_vrrp_linux_multi \ - ryu.app.rest +PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken.services.protocols.vrrp.dumper \ + os_ken.services.protocols.vrrp.sample_manager.py \ + os_ken.tests.integrated.test_vrrp_linux_multi \ + os_ken.app.rest -ryu.services.protocols.vrrp.dumper is optional. -ryu.app.rest is merely to prevent ryu-manager from exiting. +os_ken.services.protocols.vrrp.dumper is optional. +os_ken.app.rest is merely to prevent os_ken-manager from exiting. ---------------- /--<--veth0-->| | @@ -63,13 +63,13 @@ from veth2 by packet generator like packeth NOTE: vrid: 7 and ip address: 10.0.0.1... are hardcoded below """ -from ryu.base import app_manager -from ryu.lib import hub -from ryu.lib import mac as lib_mac -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import api as vrrp_api -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import monitor_linux +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.lib import mac as lib_mac +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import api as vrrp_api +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import monitor_linux from . import vrrp_common diff --git a/ryu/tests/integrated/test_vrrp_linux_multi.sh b/os_ken/tests/integrated/test_vrrp_linux_multi.sh similarity index 100% rename from ryu/tests/integrated/test_vrrp_linux_multi.sh rename to os_ken/tests/integrated/test_vrrp_linux_multi.sh diff --git a/ryu/tests/integrated/test_vrrp_multi.py b/os_ken/tests/integrated/test_vrrp_multi.py similarity index 85% rename from ryu/tests/integrated/test_vrrp_multi.py rename to os_ken/tests/integrated/test_vrrp_multi.py index a26d949a..93f073b1 100644 --- a/ryu/tests/integrated/test_vrrp_multi.py +++ b/os_ken/tests/integrated/test_vrrp_multi.py @@ -16,12 +16,12 @@ r""" Usage: -PYTHONPATH=. ./bin/ryu-manager --verbose \ - ryu.topology.switches \ - ryu.tests.integrated.test_vrrp_multi \ - ryu.services.protocols.vrrp.dumper +PYTHONPATH=. ./bin/os_ken-manager --verbose \ + os_ken.topology.switches \ + os_ken.tests.integrated.test_vrrp_multi \ + os_ken.services.protocols.vrrp.dumper -ryu.services.protocols.vrrp.dumper is optional. +os_ken.services.protocols.vrrp.dumper is optional. +---+ ---------------- /--|OVS|<--veth-->| | @@ -29,7 +29,7 @@ ryu.services.protocols.vrrp.dumper is optional. \--|OVS|<--veth-->| | +---+ ---------------- -configure OVSs to connect ryu +configure OVSs to connect os_ken example # brctl addbr b0 # ip link add veth0-ovs type veth peer name veth0-br @@ -77,16 +77,16 @@ ovs-system 0000.122038293b55 no # ip link b0 set up """ -from ryu.base import app_manager -from ryu.controller import handler -from ryu.lib import dpid as lib_dpid -from ryu.lib import hub -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import api as vrrp_api -from ryu.services.protocols.vrrp import event as vrrp_event -from ryu.services.protocols.vrrp import monitor_openflow -from ryu.topology import event as topo_event -from ryu.topology import api as topo_api +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.lib import dpid as lib_dpid +from os_ken.lib import hub +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import api as vrrp_api +from os_ken.services.protocols.vrrp import event as vrrp_event +from os_ken.services.protocols.vrrp import monitor_openflow +from os_ken.topology import event as topo_event +from os_ken.topology import api as topo_api from . import vrrp_common diff --git a/ryu/tests/integrated/test_vrrp_multi.sh b/os_ken/tests/integrated/test_vrrp_multi.sh similarity index 100% rename from ryu/tests/integrated/test_vrrp_multi.sh rename to os_ken/tests/integrated/test_vrrp_multi.sh diff --git a/ryu/tests/integrated/tester.py b/os_ken/tests/integrated/tester.py similarity index 93% rename from ryu/tests/integrated/tester.py rename to os_ken/tests/integrated/tester.py index f052c6cc..6f533831 100644 --- a/ryu/tests/integrated/tester.py +++ b/os_ken/tests/integrated/tester.py @@ -19,17 +19,17 @@ import sys import logging import itertools -from ryu import utils -from ryu.lib import mac -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import handler -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import CONFIG_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 +from os_ken import utils +from os_ken.lib import mac +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import handler +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import CONFIG_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 LOG = logging.getLogger(__name__) diff --git a/ryu/tests/integrated/vrrp_common.py b/os_ken/tests/integrated/vrrp_common.py similarity index 97% rename from ryu/tests/integrated/vrrp_common.py rename to os_ken/tests/integrated/vrrp_common.py index 0123cb1f..e76cfa2a 100644 --- a/ryu/tests/integrated/vrrp_common.py +++ b/os_ken/tests/integrated/vrrp_common.py @@ -19,12 +19,12 @@ from __future__ import print_function import time import random -from ryu.base import app_manager -from ryu.lib import hub -from ryu.lib import mac as lib_mac -from ryu.lib.packet import vrrp -from ryu.services.protocols.vrrp import api as vrrp_api -from ryu.services.protocols.vrrp import event as vrrp_event +from os_ken.base import app_manager +from os_ken.lib import hub +from os_ken.lib import mac as lib_mac +from os_ken.lib.packet import vrrp +from os_ken.services.protocols.vrrp import api as vrrp_api +from os_ken.services.protocols.vrrp import event as vrrp_event _VRID = 7 diff --git a/ryu/tests/mininet/l2/mpls/PopMPLS_mpls.mn b/os_ken/tests/mininet/l2/mpls/PopMPLS_mpls.mn similarity index 100% rename from ryu/tests/mininet/l2/mpls/PopMPLS_mpls.mn rename to os_ken/tests/mininet/l2/mpls/PopMPLS_mpls.mn diff --git a/ryu/tests/mininet/l2/mpls/PushMPLS_ip.mn b/os_ken/tests/mininet/l2/mpls/PushMPLS_ip.mn similarity index 100% rename from ryu/tests/mininet/l2/mpls/PushMPLS_ip.mn rename to os_ken/tests/mininet/l2/mpls/PushMPLS_ip.mn diff --git a/ryu/tests/mininet/l2/mpls/PushMPLS_mpls.mn b/os_ken/tests/mininet/l2/mpls/PushMPLS_mpls.mn similarity index 100% rename from ryu/tests/mininet/l2/mpls/PushMPLS_mpls.mn rename to os_ken/tests/mininet/l2/mpls/PushMPLS_mpls.mn diff --git a/ryu/tests/mininet/l2/mpls/test_mpls.py b/os_ken/tests/mininet/l2/mpls/test_mpls.py similarity index 93% rename from ryu/tests/mininet/l2/mpls/test_mpls.py rename to os_ken/tests/mininet/l2/mpls/test_mpls.py index 3090a08c..4b44a2fe 100644 --- a/ryu/tests/mininet/l2/mpls/test_mpls.py +++ b/os_ken/tests/mininet/l2/mpls/test_mpls.py @@ -16,14 +16,14 @@ import logging import struct -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.lib.mac import haddr_to_str +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.lib.mac import haddr_to_str LOG = logging.getLogger(__name__) diff --git a/ryu/tests/mininet/l2/vlan/PopVLAN_vlan.mn b/os_ken/tests/mininet/l2/vlan/PopVLAN_vlan.mn similarity index 100% rename from ryu/tests/mininet/l2/vlan/PopVLAN_vlan.mn rename to os_ken/tests/mininet/l2/vlan/PopVLAN_vlan.mn diff --git a/ryu/tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn b/os_ken/tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn similarity index 100% rename from ryu/tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn rename to os_ken/tests/mininet/l2/vlan/PopVLAN_vlanvlan.mn diff --git a/ryu/tests/mininet/l2/vlan/PushVLAN_icmp.mn b/os_ken/tests/mininet/l2/vlan/PushVLAN_icmp.mn similarity index 100% rename from ryu/tests/mininet/l2/vlan/PushVLAN_icmp.mn rename to os_ken/tests/mininet/l2/vlan/PushVLAN_icmp.mn diff --git a/ryu/tests/mininet/l2/vlan/test_vlan.py b/os_ken/tests/mininet/l2/vlan/test_vlan.py similarity index 92% rename from ryu/tests/mininet/l2/vlan/test_vlan.py rename to os_ken/tests/mininet/l2/vlan/test_vlan.py index 0b1be7fc..c92a1ec8 100644 --- a/ryu/tests/mininet/l2/vlan/test_vlan.py +++ b/os_ken/tests/mininet/l2/vlan/test_vlan.py @@ -16,15 +16,15 @@ import logging import struct -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib.mac import haddr_to_str +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib.mac import haddr_to_str LOG = logging.getLogger(__name__) diff --git a/ryu/tests/mininet/l3/icmp/ICMP_ping.mn b/os_ken/tests/mininet/l3/icmp/ICMP_ping.mn similarity index 100% rename from ryu/tests/mininet/l3/icmp/ICMP_ping.mn rename to os_ken/tests/mininet/l3/icmp/ICMP_ping.mn diff --git a/ryu/tests/mininet/l3/icmp/ICMP_reply.mn b/os_ken/tests/mininet/l3/icmp/ICMP_reply.mn similarity index 100% rename from ryu/tests/mininet/l3/icmp/ICMP_reply.mn rename to os_ken/tests/mininet/l3/icmp/ICMP_reply.mn diff --git a/ryu/tests/mininet/l3/icmp/test_icmp.py b/os_ken/tests/mininet/l3/icmp/test_icmp.py similarity index 90% rename from ryu/tests/mininet/l3/icmp/test_icmp.py rename to os_ken/tests/mininet/l3/icmp/test_icmp.py index 090f83e5..51660ae6 100644 --- a/ryu/tests/mininet/l3/icmp/test_icmp.py +++ b/os_ken/tests/mininet/l3/icmp/test_icmp.py @@ -16,13 +16,13 @@ import logging import struct -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.lib.mac import haddr_to_str +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.lib.mac import haddr_to_str LOG = logging.getLogger(__name__) diff --git a/ryu/tests/mininet/l3/ip_ttl/DecNwTtl.mn b/os_ken/tests/mininet/l3/ip_ttl/DecNwTtl.mn similarity index 100% rename from ryu/tests/mininet/l3/ip_ttl/DecNwTtl.mn rename to os_ken/tests/mininet/l3/ip_ttl/DecNwTtl.mn diff --git a/ryu/tests/mininet/l3/ip_ttl/test_ip_ttl.py b/os_ken/tests/mininet/l3/ip_ttl/test_ip_ttl.py similarity index 89% rename from ryu/tests/mininet/l3/ip_ttl/test_ip_ttl.py rename to os_ken/tests/mininet/l3/ip_ttl/test_ip_ttl.py index f6f00ab9..11522547 100644 --- a/ryu/tests/mininet/l3/ip_ttl/test_ip_ttl.py +++ b/os_ken/tests/mininet/l3/ip_ttl/test_ip_ttl.py @@ -16,14 +16,14 @@ import logging import struct -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller import dpset -from ryu.controller.handler import MAIN_DISPATCHER -from ryu.controller.handler import set_ev_cls -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.lib.mac import haddr_to_str +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller import dpset +from os_ken.controller.handler import MAIN_DISPATCHER +from os_ken.controller.handler import set_ev_cls +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.lib.mac import haddr_to_str LOG = logging.getLogger(__name__) diff --git a/ryu/tests/mininet/packet_lib/arp/ARP_gratuitous.mn b/os_ken/tests/mininet/packet_lib/arp/ARP_gratuitous.mn similarity index 100% rename from ryu/tests/mininet/packet_lib/arp/ARP_gratuitous.mn rename to os_ken/tests/mininet/packet_lib/arp/ARP_gratuitous.mn diff --git a/ryu/tests/mininet/packet_lib/arp/ARP_reply.mn b/os_ken/tests/mininet/packet_lib/arp/ARP_reply.mn similarity index 100% rename from ryu/tests/mininet/packet_lib/arp/ARP_reply.mn rename to os_ken/tests/mininet/packet_lib/arp/ARP_reply.mn diff --git a/ryu/tests/mininet/packet_lib/arp/ARP_request.mn b/os_ken/tests/mininet/packet_lib/arp/ARP_request.mn similarity index 100% rename from ryu/tests/mininet/packet_lib/arp/ARP_request.mn rename to os_ken/tests/mininet/packet_lib/arp/ARP_request.mn diff --git a/ryu/tests/mininet/packet_lib/arp/test_arp.py b/os_ken/tests/mininet/packet_lib/arp/test_arp.py similarity index 93% rename from ryu/tests/mininet/packet_lib/arp/test_arp.py rename to os_ken/tests/mininet/packet_lib/arp/test_arp.py index 39948f54..57164d0c 100644 --- a/ryu/tests/mininet/packet_lib/arp/test_arp.py +++ b/os_ken/tests/mininet/packet_lib/arp/test_arp.py @@ -19,19 +19,19 @@ import logging import array import netaddr -from ryu.base import app_manager -from ryu.controller import dpset -from ryu.controller import ofp_event -from ryu.controller import handler -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib import mac -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import arp -from ryu.lib.packet import ipv4 -from ryu.lib.packet import icmp +from os_ken.base import app_manager +from os_ken.controller import dpset +from os_ken.controller import ofp_event +from os_ken.controller import handler +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib import mac +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import arp +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import icmp LOG = logging.getLogger(__name__) diff --git a/ryu/tests/mininet/run_mnet-test.sh b/os_ken/tests/mininet/run_mnet-test.sh similarity index 100% rename from ryu/tests/mininet/run_mnet-test.sh rename to os_ken/tests/mininet/run_mnet-test.sh diff --git a/ryu/tests/packet_data/bgp4/bgp4-keepalive.pcap b/os_ken/tests/packet_data/bgp4/bgp4-keepalive.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/bgp4-keepalive.pcap rename to os_ken/tests/packet_data/bgp4/bgp4-keepalive.pcap diff --git a/ryu/tests/packet_data/bgp4/bgp4-open.pcap b/os_ken/tests/packet_data/bgp4/bgp4-open.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/bgp4-open.pcap rename to os_ken/tests/packet_data/bgp4/bgp4-open.pcap diff --git a/ryu/tests/packet_data/bgp4/bgp4-update.pcap b/os_ken/tests/packet_data/bgp4/bgp4-update.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/bgp4-update.pcap rename to os_ken/tests/packet_data/bgp4/bgp4-update.pcap diff --git a/ryu/tests/packet_data/bgp4/bgp4-update_ipv6.pcap b/os_ken/tests/packet_data/bgp4/bgp4-update_ipv6.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/bgp4-update_ipv6.pcap rename to os_ken/tests/packet_data/bgp4/bgp4-update_ipv6.pcap diff --git a/ryu/tests/packet_data/bgp4/bgp4-update_vpnv6.pcap b/os_ken/tests/packet_data/bgp4/bgp4-update_vpnv6.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/bgp4-update_vpnv6.pcap rename to os_ken/tests/packet_data/bgp4/bgp4-update_vpnv6.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_arbitrary.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_as_based.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_as_based.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_as_based.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_as_based.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_l2_bridge.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_lacp.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_lacp.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_lacp.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_lacp.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_mac_base.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_mac_base.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_mac_base.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_mac_base.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_esi_router_id.pcap b/os_ken/tests/packet_data/bgp4/evpn_esi_router_id.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_esi_router_id.pcap rename to os_ken/tests/packet_data/bgp4/evpn_esi_router_id.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap b/os_ken/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap rename to os_ken/tests/packet_data/bgp4/evpn_nlri_eth_a-d.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap b/os_ken/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap rename to os_ken/tests/packet_data/bgp4/evpn_nlri_eth_seg.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap b/os_ken/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap rename to os_ken/tests/packet_data/bgp4/evpn_nlri_inc_multi_eth_tag.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_nlri_ip_prefix.pcap b/os_ken/tests/packet_data/bgp4/evpn_nlri_ip_prefix.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_nlri_ip_prefix.pcap rename to os_ken/tests/packet_data/bgp4/evpn_nlri_ip_prefix.pcap diff --git a/ryu/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap b/os_ken/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap rename to os_ken/tests/packet_data/bgp4/evpn_nlri_mac_ip_ad.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_action_redirect.pcap b/os_ken/tests/packet_data/bgp4/flowspec_action_redirect.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_action_redirect.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_action_redirect.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_action_traffic_action.pcap b/os_ken/tests/packet_data/bgp4/flowspec_action_traffic_action.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_action_traffic_action.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_action_traffic_action.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_action_traffic_marking.pcap b/os_ken/tests/packet_data/bgp4/flowspec_action_traffic_marking.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_action_traffic_marking.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_action_traffic_marking.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_action_traffic_rate.pcap b/os_ken/tests/packet_data/bgp4/flowspec_action_traffic_rate.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_action_traffic_rate.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_action_traffic_rate.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_nlri_ipv4.pcap b/os_ken/tests/packet_data/bgp4/flowspec_nlri_ipv4.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_nlri_ipv4.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_nlri_ipv4.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_nlri_ipv6.pcap b/os_ken/tests/packet_data/bgp4/flowspec_nlri_ipv6.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_nlri_ipv6.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_nlri_ipv6.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_nlri_l2vpn.pcap b/os_ken/tests/packet_data/bgp4/flowspec_nlri_l2vpn.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_nlri_l2vpn.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_nlri_l2vpn.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_nlri_vpn4.pcap b/os_ken/tests/packet_data/bgp4/flowspec_nlri_vpn4.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_nlri_vpn4.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_nlri_vpn4.pcap diff --git a/ryu/tests/packet_data/bgp4/flowspec_nlri_vpn6.pcap b/os_ken/tests/packet_data/bgp4/flowspec_nlri_vpn6.pcap similarity index 100% rename from ryu/tests/packet_data/bgp4/flowspec_nlri_vpn6.pcap rename to os_ken/tests/packet_data/bgp4/flowspec_nlri_vpn6.pcap diff --git a/ryu/tests/packet_data/mrt/rib.20161101.0000_pick.bz2 b/os_ken/tests/packet_data/mrt/rib.20161101.0000_pick.bz2 similarity index 100% rename from ryu/tests/packet_data/mrt/rib.20161101.0000_pick.bz2 rename to os_ken/tests/packet_data/mrt/rib.20161101.0000_pick.bz2 diff --git a/ryu/tests/packet_data/mrt/updates.20161101.0000.bz2 b/os_ken/tests/packet_data/mrt/updates.20161101.0000.bz2 similarity index 100% rename from ryu/tests/packet_data/mrt/updates.20161101.0000.bz2 rename to os_ken/tests/packet_data/mrt/updates.20161101.0000.bz2 diff --git a/ryu/tests/packet_data/of10/1-1-ofp_packet_out.packet b/os_ken/tests/packet_data/of10/1-1-ofp_packet_out.packet similarity index 100% rename from ryu/tests/packet_data/of10/1-1-ofp_packet_out.packet rename to os_ken/tests/packet_data/of10/1-1-ofp_packet_out.packet diff --git a/ryu/tests/packet_data/of10/1-2-ofp_flow_mod.packet b/os_ken/tests/packet_data/of10/1-2-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of10/1-2-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of10/1-2-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of10/1-4-ofp_packet_in.packet b/os_ken/tests/packet_data/of10/1-4-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of10/1-4-ofp_packet_in.packet rename to os_ken/tests/packet_data/of10/1-4-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of10/1-5-features_request.packet b/os_ken/tests/packet_data/of10/1-5-features_request.packet similarity index 100% rename from ryu/tests/packet_data/of10/1-5-features_request.packet rename to os_ken/tests/packet_data/of10/1-5-features_request.packet diff --git a/ryu/tests/packet_data/of10/1-6-ofp_switch_features.packet b/os_ken/tests/packet_data/of10/1-6-ofp_switch_features.packet similarity index 100% rename from ryu/tests/packet_data/of10/1-6-ofp_switch_features.packet rename to os_ken/tests/packet_data/of10/1-6-ofp_switch_features.packet diff --git a/ryu/tests/packet_data/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet b/os_ken/tests/packet_data/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet similarity index 100% rename from ryu/tests/packet_data/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet rename to os_ken/tests/packet_data/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_pop_mpls.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_pop_mpls.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_pop_mpls.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_pop_mpls.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_push_mpls.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_push_mpls.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_push_mpls.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_push_mpls.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_label.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_label.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_label.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_label.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_tc.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_tc.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_tc.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_tc.packet diff --git a/ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet b/os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet similarity index 100% rename from ryu/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet rename to os_ken/tests/packet_data/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet diff --git a/ryu/tests/packet_data/of12/3-0-ofp_desc_stats_reply.packet b/os_ken/tests/packet_data/of12/3-0-ofp_desc_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-0-ofp_desc_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-0-ofp_desc_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-1-ofp_packet_out.packet b/os_ken/tests/packet_data/of12/3-1-ofp_packet_out.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-1-ofp_packet_out.packet rename to os_ken/tests/packet_data/of12/3-1-ofp_packet_out.packet diff --git a/ryu/tests/packet_data/of12/3-10-ofp_hello.packet b/os_ken/tests/packet_data/of12/3-10-ofp_hello.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-10-ofp_hello.packet rename to os_ken/tests/packet_data/of12/3-10-ofp_hello.packet diff --git a/ryu/tests/packet_data/of12/3-11-ofp_flow_stats_request.packet b/os_ken/tests/packet_data/of12/3-11-ofp_flow_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-11-ofp_flow_stats_request.packet rename to os_ken/tests/packet_data/of12/3-11-ofp_flow_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-12-ofp_flow_stats_reply.packet b/os_ken/tests/packet_data/of12/3-12-ofp_flow_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-12-ofp_flow_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-12-ofp_flow_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-13-ofp_echo_request.packet b/os_ken/tests/packet_data/of12/3-13-ofp_echo_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-13-ofp_echo_request.packet rename to os_ken/tests/packet_data/of12/3-13-ofp_echo_request.packet diff --git a/ryu/tests/packet_data/of12/3-14-ofp_echo_reply.packet b/os_ken/tests/packet_data/of12/3-14-ofp_echo_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-14-ofp_echo_reply.packet rename to os_ken/tests/packet_data/of12/3-14-ofp_echo_reply.packet diff --git a/ryu/tests/packet_data/of12/3-15-ofp_error_msg.packet b/os_ken/tests/packet_data/of12/3-15-ofp_error_msg.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-15-ofp_error_msg.packet rename to os_ken/tests/packet_data/of12/3-15-ofp_error_msg.packet diff --git a/ryu/tests/packet_data/of12/3-16-ofp_experimenter.packet b/os_ken/tests/packet_data/of12/3-16-ofp_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-16-ofp_experimenter.packet rename to os_ken/tests/packet_data/of12/3-16-ofp_experimenter.packet diff --git a/ryu/tests/packet_data/of12/3-17-ofp_barrier_request.packet b/os_ken/tests/packet_data/of12/3-17-ofp_barrier_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-17-ofp_barrier_request.packet rename to os_ken/tests/packet_data/of12/3-17-ofp_barrier_request.packet diff --git a/ryu/tests/packet_data/of12/3-18-ofp_barrier_reply.packet b/os_ken/tests/packet_data/of12/3-18-ofp_barrier_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-18-ofp_barrier_reply.packet rename to os_ken/tests/packet_data/of12/3-18-ofp_barrier_reply.packet diff --git a/ryu/tests/packet_data/of12/3-19-ofp_role_request.packet b/os_ken/tests/packet_data/of12/3-19-ofp_role_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-19-ofp_role_request.packet rename to os_ken/tests/packet_data/of12/3-19-ofp_role_request.packet diff --git a/ryu/tests/packet_data/of12/3-2-ofp_flow_mod.packet b/os_ken/tests/packet_data/of12/3-2-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-2-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of12/3-2-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of12/3-20-ofp_role_reply.packet b/os_ken/tests/packet_data/of12/3-20-ofp_role_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-20-ofp_role_reply.packet rename to os_ken/tests/packet_data/of12/3-20-ofp_role_reply.packet diff --git a/ryu/tests/packet_data/of12/3-21-ofp_group_mod.packet b/os_ken/tests/packet_data/of12/3-21-ofp_group_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-21-ofp_group_mod.packet rename to os_ken/tests/packet_data/of12/3-21-ofp_group_mod.packet diff --git a/ryu/tests/packet_data/of12/3-22-ofp_port_mod.packet b/os_ken/tests/packet_data/of12/3-22-ofp_port_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-22-ofp_port_mod.packet rename to os_ken/tests/packet_data/of12/3-22-ofp_port_mod.packet diff --git a/ryu/tests/packet_data/of12/3-23-ofp_table_mod.packet b/os_ken/tests/packet_data/of12/3-23-ofp_table_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-23-ofp_table_mod.packet rename to os_ken/tests/packet_data/of12/3-23-ofp_table_mod.packet diff --git a/ryu/tests/packet_data/of12/3-24-ofp_desc_stats_request.packet b/os_ken/tests/packet_data/of12/3-24-ofp_desc_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-24-ofp_desc_stats_request.packet rename to os_ken/tests/packet_data/of12/3-24-ofp_desc_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-25-ofp_aggregate_stats_request.packet b/os_ken/tests/packet_data/of12/3-25-ofp_aggregate_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-25-ofp_aggregate_stats_request.packet rename to os_ken/tests/packet_data/of12/3-25-ofp_aggregate_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-26-ofp_aggregate_stats_reply.packet b/os_ken/tests/packet_data/of12/3-26-ofp_aggregate_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-26-ofp_aggregate_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-26-ofp_aggregate_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-27-ofp_table_stats_request.packet b/os_ken/tests/packet_data/of12/3-27-ofp_table_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-27-ofp_table_stats_request.packet rename to os_ken/tests/packet_data/of12/3-27-ofp_table_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-28-ofp_table_stats_reply.packet b/os_ken/tests/packet_data/of12/3-28-ofp_table_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-28-ofp_table_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-28-ofp_table_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-29-ofp_port_stats_request.packet b/os_ken/tests/packet_data/of12/3-29-ofp_port_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-29-ofp_port_stats_request.packet rename to os_ken/tests/packet_data/of12/3-29-ofp_port_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-3-ofp_flow_mod.packet b/os_ken/tests/packet_data/of12/3-3-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-3-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of12/3-3-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of12/3-30-ofp_port_stats_reply.packet b/os_ken/tests/packet_data/of12/3-30-ofp_port_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-30-ofp_port_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-30-ofp_port_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-31-ofp_group_features_stats_request.packet b/os_ken/tests/packet_data/of12/3-31-ofp_group_features_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-31-ofp_group_features_stats_request.packet rename to os_ken/tests/packet_data/of12/3-31-ofp_group_features_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-32-ofp_group_features_stats_reply.packet b/os_ken/tests/packet_data/of12/3-32-ofp_group_features_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-32-ofp_group_features_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-32-ofp_group_features_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-33-ofp_group_desc_stats_request.packet b/os_ken/tests/packet_data/of12/3-33-ofp_group_desc_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-33-ofp_group_desc_stats_request.packet rename to os_ken/tests/packet_data/of12/3-33-ofp_group_desc_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-34-ofp_group_desc_stats_reply.packet b/os_ken/tests/packet_data/of12/3-34-ofp_group_desc_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-34-ofp_group_desc_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-34-ofp_group_desc_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-35-ofp_queue_get_config_request.packet b/os_ken/tests/packet_data/of12/3-35-ofp_queue_get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-35-ofp_queue_get_config_request.packet rename to os_ken/tests/packet_data/of12/3-35-ofp_queue_get_config_request.packet diff --git a/ryu/tests/packet_data/of12/3-36-ofp_queue_get_config_reply.packet b/os_ken/tests/packet_data/of12/3-36-ofp_queue_get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-36-ofp_queue_get_config_reply.packet rename to os_ken/tests/packet_data/of12/3-36-ofp_queue_get_config_reply.packet diff --git a/ryu/tests/packet_data/of12/3-37-ofp_queue_stats_request.packet b/os_ken/tests/packet_data/of12/3-37-ofp_queue_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-37-ofp_queue_stats_request.packet rename to os_ken/tests/packet_data/of12/3-37-ofp_queue_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-38-ofp_queue_stats_reply.packet b/os_ken/tests/packet_data/of12/3-38-ofp_queue_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-38-ofp_queue_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-38-ofp_queue_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-39-ofp_port_status.packet b/os_ken/tests/packet_data/of12/3-39-ofp_port_status.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-39-ofp_port_status.packet rename to os_ken/tests/packet_data/of12/3-39-ofp_port_status.packet diff --git a/ryu/tests/packet_data/of12/3-4-ofp_packet_in.packet b/os_ken/tests/packet_data/of12/3-4-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-4-ofp_packet_in.packet rename to os_ken/tests/packet_data/of12/3-4-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of12/3-40-ofp_flow_removed.packet b/os_ken/tests/packet_data/of12/3-40-ofp_flow_removed.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-40-ofp_flow_removed.packet rename to os_ken/tests/packet_data/of12/3-40-ofp_flow_removed.packet diff --git a/ryu/tests/packet_data/of12/3-41-ofp_error_msg_experimenter.packet b/os_ken/tests/packet_data/of12/3-41-ofp_error_msg_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-41-ofp_error_msg_experimenter.packet rename to os_ken/tests/packet_data/of12/3-41-ofp_error_msg_experimenter.packet diff --git a/ryu/tests/packet_data/of12/3-5-ofp_features_request.packet b/os_ken/tests/packet_data/of12/3-5-ofp_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-5-ofp_features_request.packet rename to os_ken/tests/packet_data/of12/3-5-ofp_features_request.packet diff --git a/ryu/tests/packet_data/of12/3-59-ofp_packet_in.packet b/os_ken/tests/packet_data/of12/3-59-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-59-ofp_packet_in.packet rename to os_ken/tests/packet_data/of12/3-59-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of12/3-6-ofp_features_reply.packet b/os_ken/tests/packet_data/of12/3-6-ofp_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-6-ofp_features_reply.packet rename to os_ken/tests/packet_data/of12/3-6-ofp_features_reply.packet diff --git a/ryu/tests/packet_data/of12/3-60-ofp_flow_mod.packet b/os_ken/tests/packet_data/of12/3-60-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-60-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of12/3-60-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of12/3-61-ofp_group_stats_request.packet b/os_ken/tests/packet_data/of12/3-61-ofp_group_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-61-ofp_group_stats_request.packet rename to os_ken/tests/packet_data/of12/3-61-ofp_group_stats_request.packet diff --git a/ryu/tests/packet_data/of12/3-62-ofp_group_stats_reply.packet b/os_ken/tests/packet_data/of12/3-62-ofp_group_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-62-ofp_group_stats_reply.packet rename to os_ken/tests/packet_data/of12/3-62-ofp_group_stats_reply.packet diff --git a/ryu/tests/packet_data/of12/3-7-ofp_set_config.packet b/os_ken/tests/packet_data/of12/3-7-ofp_set_config.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-7-ofp_set_config.packet rename to os_ken/tests/packet_data/of12/3-7-ofp_set_config.packet diff --git a/ryu/tests/packet_data/of12/3-8-ofp_get_config_request.packet b/os_ken/tests/packet_data/of12/3-8-ofp_get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-8-ofp_get_config_request.packet rename to os_ken/tests/packet_data/of12/3-8-ofp_get_config_request.packet diff --git a/ryu/tests/packet_data/of12/3-9-ofp_get_config_reply.packet b/os_ken/tests/packet_data/of12/3-9-ofp_get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of12/3-9-ofp_get_config_reply.packet rename to os_ken/tests/packet_data/of12/3-9-ofp_get_config_reply.packet diff --git a/ryu/tests/packet_data/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet b/os_ken/tests/packet_data/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet similarity index 100% rename from ryu/tests/packet_data/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet rename to os_ken/tests/packet_data/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet diff --git a/ryu/tests/packet_data/of13/4-0-ofp_desc_reply.packet b/os_ken/tests/packet_data/of13/4-0-ofp_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-0-ofp_desc_reply.packet rename to os_ken/tests/packet_data/of13/4-0-ofp_desc_reply.packet diff --git a/ryu/tests/packet_data/of13/4-1-ofp_packet_out.packet b/os_ken/tests/packet_data/of13/4-1-ofp_packet_out.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-1-ofp_packet_out.packet rename to os_ken/tests/packet_data/of13/4-1-ofp_packet_out.packet diff --git a/ryu/tests/packet_data/of13/4-10-ofp_hello.packet b/os_ken/tests/packet_data/of13/4-10-ofp_hello.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-10-ofp_hello.packet rename to os_ken/tests/packet_data/of13/4-10-ofp_hello.packet diff --git a/ryu/tests/packet_data/of13/4-11-ofp_flow_stats_request.packet b/os_ken/tests/packet_data/of13/4-11-ofp_flow_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-11-ofp_flow_stats_request.packet rename to os_ken/tests/packet_data/of13/4-11-ofp_flow_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-12-ofp_flow_stats_reply.packet b/os_ken/tests/packet_data/of13/4-12-ofp_flow_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-12-ofp_flow_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-12-ofp_flow_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-13-ofp_echo_request.packet b/os_ken/tests/packet_data/of13/4-13-ofp_echo_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-13-ofp_echo_request.packet rename to os_ken/tests/packet_data/of13/4-13-ofp_echo_request.packet diff --git a/ryu/tests/packet_data/of13/4-14-ofp_echo_reply.packet b/os_ken/tests/packet_data/of13/4-14-ofp_echo_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-14-ofp_echo_reply.packet rename to os_ken/tests/packet_data/of13/4-14-ofp_echo_reply.packet diff --git a/ryu/tests/packet_data/of13/4-15-ofp_error_msg.packet b/os_ken/tests/packet_data/of13/4-15-ofp_error_msg.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-15-ofp_error_msg.packet rename to os_ken/tests/packet_data/of13/4-15-ofp_error_msg.packet diff --git a/ryu/tests/packet_data/of13/4-16-ofp_experimenter.packet b/os_ken/tests/packet_data/of13/4-16-ofp_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-16-ofp_experimenter.packet rename to os_ken/tests/packet_data/of13/4-16-ofp_experimenter.packet diff --git a/ryu/tests/packet_data/of13/4-17-ofp_barrier_request.packet b/os_ken/tests/packet_data/of13/4-17-ofp_barrier_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-17-ofp_barrier_request.packet rename to os_ken/tests/packet_data/of13/4-17-ofp_barrier_request.packet diff --git a/ryu/tests/packet_data/of13/4-18-ofp_barrier_reply.packet b/os_ken/tests/packet_data/of13/4-18-ofp_barrier_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-18-ofp_barrier_reply.packet rename to os_ken/tests/packet_data/of13/4-18-ofp_barrier_reply.packet diff --git a/ryu/tests/packet_data/of13/4-19-ofp_role_request.packet b/os_ken/tests/packet_data/of13/4-19-ofp_role_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-19-ofp_role_request.packet rename to os_ken/tests/packet_data/of13/4-19-ofp_role_request.packet diff --git a/ryu/tests/packet_data/of13/4-2-ofp_flow_mod.packet b/os_ken/tests/packet_data/of13/4-2-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-2-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of13/4-2-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of13/4-20-ofp_role_reply.packet b/os_ken/tests/packet_data/of13/4-20-ofp_role_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-20-ofp_role_reply.packet rename to os_ken/tests/packet_data/of13/4-20-ofp_role_reply.packet diff --git a/ryu/tests/packet_data/of13/4-21-ofp_group_mod.packet b/os_ken/tests/packet_data/of13/4-21-ofp_group_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-21-ofp_group_mod.packet rename to os_ken/tests/packet_data/of13/4-21-ofp_group_mod.packet diff --git a/ryu/tests/packet_data/of13/4-22-ofp_port_mod.packet b/os_ken/tests/packet_data/of13/4-22-ofp_port_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-22-ofp_port_mod.packet rename to os_ken/tests/packet_data/of13/4-22-ofp_port_mod.packet diff --git a/ryu/tests/packet_data/of13/4-23-ofp_table_mod.packet b/os_ken/tests/packet_data/of13/4-23-ofp_table_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-23-ofp_table_mod.packet rename to os_ken/tests/packet_data/of13/4-23-ofp_table_mod.packet diff --git a/ryu/tests/packet_data/of13/4-24-ofp_desc_request.packet b/os_ken/tests/packet_data/of13/4-24-ofp_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-24-ofp_desc_request.packet rename to os_ken/tests/packet_data/of13/4-24-ofp_desc_request.packet diff --git a/ryu/tests/packet_data/of13/4-25-ofp_aggregate_stats_request.packet b/os_ken/tests/packet_data/of13/4-25-ofp_aggregate_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-25-ofp_aggregate_stats_request.packet rename to os_ken/tests/packet_data/of13/4-25-ofp_aggregate_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-26-ofp_aggregate_stats_reply.packet b/os_ken/tests/packet_data/of13/4-26-ofp_aggregate_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-26-ofp_aggregate_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-26-ofp_aggregate_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-27-ofp_table_stats_request.packet b/os_ken/tests/packet_data/of13/4-27-ofp_table_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-27-ofp_table_stats_request.packet rename to os_ken/tests/packet_data/of13/4-27-ofp_table_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-28-ofp_table_stats_reply.packet b/os_ken/tests/packet_data/of13/4-28-ofp_table_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-28-ofp_table_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-28-ofp_table_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-29-ofp_port_stats_request.packet b/os_ken/tests/packet_data/of13/4-29-ofp_port_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-29-ofp_port_stats_request.packet rename to os_ken/tests/packet_data/of13/4-29-ofp_port_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-3-ofp_flow_mod.packet b/os_ken/tests/packet_data/of13/4-3-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-3-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of13/4-3-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of13/4-30-ofp_port_stats_reply.packet b/os_ken/tests/packet_data/of13/4-30-ofp_port_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-30-ofp_port_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-30-ofp_port_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-31-ofp_group_features_request.packet b/os_ken/tests/packet_data/of13/4-31-ofp_group_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-31-ofp_group_features_request.packet rename to os_ken/tests/packet_data/of13/4-31-ofp_group_features_request.packet diff --git a/ryu/tests/packet_data/of13/4-32-ofp_group_features_reply.packet b/os_ken/tests/packet_data/of13/4-32-ofp_group_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-32-ofp_group_features_reply.packet rename to os_ken/tests/packet_data/of13/4-32-ofp_group_features_reply.packet diff --git a/ryu/tests/packet_data/of13/4-33-ofp_group_desc_request.packet b/os_ken/tests/packet_data/of13/4-33-ofp_group_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-33-ofp_group_desc_request.packet rename to os_ken/tests/packet_data/of13/4-33-ofp_group_desc_request.packet diff --git a/ryu/tests/packet_data/of13/4-34-ofp_group_desc_reply.packet b/os_ken/tests/packet_data/of13/4-34-ofp_group_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-34-ofp_group_desc_reply.packet rename to os_ken/tests/packet_data/of13/4-34-ofp_group_desc_reply.packet diff --git a/ryu/tests/packet_data/of13/4-35-ofp_queue_get_config_request.packet b/os_ken/tests/packet_data/of13/4-35-ofp_queue_get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-35-ofp_queue_get_config_request.packet rename to os_ken/tests/packet_data/of13/4-35-ofp_queue_get_config_request.packet diff --git a/ryu/tests/packet_data/of13/4-36-ofp_queue_get_config_reply.packet b/os_ken/tests/packet_data/of13/4-36-ofp_queue_get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-36-ofp_queue_get_config_reply.packet rename to os_ken/tests/packet_data/of13/4-36-ofp_queue_get_config_reply.packet diff --git a/ryu/tests/packet_data/of13/4-37-ofp_queue_stats_request.packet b/os_ken/tests/packet_data/of13/4-37-ofp_queue_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-37-ofp_queue_stats_request.packet rename to os_ken/tests/packet_data/of13/4-37-ofp_queue_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-38-ofp_queue_stats_reply.packet b/os_ken/tests/packet_data/of13/4-38-ofp_queue_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-38-ofp_queue_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-38-ofp_queue_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-39-ofp_port_status.packet b/os_ken/tests/packet_data/of13/4-39-ofp_port_status.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-39-ofp_port_status.packet rename to os_ken/tests/packet_data/of13/4-39-ofp_port_status.packet diff --git a/ryu/tests/packet_data/of13/4-4-ofp_packet_in.packet b/os_ken/tests/packet_data/of13/4-4-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-4-ofp_packet_in.packet rename to os_ken/tests/packet_data/of13/4-4-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of13/4-40-ofp_flow_removed.packet b/os_ken/tests/packet_data/of13/4-40-ofp_flow_removed.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-40-ofp_flow_removed.packet rename to os_ken/tests/packet_data/of13/4-40-ofp_flow_removed.packet diff --git a/ryu/tests/packet_data/of13/4-41-ofp_error_msg_experimenter.packet b/os_ken/tests/packet_data/of13/4-41-ofp_error_msg_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-41-ofp_error_msg_experimenter.packet rename to os_ken/tests/packet_data/of13/4-41-ofp_error_msg_experimenter.packet diff --git a/ryu/tests/packet_data/of13/4-42-ofp_get_async_request.packet b/os_ken/tests/packet_data/of13/4-42-ofp_get_async_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-42-ofp_get_async_request.packet rename to os_ken/tests/packet_data/of13/4-42-ofp_get_async_request.packet diff --git a/ryu/tests/packet_data/of13/4-43-ofp_get_async_reply.packet b/os_ken/tests/packet_data/of13/4-43-ofp_get_async_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-43-ofp_get_async_reply.packet rename to os_ken/tests/packet_data/of13/4-43-ofp_get_async_reply.packet diff --git a/ryu/tests/packet_data/of13/4-44-ofp_set_async.packet b/os_ken/tests/packet_data/of13/4-44-ofp_set_async.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-44-ofp_set_async.packet rename to os_ken/tests/packet_data/of13/4-44-ofp_set_async.packet diff --git a/ryu/tests/packet_data/of13/4-45-ofp_meter_mod.packet b/os_ken/tests/packet_data/of13/4-45-ofp_meter_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-45-ofp_meter_mod.packet rename to os_ken/tests/packet_data/of13/4-45-ofp_meter_mod.packet diff --git a/ryu/tests/packet_data/of13/4-46-ofp_flow_mod.packet b/os_ken/tests/packet_data/of13/4-46-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-46-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of13/4-46-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of13/4-47-ofp_meter_config_request.packet b/os_ken/tests/packet_data/of13/4-47-ofp_meter_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-47-ofp_meter_config_request.packet rename to os_ken/tests/packet_data/of13/4-47-ofp_meter_config_request.packet diff --git a/ryu/tests/packet_data/of13/4-48-ofp_meter_config_reply.packet b/os_ken/tests/packet_data/of13/4-48-ofp_meter_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-48-ofp_meter_config_reply.packet rename to os_ken/tests/packet_data/of13/4-48-ofp_meter_config_reply.packet diff --git a/ryu/tests/packet_data/of13/4-49-ofp_meter_stats_request.packet b/os_ken/tests/packet_data/of13/4-49-ofp_meter_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-49-ofp_meter_stats_request.packet rename to os_ken/tests/packet_data/of13/4-49-ofp_meter_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-5-ofp_features_request.packet b/os_ken/tests/packet_data/of13/4-5-ofp_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-5-ofp_features_request.packet rename to os_ken/tests/packet_data/of13/4-5-ofp_features_request.packet diff --git a/ryu/tests/packet_data/of13/4-50-ofp_meter_stats_reply.packet b/os_ken/tests/packet_data/of13/4-50-ofp_meter_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-50-ofp_meter_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-50-ofp_meter_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-51-ofp_meter_features_request.packet b/os_ken/tests/packet_data/of13/4-51-ofp_meter_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-51-ofp_meter_features_request.packet rename to os_ken/tests/packet_data/of13/4-51-ofp_meter_features_request.packet diff --git a/ryu/tests/packet_data/of13/4-52-ofp_meter_features_reply.packet b/os_ken/tests/packet_data/of13/4-52-ofp_meter_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-52-ofp_meter_features_reply.packet rename to os_ken/tests/packet_data/of13/4-52-ofp_meter_features_reply.packet diff --git a/ryu/tests/packet_data/of13/4-53-ofp_port_desc_request.packet b/os_ken/tests/packet_data/of13/4-53-ofp_port_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-53-ofp_port_desc_request.packet rename to os_ken/tests/packet_data/of13/4-53-ofp_port_desc_request.packet diff --git a/ryu/tests/packet_data/of13/4-54-ofp_port_desc_reply.packet b/os_ken/tests/packet_data/of13/4-54-ofp_port_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-54-ofp_port_desc_reply.packet rename to os_ken/tests/packet_data/of13/4-54-ofp_port_desc_reply.packet diff --git a/ryu/tests/packet_data/of13/4-55-ofp_table_features_request.packet b/os_ken/tests/packet_data/of13/4-55-ofp_table_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-55-ofp_table_features_request.packet rename to os_ken/tests/packet_data/of13/4-55-ofp_table_features_request.packet diff --git a/ryu/tests/packet_data/of13/4-56-ofp_table_features_reply.packet b/os_ken/tests/packet_data/of13/4-56-ofp_table_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-56-ofp_table_features_reply.packet rename to os_ken/tests/packet_data/of13/4-56-ofp_table_features_reply.packet diff --git a/ryu/tests/packet_data/of13/4-57-ofp_group_stats_request.packet b/os_ken/tests/packet_data/of13/4-57-ofp_group_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-57-ofp_group_stats_request.packet rename to os_ken/tests/packet_data/of13/4-57-ofp_group_stats_request.packet diff --git a/ryu/tests/packet_data/of13/4-58-ofp_group_stats_reply.packet b/os_ken/tests/packet_data/of13/4-58-ofp_group_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-58-ofp_group_stats_reply.packet rename to os_ken/tests/packet_data/of13/4-58-ofp_group_stats_reply.packet diff --git a/ryu/tests/packet_data/of13/4-59-ofp_packet_in.packet b/os_ken/tests/packet_data/of13/4-59-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-59-ofp_packet_in.packet rename to os_ken/tests/packet_data/of13/4-59-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of13/4-6-ofp_features_reply.packet b/os_ken/tests/packet_data/of13/4-6-ofp_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-6-ofp_features_reply.packet rename to os_ken/tests/packet_data/of13/4-6-ofp_features_reply.packet diff --git a/ryu/tests/packet_data/of13/4-60-ofp_flow_mod.packet b/os_ken/tests/packet_data/of13/4-60-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-60-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of13/4-60-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of13/4-61-ofp_experimenter_request.packet b/os_ken/tests/packet_data/of13/4-61-ofp_experimenter_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-61-ofp_experimenter_request.packet rename to os_ken/tests/packet_data/of13/4-61-ofp_experimenter_request.packet diff --git a/ryu/tests/packet_data/of13/4-62-ofp_experimenter_reply.packet b/os_ken/tests/packet_data/of13/4-62-ofp_experimenter_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-62-ofp_experimenter_reply.packet rename to os_ken/tests/packet_data/of13/4-62-ofp_experimenter_reply.packet diff --git a/ryu/tests/packet_data/of13/4-63-onf_flow_monitor_request.packet b/os_ken/tests/packet_data/of13/4-63-onf_flow_monitor_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-63-onf_flow_monitor_request.packet rename to os_ken/tests/packet_data/of13/4-63-onf_flow_monitor_request.packet diff --git a/ryu/tests/packet_data/of13/4-7-ofp_set_config.packet b/os_ken/tests/packet_data/of13/4-7-ofp_set_config.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-7-ofp_set_config.packet rename to os_ken/tests/packet_data/of13/4-7-ofp_set_config.packet diff --git a/ryu/tests/packet_data/of13/4-8-ofp_get_config_request.packet b/os_ken/tests/packet_data/of13/4-8-ofp_get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-8-ofp_get_config_request.packet rename to os_ken/tests/packet_data/of13/4-8-ofp_get_config_request.packet diff --git a/ryu/tests/packet_data/of13/4-9-ofp_get_config_reply.packet b/os_ken/tests/packet_data/of13/4-9-ofp_get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/4-9-ofp_get_config_reply.packet rename to os_ken/tests/packet_data/of13/4-9-ofp_get_config_reply.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-echo_reply.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-echo_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-echo_reply.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-echo_reply.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-echo_request.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-echo_request.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-echo_request.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-echo_request.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-error_msg.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-error_msg.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-error_msg.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-error_msg.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-features_reply.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-features_reply.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-features_reply.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod.truncated64 b/os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod.truncated64 similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod.truncated64 rename to os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod.truncated64 diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod_conjunction.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod_conjunction.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod_conjunction.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod_conjunction.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod_match_conj.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod_match_conj.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-flow_mod_match_conj.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-flow_mod_match_conj.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-flow_removed.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-flow_removed.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-flow_removed.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-flow_removed.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-get_config_reply.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-get_config_reply.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-get_config_reply.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-hello.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-hello.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-hello.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-hello.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-meter_mod.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-meter_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-meter_mod.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-meter_mod.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-packet_in.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-packet_in.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-packet_in.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-port_mod.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-port_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-port_mod.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-port_mod.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-port_status.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-port_status.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-port_status.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-port_status.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-set_config.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-set_config.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-set_config.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-set_config.packet diff --git a/ryu/tests/packet_data/of13/libofproto-OFP13-table_mod.packet b/os_ken/tests/packet_data/of13/libofproto-OFP13-table_mod.packet similarity index 100% rename from ryu/tests/packet_data/of13/libofproto-OFP13-table_mod.packet rename to os_ken/tests/packet_data/of13/libofproto-OFP13-table_mod.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_conjunction.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_conjunction.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_conjunction.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_conjunction.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_controller.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_controller.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_controller.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_controller.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_controller2.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_controller2.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_controller2.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_controller2.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_clear.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_clear.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_clear.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_clear.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_exec.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_exec.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_exec.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_exec.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat_v6.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat_v6.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat_v6.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_ct_nat_v6.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_fintimeout.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_fintimeout.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_fintimeout.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_fintimeout.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_learn.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_learn.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_learn.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_learn.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_note.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_note.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_note.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_note.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_output_trunc.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_output_trunc.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_output_trunc.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_output_trunc.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_resubmit.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_resubmit.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_resubmit.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_resubmit.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_sample.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_sample.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_sample.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_sample.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_sample2.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_sample2.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_sample2.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_sample2.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_stack_pop.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_stack_pop.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_stack_pop.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_stack_pop.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-action_stack_push.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_stack_push.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-action_stack_push.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-action_stack_push.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-match_conj.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_conj.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-match_conj.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_conj.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-match_load_nx_register.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_load_nx_register.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-match_load_nx_register.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_load_nx_register.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-match_move_nx_register.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_move_nx_register.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-match_move_nx_register.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_move_nx_register.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark.packet diff --git a/ryu/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet b/os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet similarity index 100% rename from ryu/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet rename to os_ken/tests/packet_data/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet diff --git a/ryu/tests/packet_data/of14/5-0-ofp_desc_reply.packet b/os_ken/tests/packet_data/of14/5-0-ofp_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-0-ofp_desc_reply.packet rename to os_ken/tests/packet_data/of14/5-0-ofp_desc_reply.packet diff --git a/ryu/tests/packet_data/of14/5-1-ofp_packet_out.packet b/os_ken/tests/packet_data/of14/5-1-ofp_packet_out.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-1-ofp_packet_out.packet rename to os_ken/tests/packet_data/of14/5-1-ofp_packet_out.packet diff --git a/ryu/tests/packet_data/of14/5-10-ofp_hello.packet b/os_ken/tests/packet_data/of14/5-10-ofp_hello.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-10-ofp_hello.packet rename to os_ken/tests/packet_data/of14/5-10-ofp_hello.packet diff --git a/ryu/tests/packet_data/of14/5-11-ofp_flow_stats_request.packet b/os_ken/tests/packet_data/of14/5-11-ofp_flow_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-11-ofp_flow_stats_request.packet rename to os_ken/tests/packet_data/of14/5-11-ofp_flow_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-12-ofp_flow_stats_reply.packet b/os_ken/tests/packet_data/of14/5-12-ofp_flow_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-12-ofp_flow_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-12-ofp_flow_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-13-ofp_echo_request.packet b/os_ken/tests/packet_data/of14/5-13-ofp_echo_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-13-ofp_echo_request.packet rename to os_ken/tests/packet_data/of14/5-13-ofp_echo_request.packet diff --git a/ryu/tests/packet_data/of14/5-14-ofp_echo_reply.packet b/os_ken/tests/packet_data/of14/5-14-ofp_echo_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-14-ofp_echo_reply.packet rename to os_ken/tests/packet_data/of14/5-14-ofp_echo_reply.packet diff --git a/ryu/tests/packet_data/of14/5-15-ofp_error_msg.packet b/os_ken/tests/packet_data/of14/5-15-ofp_error_msg.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-15-ofp_error_msg.packet rename to os_ken/tests/packet_data/of14/5-15-ofp_error_msg.packet diff --git a/ryu/tests/packet_data/of14/5-16-ofp_experimenter.packet b/os_ken/tests/packet_data/of14/5-16-ofp_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-16-ofp_experimenter.packet rename to os_ken/tests/packet_data/of14/5-16-ofp_experimenter.packet diff --git a/ryu/tests/packet_data/of14/5-17-ofp_barrier_request.packet b/os_ken/tests/packet_data/of14/5-17-ofp_barrier_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-17-ofp_barrier_request.packet rename to os_ken/tests/packet_data/of14/5-17-ofp_barrier_request.packet diff --git a/ryu/tests/packet_data/of14/5-18-ofp_barrier_reply.packet b/os_ken/tests/packet_data/of14/5-18-ofp_barrier_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-18-ofp_barrier_reply.packet rename to os_ken/tests/packet_data/of14/5-18-ofp_barrier_reply.packet diff --git a/ryu/tests/packet_data/of14/5-19-ofp_role_request.packet b/os_ken/tests/packet_data/of14/5-19-ofp_role_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-19-ofp_role_request.packet rename to os_ken/tests/packet_data/of14/5-19-ofp_role_request.packet diff --git a/ryu/tests/packet_data/of14/5-2-ofp_flow_mod.packet b/os_ken/tests/packet_data/of14/5-2-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-2-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of14/5-2-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of14/5-20-ofp_role_reply.packet b/os_ken/tests/packet_data/of14/5-20-ofp_role_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-20-ofp_role_reply.packet rename to os_ken/tests/packet_data/of14/5-20-ofp_role_reply.packet diff --git a/ryu/tests/packet_data/of14/5-21-ofp_group_mod.packet b/os_ken/tests/packet_data/of14/5-21-ofp_group_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-21-ofp_group_mod.packet rename to os_ken/tests/packet_data/of14/5-21-ofp_group_mod.packet diff --git a/ryu/tests/packet_data/of14/5-22-ofp_port_mod.packet b/os_ken/tests/packet_data/of14/5-22-ofp_port_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-22-ofp_port_mod.packet rename to os_ken/tests/packet_data/of14/5-22-ofp_port_mod.packet diff --git a/ryu/tests/packet_data/of14/5-23-ofp_table_mod.packet b/os_ken/tests/packet_data/of14/5-23-ofp_table_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-23-ofp_table_mod.packet rename to os_ken/tests/packet_data/of14/5-23-ofp_table_mod.packet diff --git a/ryu/tests/packet_data/of14/5-24-ofp_desc_request.packet b/os_ken/tests/packet_data/of14/5-24-ofp_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-24-ofp_desc_request.packet rename to os_ken/tests/packet_data/of14/5-24-ofp_desc_request.packet diff --git a/ryu/tests/packet_data/of14/5-25-ofp_aggregate_stats_request.packet b/os_ken/tests/packet_data/of14/5-25-ofp_aggregate_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-25-ofp_aggregate_stats_request.packet rename to os_ken/tests/packet_data/of14/5-25-ofp_aggregate_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-26-ofp_aggregate_stats_reply.packet b/os_ken/tests/packet_data/of14/5-26-ofp_aggregate_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-26-ofp_aggregate_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-26-ofp_aggregate_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-27-ofp_table_stats_request.packet b/os_ken/tests/packet_data/of14/5-27-ofp_table_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-27-ofp_table_stats_request.packet rename to os_ken/tests/packet_data/of14/5-27-ofp_table_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-28-ofp_table_stats_reply.packet b/os_ken/tests/packet_data/of14/5-28-ofp_table_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-28-ofp_table_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-28-ofp_table_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-29-ofp_port_stats_request.packet b/os_ken/tests/packet_data/of14/5-29-ofp_port_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-29-ofp_port_stats_request.packet rename to os_ken/tests/packet_data/of14/5-29-ofp_port_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-3-ofp_flow_mod.packet b/os_ken/tests/packet_data/of14/5-3-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-3-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of14/5-3-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of14/5-30-ofp_port_stats_reply.packet b/os_ken/tests/packet_data/of14/5-30-ofp_port_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-30-ofp_port_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-30-ofp_port_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-31-ofp_group_features_request.packet b/os_ken/tests/packet_data/of14/5-31-ofp_group_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-31-ofp_group_features_request.packet rename to os_ken/tests/packet_data/of14/5-31-ofp_group_features_request.packet diff --git a/ryu/tests/packet_data/of14/5-32-ofp_group_features_reply.packet b/os_ken/tests/packet_data/of14/5-32-ofp_group_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-32-ofp_group_features_reply.packet rename to os_ken/tests/packet_data/of14/5-32-ofp_group_features_reply.packet diff --git a/ryu/tests/packet_data/of14/5-33-ofp_group_desc_request.packet b/os_ken/tests/packet_data/of14/5-33-ofp_group_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-33-ofp_group_desc_request.packet rename to os_ken/tests/packet_data/of14/5-33-ofp_group_desc_request.packet diff --git a/ryu/tests/packet_data/of14/5-34-ofp_group_desc_reply.packet b/os_ken/tests/packet_data/of14/5-34-ofp_group_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-34-ofp_group_desc_reply.packet rename to os_ken/tests/packet_data/of14/5-34-ofp_group_desc_reply.packet diff --git a/ryu/tests/packet_data/of14/5-35-ofp_queue_stats_request.packet b/os_ken/tests/packet_data/of14/5-35-ofp_queue_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-35-ofp_queue_stats_request.packet rename to os_ken/tests/packet_data/of14/5-35-ofp_queue_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-36-ofp_queue_stats_reply.packet b/os_ken/tests/packet_data/of14/5-36-ofp_queue_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-36-ofp_queue_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-36-ofp_queue_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-37-ofp_port_status.packet b/os_ken/tests/packet_data/of14/5-37-ofp_port_status.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-37-ofp_port_status.packet rename to os_ken/tests/packet_data/of14/5-37-ofp_port_status.packet diff --git a/ryu/tests/packet_data/of14/5-38-ofp_flow_removed.packet b/os_ken/tests/packet_data/of14/5-38-ofp_flow_removed.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-38-ofp_flow_removed.packet rename to os_ken/tests/packet_data/of14/5-38-ofp_flow_removed.packet diff --git a/ryu/tests/packet_data/of14/5-39-ofp_error_msg_experimenter.packet b/os_ken/tests/packet_data/of14/5-39-ofp_error_msg_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-39-ofp_error_msg_experimenter.packet rename to os_ken/tests/packet_data/of14/5-39-ofp_error_msg_experimenter.packet diff --git a/ryu/tests/packet_data/of14/5-4-ofp_packet_in.packet b/os_ken/tests/packet_data/of14/5-4-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-4-ofp_packet_in.packet rename to os_ken/tests/packet_data/of14/5-4-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of14/5-40-ofp_get_async_request.packet b/os_ken/tests/packet_data/of14/5-40-ofp_get_async_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-40-ofp_get_async_request.packet rename to os_ken/tests/packet_data/of14/5-40-ofp_get_async_request.packet diff --git a/ryu/tests/packet_data/of14/5-41-ofp_get_async_reply.packet b/os_ken/tests/packet_data/of14/5-41-ofp_get_async_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-41-ofp_get_async_reply.packet rename to os_ken/tests/packet_data/of14/5-41-ofp_get_async_reply.packet diff --git a/ryu/tests/packet_data/of14/5-42-ofp_set_async.packet b/os_ken/tests/packet_data/of14/5-42-ofp_set_async.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-42-ofp_set_async.packet rename to os_ken/tests/packet_data/of14/5-42-ofp_set_async.packet diff --git a/ryu/tests/packet_data/of14/5-43-ofp_meter_mod.packet b/os_ken/tests/packet_data/of14/5-43-ofp_meter_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-43-ofp_meter_mod.packet rename to os_ken/tests/packet_data/of14/5-43-ofp_meter_mod.packet diff --git a/ryu/tests/packet_data/of14/5-44-ofp_flow_mod.packet b/os_ken/tests/packet_data/of14/5-44-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-44-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of14/5-44-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of14/5-45-ofp_meter_config_request.packet b/os_ken/tests/packet_data/of14/5-45-ofp_meter_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-45-ofp_meter_config_request.packet rename to os_ken/tests/packet_data/of14/5-45-ofp_meter_config_request.packet diff --git a/ryu/tests/packet_data/of14/5-46-ofp_meter_config_reply.packet b/os_ken/tests/packet_data/of14/5-46-ofp_meter_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-46-ofp_meter_config_reply.packet rename to os_ken/tests/packet_data/of14/5-46-ofp_meter_config_reply.packet diff --git a/ryu/tests/packet_data/of14/5-47-ofp_meter_stats_request.packet b/os_ken/tests/packet_data/of14/5-47-ofp_meter_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-47-ofp_meter_stats_request.packet rename to os_ken/tests/packet_data/of14/5-47-ofp_meter_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-48-ofp_meter_stats_reply.packet b/os_ken/tests/packet_data/of14/5-48-ofp_meter_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-48-ofp_meter_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-48-ofp_meter_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-49-ofp_meter_features_request.packet b/os_ken/tests/packet_data/of14/5-49-ofp_meter_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-49-ofp_meter_features_request.packet rename to os_ken/tests/packet_data/of14/5-49-ofp_meter_features_request.packet diff --git a/ryu/tests/packet_data/of14/5-5-ofp_features_request.packet b/os_ken/tests/packet_data/of14/5-5-ofp_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-5-ofp_features_request.packet rename to os_ken/tests/packet_data/of14/5-5-ofp_features_request.packet diff --git a/ryu/tests/packet_data/of14/5-50-ofp_meter_features_reply.packet b/os_ken/tests/packet_data/of14/5-50-ofp_meter_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-50-ofp_meter_features_reply.packet rename to os_ken/tests/packet_data/of14/5-50-ofp_meter_features_reply.packet diff --git a/ryu/tests/packet_data/of14/5-51-ofp_port_desc_request.packet b/os_ken/tests/packet_data/of14/5-51-ofp_port_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-51-ofp_port_desc_request.packet rename to os_ken/tests/packet_data/of14/5-51-ofp_port_desc_request.packet diff --git a/ryu/tests/packet_data/of14/5-52-ofp_port_desc_reply.packet b/os_ken/tests/packet_data/of14/5-52-ofp_port_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-52-ofp_port_desc_reply.packet rename to os_ken/tests/packet_data/of14/5-52-ofp_port_desc_reply.packet diff --git a/ryu/tests/packet_data/of14/5-53-ofp_table_features_request.packet b/os_ken/tests/packet_data/of14/5-53-ofp_table_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-53-ofp_table_features_request.packet rename to os_ken/tests/packet_data/of14/5-53-ofp_table_features_request.packet diff --git a/ryu/tests/packet_data/of14/5-54-ofp_table_features_reply.packet b/os_ken/tests/packet_data/of14/5-54-ofp_table_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-54-ofp_table_features_reply.packet rename to os_ken/tests/packet_data/of14/5-54-ofp_table_features_reply.packet diff --git a/ryu/tests/packet_data/of14/5-55-ofp_group_stats_request.packet b/os_ken/tests/packet_data/of14/5-55-ofp_group_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-55-ofp_group_stats_request.packet rename to os_ken/tests/packet_data/of14/5-55-ofp_group_stats_request.packet diff --git a/ryu/tests/packet_data/of14/5-56-ofp_group_stats_reply.packet b/os_ken/tests/packet_data/of14/5-56-ofp_group_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-56-ofp_group_stats_reply.packet rename to os_ken/tests/packet_data/of14/5-56-ofp_group_stats_reply.packet diff --git a/ryu/tests/packet_data/of14/5-57-ofp_packet_in.packet b/os_ken/tests/packet_data/of14/5-57-ofp_packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-57-ofp_packet_in.packet rename to os_ken/tests/packet_data/of14/5-57-ofp_packet_in.packet diff --git a/ryu/tests/packet_data/of14/5-58-ofp_flow_mod.packet b/os_ken/tests/packet_data/of14/5-58-ofp_flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-58-ofp_flow_mod.packet rename to os_ken/tests/packet_data/of14/5-58-ofp_flow_mod.packet diff --git a/ryu/tests/packet_data/of14/5-59-ofp_experimenter_request.packet b/os_ken/tests/packet_data/of14/5-59-ofp_experimenter_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-59-ofp_experimenter_request.packet rename to os_ken/tests/packet_data/of14/5-59-ofp_experimenter_request.packet diff --git a/ryu/tests/packet_data/of14/5-6-ofp_features_reply.packet b/os_ken/tests/packet_data/of14/5-6-ofp_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-6-ofp_features_reply.packet rename to os_ken/tests/packet_data/of14/5-6-ofp_features_reply.packet diff --git a/ryu/tests/packet_data/of14/5-60-ofp_experimenter_reply.packet b/os_ken/tests/packet_data/of14/5-60-ofp_experimenter_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-60-ofp_experimenter_reply.packet rename to os_ken/tests/packet_data/of14/5-60-ofp_experimenter_reply.packet diff --git a/ryu/tests/packet_data/of14/5-61-ofp_table_desc_request.packet b/os_ken/tests/packet_data/of14/5-61-ofp_table_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-61-ofp_table_desc_request.packet rename to os_ken/tests/packet_data/of14/5-61-ofp_table_desc_request.packet diff --git a/ryu/tests/packet_data/of14/5-62-ofp_table_desc_reply.packet b/os_ken/tests/packet_data/of14/5-62-ofp_table_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-62-ofp_table_desc_reply.packet rename to os_ken/tests/packet_data/of14/5-62-ofp_table_desc_reply.packet diff --git a/ryu/tests/packet_data/of14/5-63-ofp_queue_desc_request.packet b/os_ken/tests/packet_data/of14/5-63-ofp_queue_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-63-ofp_queue_desc_request.packet rename to os_ken/tests/packet_data/of14/5-63-ofp_queue_desc_request.packet diff --git a/ryu/tests/packet_data/of14/5-64-ofp_queue_desc_reply.packet b/os_ken/tests/packet_data/of14/5-64-ofp_queue_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-64-ofp_queue_desc_reply.packet rename to os_ken/tests/packet_data/of14/5-64-ofp_queue_desc_reply.packet diff --git a/ryu/tests/packet_data/of14/5-65-ofp_role_status.packet b/os_ken/tests/packet_data/of14/5-65-ofp_role_status.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-65-ofp_role_status.packet rename to os_ken/tests/packet_data/of14/5-65-ofp_role_status.packet diff --git a/ryu/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet b/os_ken/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet rename to os_ken/tests/packet_data/of14/5-66-ofp_flow_monitor_request.packet diff --git a/ryu/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet b/os_ken/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet rename to os_ken/tests/packet_data/of14/5-67-ofp_flow_monitor_reply.packet diff --git a/ryu/tests/packet_data/of14/5-68-ofp_table_status.packet b/os_ken/tests/packet_data/of14/5-68-ofp_table_status.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-68-ofp_table_status.packet rename to os_ken/tests/packet_data/of14/5-68-ofp_table_status.packet diff --git a/ryu/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet b/os_ken/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet rename to os_ken/tests/packet_data/of14/5-69-ofp_bundle_ctrl_msg.packet diff --git a/ryu/tests/packet_data/of14/5-7-ofp_set_config.packet b/os_ken/tests/packet_data/of14/5-7-ofp_set_config.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-7-ofp_set_config.packet rename to os_ken/tests/packet_data/of14/5-7-ofp_set_config.packet diff --git a/ryu/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet b/os_ken/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet rename to os_ken/tests/packet_data/of14/5-70-ofp_bundle_add_msg.packet diff --git a/ryu/tests/packet_data/of14/5-71-ofp_requestforward.packet b/os_ken/tests/packet_data/of14/5-71-ofp_requestforward.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-71-ofp_requestforward.packet rename to os_ken/tests/packet_data/of14/5-71-ofp_requestforward.packet diff --git a/ryu/tests/packet_data/of14/5-8-ofp_get_config_request.packet b/os_ken/tests/packet_data/of14/5-8-ofp_get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-8-ofp_get_config_request.packet rename to os_ken/tests/packet_data/of14/5-8-ofp_get_config_request.packet diff --git a/ryu/tests/packet_data/of14/5-9-ofp_get_config_reply.packet b/os_ken/tests/packet_data/of14/5-9-ofp_get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of14/5-9-ofp_get_config_reply.packet rename to os_ken/tests/packet_data/of14/5-9-ofp_get_config_reply.packet diff --git a/ryu/tests/packet_data/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet b/os_ken/tests/packet_data/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet similarity index 100% rename from ryu/tests/packet_data/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet rename to os_ken/tests/packet_data/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-aggregate_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-barrier_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-barrier_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-barrier_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-barrier_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-barrier_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-barrier_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-barrier_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-barrier_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-bundle_add.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_add.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-bundle_add.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_add.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-bundle_ctrl.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_ctrl.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-bundle_ctrl.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_ctrl.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-bundle_features_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-bundle_features_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_features_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-bundle_features_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-bundle_features_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-bundle_features_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-controller_status.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-controller_status.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-controller_status_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-controller_status_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-controller_status_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-controller_status_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-controller_status_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-echo_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-echo_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-echo_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-echo_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-echo_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-echo_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-echo_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-echo_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-error_msg.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-error_msg.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-error_msg.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-error_msg.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-error_msg_experimenter.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-error_msg_experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-error_msg_experimenter.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-error_msg_experimenter.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-experimenter.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-experimenter.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-experimenter_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-experimenter_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-experimenter_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-experimenter_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-experimenter_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-features_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-features_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-features_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-features_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-features_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-features_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-features_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod_conjunction.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod_conjunction.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod_conjunction.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod_conjunction.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod_match_conj.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod_match_conj.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_mod_match_conj.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_mod_match_conj.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_monitor_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_monitor_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_monitor_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_monitor_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_monitor_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_monitor_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_monitor_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_monitor_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_removed.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-flow_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-flow_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-flow_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-get_async_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-get_async_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-get_async_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-get_async_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-get_async_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-get_async_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-get_async_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-get_async_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-get_config_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-get_config_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-get_config_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-get_config_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-get_config_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-get_config_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-get_config_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-get_config_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_features_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_features_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_features_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_features_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_features_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_features_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_mod.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_mod.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_mod.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_mod.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-group_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-group_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-group_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-group_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-hello.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-hello.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-hello.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-hello.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_features_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_features_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_features_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_features_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_features_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_features_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_mod.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_mod.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_mod.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_mod.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-meter_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-meter_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-meter_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-meter_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-packet_in.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-packet_in.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-packet_in.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-packet_in.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-packet_out.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-packet_out.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-packet_out.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-packet_out.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_mod.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_mod.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_mod.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_mod.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-port_status.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-port_status.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-port_status.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-port_status.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-queue_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-queue_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-queue_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-queue_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-queue_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-queue_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-queue_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-queue_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-queue_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-queue_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-queue_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-queue_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-queue_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-queue_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-queue_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-queue_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-requestforward.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-requestforward.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-requestforward.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-requestforward.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-role_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-role_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-role_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-role_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-role_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-role_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-role_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-role_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-role_status.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-role_status.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-role_status.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-role_status.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-set_async.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-set_async.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-set_async.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-set_async.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-set_config.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-set_config.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-set_config.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-set_config.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_desc_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_desc_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_desc_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_desc_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_desc_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_desc_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_desc_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_desc_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_features_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_features_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_features_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_features_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_features_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_features_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_features_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_features_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_mod.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_mod.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_mod.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_mod.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_stats_reply.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_stats_reply.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_stats_reply.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_stats_reply.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_stats_request.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_stats_request.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_stats_request.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_stats_request.packet diff --git a/ryu/tests/packet_data/of15/libofproto-OFP15-table_status.packet b/os_ken/tests/packet_data/of15/libofproto-OFP15-table_status.packet similarity index 100% rename from ryu/tests/packet_data/of15/libofproto-OFP15-table_status.packet rename to os_ken/tests/packet_data/of15/libofproto-OFP15-table_status.packet diff --git a/ryu/tests/packet_data/pcap/big_endian.pcap b/os_ken/tests/packet_data/pcap/big_endian.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/big_endian.pcap rename to os_ken/tests/packet_data/pcap/big_endian.pcap diff --git a/ryu/tests/packet_data/pcap/geneve_unknown.pcap b/os_ken/tests/packet_data/pcap/geneve_unknown.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/geneve_unknown.pcap rename to os_ken/tests/packet_data/pcap/geneve_unknown.pcap diff --git a/ryu/tests/packet_data/pcap/gre_full_options.pcap b/os_ken/tests/packet_data/pcap/gre_full_options.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/gre_full_options.pcap rename to os_ken/tests/packet_data/pcap/gre_full_options.pcap diff --git a/ryu/tests/packet_data/pcap/gre_no_option.pcap b/os_ken/tests/packet_data/pcap/gre_no_option.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/gre_no_option.pcap rename to os_ken/tests/packet_data/pcap/gre_no_option.pcap diff --git a/ryu/tests/packet_data/pcap/gre_nvgre_option.pcap b/os_ken/tests/packet_data/pcap/gre_nvgre_option.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/gre_nvgre_option.pcap rename to os_ken/tests/packet_data/pcap/gre_nvgre_option.pcap diff --git a/ryu/tests/packet_data/pcap/little_endian.pcap b/os_ken/tests/packet_data/pcap/little_endian.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/little_endian.pcap rename to os_ken/tests/packet_data/pcap/little_endian.pcap diff --git a/ryu/tests/packet_data/pcap/openflow_flowmod.pcap b/os_ken/tests/packet_data/pcap/openflow_flowmod.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/openflow_flowmod.pcap rename to os_ken/tests/packet_data/pcap/openflow_flowmod.pcap diff --git a/ryu/tests/packet_data/pcap/openflow_flowstats_req.pcap b/os_ken/tests/packet_data/pcap/openflow_flowstats_req.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/openflow_flowstats_req.pcap rename to os_ken/tests/packet_data/pcap/openflow_flowstats_req.pcap diff --git a/ryu/tests/packet_data/pcap/openflow_invalid_version.pcap b/os_ken/tests/packet_data/pcap/openflow_invalid_version.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/openflow_invalid_version.pcap rename to os_ken/tests/packet_data/pcap/openflow_invalid_version.pcap diff --git a/ryu/tests/packet_data/pcap/zebra_v2.pcap b/os_ken/tests/packet_data/pcap/zebra_v2.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/zebra_v2.pcap rename to os_ken/tests/packet_data/pcap/zebra_v2.pcap diff --git a/ryu/tests/packet_data/pcap/zebra_v3.pcap b/os_ken/tests/packet_data/pcap/zebra_v3.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/zebra_v3.pcap rename to os_ken/tests/packet_data/pcap/zebra_v3.pcap diff --git a/ryu/tests/packet_data/pcap/zebra_v4_frr_v2.pcap b/os_ken/tests/packet_data/pcap/zebra_v4_frr_v2.pcap similarity index 100% rename from ryu/tests/packet_data/pcap/zebra_v4_frr_v2.pcap rename to os_ken/tests/packet_data/pcap/zebra_v4_frr_v2.pcap diff --git a/ryu/tests/packet_data_generator/Makefile b/os_ken/tests/packet_data_generator/Makefile similarity index 100% rename from ryu/tests/packet_data_generator/Makefile rename to os_ken/tests/packet_data_generator/Makefile diff --git a/ryu/tests/packet_data_generator/rebar.config b/os_ken/tests/packet_data_generator/rebar.config similarity index 100% rename from ryu/tests/packet_data_generator/rebar.config rename to os_ken/tests/packet_data_generator/rebar.config diff --git a/ryu/tests/packet_data_generator/src/er.app.src b/os_ken/tests/packet_data_generator/src/er.app.src similarity index 100% rename from ryu/tests/packet_data_generator/src/er.app.src rename to os_ken/tests/packet_data_generator/src/er.app.src diff --git a/ryu/tests/packet_data_generator/src/x.erl b/os_ken/tests/packet_data_generator/src/x.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x.erl rename to os_ken/tests/packet_data_generator/src/x.erl diff --git a/ryu/tests/packet_data_generator/src/x1.erl b/os_ken/tests/packet_data_generator/src/x1.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x1.erl rename to os_ken/tests/packet_data_generator/src/x1.erl diff --git a/ryu/tests/packet_data_generator/src/x3.erl b/os_ken/tests/packet_data_generator/src/x3.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x3.erl rename to os_ken/tests/packet_data_generator/src/x3.erl diff --git a/ryu/tests/packet_data_generator/src/x4.erl b/os_ken/tests/packet_data_generator/src/x4.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x4.erl rename to os_ken/tests/packet_data_generator/src/x4.erl diff --git a/ryu/tests/packet_data_generator/src/x5.erl b/os_ken/tests/packet_data_generator/src/x5.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x5.erl rename to os_ken/tests/packet_data_generator/src/x5.erl diff --git a/ryu/tests/packet_data_generator/src/x_flower_packet.erl b/os_ken/tests/packet_data_generator/src/x_flower_packet.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x_flower_packet.erl rename to os_ken/tests/packet_data_generator/src/x_flower_packet.erl diff --git a/ryu/tests/packet_data_generator/src/x_of_protocol.erl b/os_ken/tests/packet_data_generator/src/x_of_protocol.erl similarity index 100% rename from ryu/tests/packet_data_generator/src/x_of_protocol.erl rename to os_ken/tests/packet_data_generator/src/x_of_protocol.erl diff --git a/ryu/tests/packet_data_generator2/Makefile.BSD b/os_ken/tests/packet_data_generator2/Makefile.BSD similarity index 100% rename from ryu/tests/packet_data_generator2/Makefile.BSD rename to os_ken/tests/packet_data_generator2/Makefile.BSD diff --git a/ryu/tests/packet_data_generator2/Makefile.GNU b/os_ken/tests/packet_data_generator2/Makefile.GNU similarity index 100% rename from ryu/tests/packet_data_generator2/Makefile.GNU rename to os_ken/tests/packet_data_generator2/Makefile.GNU diff --git a/ryu/tests/packet_data_generator2/README b/os_ken/tests/packet_data_generator2/README similarity index 100% rename from ryu/tests/packet_data_generator2/README rename to os_ken/tests/packet_data_generator2/README diff --git a/ryu/tests/packet_data_generator2/gen.c b/os_ken/tests/packet_data_generator2/gen.c similarity index 100% rename from ryu/tests/packet_data_generator2/gen.c rename to os_ken/tests/packet_data_generator2/gen.c diff --git a/ryu/tests/packet_data_generator3/gen.py b/os_ken/tests/packet_data_generator3/gen.py similarity index 98% rename from ryu/tests/packet_data_generator3/gen.py rename to os_ken/tests/packet_data_generator3/gen.py index 7f2fbeef..657c06c8 100644 --- a/ryu/tests/packet_data_generator3/gen.py +++ b/os_ken/tests/packet_data_generator3/gen.py @@ -12,12 +12,12 @@ import sys import tempfile import threading -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_0_parser -from ryu.ofproto import ofproto_v1_5 -from ryu.ofproto import ofproto_v1_5_parser -from ryu.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_0_parser +from os_ken.ofproto import ofproto_v1_5 +from os_ken.ofproto import ofproto_v1_5_parser +from os_ken.ofproto import ofproto_protocol if six.PY3: TimeoutExpired = subprocess.TimeoutExpired diff --git a/ryu/tests/run_tests.py b/os_ken/tests/run_tests.py similarity index 85% rename from ryu/tests/run_tests.py rename to os_ken/tests/run_tests.py index 835e789b..3706d905 100755 --- a/ryu/tests/run_tests.py +++ b/os_ken/tests/run_tests.py @@ -11,8 +11,8 @@ sys.path.append(os.getcwd()) sys.path.append(os.path.dirname(__file__)) -import ryu.tests.unit -from ryu.tests.test_lib import run_tests +import os_ken.tests.unit +from os_ken.tests.test_lib import run_tests if __name__ == '__main__': @@ -29,7 +29,7 @@ if __name__ == '__main__': includeExe=True, traverseNamespace=True, plugins=core.DefaultPluginManager()) - c.configureWhere(ryu.tests.unit.__path__) + c.configureWhere(os_ken.tests.unit.__path__) exit_status = run_tests(c) sys.exit(exit_status) diff --git a/ryu/tests/integrated/common/__init__.py b/os_ken/tests/switch/__init__.py similarity index 100% rename from ryu/tests/integrated/common/__init__.py rename to os_ken/tests/switch/__init__.py diff --git a/ryu/tests/switch/of10/action/00_OUTPUT.json b/os_ken/tests/switch/of10/action/00_OUTPUT.json similarity index 100% rename from ryu/tests/switch/of10/action/00_OUTPUT.json rename to os_ken/tests/switch/of10/action/00_OUTPUT.json diff --git a/ryu/tests/switch/of10/action/01_SET_VLAN_VID.json b/os_ken/tests/switch/of10/action/01_SET_VLAN_VID.json similarity index 100% rename from ryu/tests/switch/of10/action/01_SET_VLAN_VID.json rename to os_ken/tests/switch/of10/action/01_SET_VLAN_VID.json diff --git a/ryu/tests/switch/of10/action/02_SET_VLAN_PCP.json b/os_ken/tests/switch/of10/action/02_SET_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of10/action/02_SET_VLAN_PCP.json rename to os_ken/tests/switch/of10/action/02_SET_VLAN_PCP.json diff --git a/ryu/tests/switch/of10/action/03_STRIP_VLAN.json b/os_ken/tests/switch/of10/action/03_STRIP_VLAN.json similarity index 100% rename from ryu/tests/switch/of10/action/03_STRIP_VLAN.json rename to os_ken/tests/switch/of10/action/03_STRIP_VLAN.json diff --git a/ryu/tests/switch/of10/action/04_SET_DL_SRC.json b/os_ken/tests/switch/of10/action/04_SET_DL_SRC.json similarity index 100% rename from ryu/tests/switch/of10/action/04_SET_DL_SRC.json rename to os_ken/tests/switch/of10/action/04_SET_DL_SRC.json diff --git a/ryu/tests/switch/of10/action/05_SET_DL_DST.json b/os_ken/tests/switch/of10/action/05_SET_DL_DST.json similarity index 100% rename from ryu/tests/switch/of10/action/05_SET_DL_DST.json rename to os_ken/tests/switch/of10/action/05_SET_DL_DST.json diff --git a/ryu/tests/switch/of10/action/06_SET_NW_SRC.json b/os_ken/tests/switch/of10/action/06_SET_NW_SRC.json similarity index 100% rename from ryu/tests/switch/of10/action/06_SET_NW_SRC.json rename to os_ken/tests/switch/of10/action/06_SET_NW_SRC.json diff --git a/ryu/tests/switch/of10/action/07_SET_NW_DST.json b/os_ken/tests/switch/of10/action/07_SET_NW_DST.json similarity index 100% rename from ryu/tests/switch/of10/action/07_SET_NW_DST.json rename to os_ken/tests/switch/of10/action/07_SET_NW_DST.json diff --git a/ryu/tests/switch/of10/action/08_SET_NW_TOS_IPv4.json b/os_ken/tests/switch/of10/action/08_SET_NW_TOS_IPv4.json similarity index 100% rename from ryu/tests/switch/of10/action/08_SET_NW_TOS_IPv4.json rename to os_ken/tests/switch/of10/action/08_SET_NW_TOS_IPv4.json diff --git a/ryu/tests/switch/of10/action/08_SET_NW_TOS_IPv6.json b/os_ken/tests/switch/of10/action/08_SET_NW_TOS_IPv6.json similarity index 100% rename from ryu/tests/switch/of10/action/08_SET_NW_TOS_IPv6.json rename to os_ken/tests/switch/of10/action/08_SET_NW_TOS_IPv6.json diff --git a/ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv4_TCP.json b/os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv4_TCP.json similarity index 100% rename from ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv4_TCP.json rename to os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv4_TCP.json diff --git a/ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv4_UDP.json b/os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv4_UDP.json similarity index 100% rename from ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv4_UDP.json rename to os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv4_UDP.json diff --git a/ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv6_TCP.json b/os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv6_TCP.json similarity index 100% rename from ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv6_TCP.json rename to os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv6_TCP.json diff --git a/ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv6_UDP.json b/os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv6_UDP.json similarity index 100% rename from ryu/tests/switch/of10/action/09_SET_TP_SRC_IPv6_UDP.json rename to os_ken/tests/switch/of10/action/09_SET_TP_SRC_IPv6_UDP.json diff --git a/ryu/tests/switch/of10/action/10_SET_TP_DST_IPv4_TCP.json b/os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv4_TCP.json similarity index 100% rename from ryu/tests/switch/of10/action/10_SET_TP_DST_IPv4_TCP.json rename to os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv4_TCP.json diff --git a/ryu/tests/switch/of10/action/10_SET_TP_DST_IPv4_UDP.json b/os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv4_UDP.json similarity index 100% rename from ryu/tests/switch/of10/action/10_SET_TP_DST_IPv4_UDP.json rename to os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv4_UDP.json diff --git a/ryu/tests/switch/of10/action/10_SET_TP_DST_IPv6_TCP.json b/os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv6_TCP.json similarity index 100% rename from ryu/tests/switch/of10/action/10_SET_TP_DST_IPv6_TCP.json rename to os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv6_TCP.json diff --git a/ryu/tests/switch/of10/action/10_SET_TP_DST_IPv6_UDP.json b/os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv6_UDP.json similarity index 100% rename from ryu/tests/switch/of10/action/10_SET_TP_DST_IPv6_UDP.json rename to os_ken/tests/switch/of10/action/10_SET_TP_DST_IPv6_UDP.json diff --git a/ryu/tests/switch/of10/match/00_IN_PORT.json b/os_ken/tests/switch/of10/match/00_IN_PORT.json similarity index 100% rename from ryu/tests/switch/of10/match/00_IN_PORT.json rename to os_ken/tests/switch/of10/match/00_IN_PORT.json diff --git a/ryu/tests/switch/of10/match/01_DL_SRC.json b/os_ken/tests/switch/of10/match/01_DL_SRC.json similarity index 100% rename from ryu/tests/switch/of10/match/01_DL_SRC.json rename to os_ken/tests/switch/of10/match/01_DL_SRC.json diff --git a/ryu/tests/switch/of10/match/02_DL_DST.json b/os_ken/tests/switch/of10/match/02_DL_DST.json similarity index 100% rename from ryu/tests/switch/of10/match/02_DL_DST.json rename to os_ken/tests/switch/of10/match/02_DL_DST.json diff --git a/ryu/tests/switch/of10/match/03_DL_VLAN.json b/os_ken/tests/switch/of10/match/03_DL_VLAN.json similarity index 100% rename from ryu/tests/switch/of10/match/03_DL_VLAN.json rename to os_ken/tests/switch/of10/match/03_DL_VLAN.json diff --git a/ryu/tests/switch/of10/match/04_DL_VLAN_PCP.json b/os_ken/tests/switch/of10/match/04_DL_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of10/match/04_DL_VLAN_PCP.json rename to os_ken/tests/switch/of10/match/04_DL_VLAN_PCP.json diff --git a/ryu/tests/switch/of10/match/05_DL_TYPE.json b/os_ken/tests/switch/of10/match/05_DL_TYPE.json similarity index 100% rename from ryu/tests/switch/of10/match/05_DL_TYPE.json rename to os_ken/tests/switch/of10/match/05_DL_TYPE.json diff --git a/ryu/tests/switch/of10/match/06_NW_TOS_IPv4.json b/os_ken/tests/switch/of10/match/06_NW_TOS_IPv4.json similarity index 100% rename from ryu/tests/switch/of10/match/06_NW_TOS_IPv4.json rename to os_ken/tests/switch/of10/match/06_NW_TOS_IPv4.json diff --git a/ryu/tests/switch/of10/match/06_NW_TOS_IPv6.json b/os_ken/tests/switch/of10/match/06_NW_TOS_IPv6.json similarity index 100% rename from ryu/tests/switch/of10/match/06_NW_TOS_IPv6.json rename to os_ken/tests/switch/of10/match/06_NW_TOS_IPv6.json diff --git a/ryu/tests/switch/of10/match/07_NW_PROTO_IPv4.json b/os_ken/tests/switch/of10/match/07_NW_PROTO_IPv4.json similarity index 100% rename from ryu/tests/switch/of10/match/07_NW_PROTO_IPv4.json rename to os_ken/tests/switch/of10/match/07_NW_PROTO_IPv4.json diff --git a/ryu/tests/switch/of10/match/07_NW_PROTO_IPv6.json b/os_ken/tests/switch/of10/match/07_NW_PROTO_IPv6.json similarity index 100% rename from ryu/tests/switch/of10/match/07_NW_PROTO_IPv6.json rename to os_ken/tests/switch/of10/match/07_NW_PROTO_IPv6.json diff --git a/ryu/tests/switch/of10/match/08_NW_SRC.json b/os_ken/tests/switch/of10/match/08_NW_SRC.json similarity index 100% rename from ryu/tests/switch/of10/match/08_NW_SRC.json rename to os_ken/tests/switch/of10/match/08_NW_SRC.json diff --git a/ryu/tests/switch/of10/match/08_NW_SRC_Mask.json b/os_ken/tests/switch/of10/match/08_NW_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of10/match/08_NW_SRC_Mask.json rename to os_ken/tests/switch/of10/match/08_NW_SRC_Mask.json diff --git a/ryu/tests/switch/of10/match/09_NW_DST.json b/os_ken/tests/switch/of10/match/09_NW_DST.json similarity index 100% rename from ryu/tests/switch/of10/match/09_NW_DST.json rename to os_ken/tests/switch/of10/match/09_NW_DST.json diff --git a/ryu/tests/switch/of10/match/09_NW_DST_Mask.json b/os_ken/tests/switch/of10/match/09_NW_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of10/match/09_NW_DST_Mask.json rename to os_ken/tests/switch/of10/match/09_NW_DST_Mask.json diff --git a/ryu/tests/switch/of10/match/10_TP_SRC_IPv4_TCP.json b/os_ken/tests/switch/of10/match/10_TP_SRC_IPv4_TCP.json similarity index 100% rename from ryu/tests/switch/of10/match/10_TP_SRC_IPv4_TCP.json rename to os_ken/tests/switch/of10/match/10_TP_SRC_IPv4_TCP.json diff --git a/ryu/tests/switch/of10/match/10_TP_SRC_IPv4_UDP.json b/os_ken/tests/switch/of10/match/10_TP_SRC_IPv4_UDP.json similarity index 100% rename from ryu/tests/switch/of10/match/10_TP_SRC_IPv4_UDP.json rename to os_ken/tests/switch/of10/match/10_TP_SRC_IPv4_UDP.json diff --git a/ryu/tests/switch/of10/match/10_TP_SRC_IPv6_TCP.json b/os_ken/tests/switch/of10/match/10_TP_SRC_IPv6_TCP.json similarity index 100% rename from ryu/tests/switch/of10/match/10_TP_SRC_IPv6_TCP.json rename to os_ken/tests/switch/of10/match/10_TP_SRC_IPv6_TCP.json diff --git a/ryu/tests/switch/of10/match/10_TP_SRC_IPv6_UDP.json b/os_ken/tests/switch/of10/match/10_TP_SRC_IPv6_UDP.json similarity index 100% rename from ryu/tests/switch/of10/match/10_TP_SRC_IPv6_UDP.json rename to os_ken/tests/switch/of10/match/10_TP_SRC_IPv6_UDP.json diff --git a/ryu/tests/switch/of10/match/11_TP_DST_IPv4_TCP.json b/os_ken/tests/switch/of10/match/11_TP_DST_IPv4_TCP.json similarity index 100% rename from ryu/tests/switch/of10/match/11_TP_DST_IPv4_TCP.json rename to os_ken/tests/switch/of10/match/11_TP_DST_IPv4_TCP.json diff --git a/ryu/tests/switch/of10/match/11_TP_DST_IPv4_UDP.json b/os_ken/tests/switch/of10/match/11_TP_DST_IPv4_UDP.json similarity index 100% rename from ryu/tests/switch/of10/match/11_TP_DST_IPv4_UDP.json rename to os_ken/tests/switch/of10/match/11_TP_DST_IPv4_UDP.json diff --git a/ryu/tests/switch/of10/match/11_TP_DST_IPv6_TCP.json b/os_ken/tests/switch/of10/match/11_TP_DST_IPv6_TCP.json similarity index 100% rename from ryu/tests/switch/of10/match/11_TP_DST_IPv6_TCP.json rename to os_ken/tests/switch/of10/match/11_TP_DST_IPv6_TCP.json diff --git a/ryu/tests/switch/of10/match/11_TP_DST_IPv6_UDP.json b/os_ken/tests/switch/of10/match/11_TP_DST_IPv6_UDP.json similarity index 100% rename from ryu/tests/switch/of10/match/11_TP_DST_IPv6_UDP.json rename to os_ken/tests/switch/of10/match/11_TP_DST_IPv6_UDP.json diff --git a/ryu/tests/switch/of13/action/00_OUTPUT.json b/os_ken/tests/switch/of13/action/00_OUTPUT.json similarity index 100% rename from ryu/tests/switch/of13/action/00_OUTPUT.json rename to os_ken/tests/switch/of13/action/00_OUTPUT.json diff --git a/ryu/tests/switch/of13/action/11_COPY_TTL_OUT.json b/os_ken/tests/switch/of13/action/11_COPY_TTL_OUT.json similarity index 100% rename from ryu/tests/switch/of13/action/11_COPY_TTL_OUT.json rename to os_ken/tests/switch/of13/action/11_COPY_TTL_OUT.json diff --git a/ryu/tests/switch/of13/action/12_COPY_TTL_IN.json b/os_ken/tests/switch/of13/action/12_COPY_TTL_IN.json similarity index 100% rename from ryu/tests/switch/of13/action/12_COPY_TTL_IN.json rename to os_ken/tests/switch/of13/action/12_COPY_TTL_IN.json diff --git a/ryu/tests/switch/of13/action/15_SET_MPLS_TTL.json b/os_ken/tests/switch/of13/action/15_SET_MPLS_TTL.json similarity index 100% rename from ryu/tests/switch/of13/action/15_SET_MPLS_TTL.json rename to os_ken/tests/switch/of13/action/15_SET_MPLS_TTL.json diff --git a/ryu/tests/switch/of13/action/16_DEC_MPLS_TTL.json b/os_ken/tests/switch/of13/action/16_DEC_MPLS_TTL.json similarity index 100% rename from ryu/tests/switch/of13/action/16_DEC_MPLS_TTL.json rename to os_ken/tests/switch/of13/action/16_DEC_MPLS_TTL.json diff --git a/ryu/tests/switch/of13/action/17_PUSH_VLAN.json b/os_ken/tests/switch/of13/action/17_PUSH_VLAN.json similarity index 100% rename from ryu/tests/switch/of13/action/17_PUSH_VLAN.json rename to os_ken/tests/switch/of13/action/17_PUSH_VLAN.json diff --git a/ryu/tests/switch/of13/action/17_PUSH_VLAN_multiple.json b/os_ken/tests/switch/of13/action/17_PUSH_VLAN_multiple.json similarity index 100% rename from ryu/tests/switch/of13/action/17_PUSH_VLAN_multiple.json rename to os_ken/tests/switch/of13/action/17_PUSH_VLAN_multiple.json diff --git a/ryu/tests/switch/of13/action/18_POP_VLAN.json b/os_ken/tests/switch/of13/action/18_POP_VLAN.json similarity index 100% rename from ryu/tests/switch/of13/action/18_POP_VLAN.json rename to os_ken/tests/switch/of13/action/18_POP_VLAN.json diff --git a/ryu/tests/switch/of13/action/19_PUSH_MPLS.json b/os_ken/tests/switch/of13/action/19_PUSH_MPLS.json similarity index 100% rename from ryu/tests/switch/of13/action/19_PUSH_MPLS.json rename to os_ken/tests/switch/of13/action/19_PUSH_MPLS.json diff --git a/ryu/tests/switch/of13/action/19_PUSH_MPLS_multiple.json b/os_ken/tests/switch/of13/action/19_PUSH_MPLS_multiple.json similarity index 100% rename from ryu/tests/switch/of13/action/19_PUSH_MPLS_multiple.json rename to os_ken/tests/switch/of13/action/19_PUSH_MPLS_multiple.json diff --git a/ryu/tests/switch/of13/action/20_POP_MPLS.json b/os_ken/tests/switch/of13/action/20_POP_MPLS.json similarity index 100% rename from ryu/tests/switch/of13/action/20_POP_MPLS.json rename to os_ken/tests/switch/of13/action/20_POP_MPLS.json diff --git a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json b/os_ken/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json rename to os_ken/tests/switch/of13/action/23_SET_NW_TTL_IPv4.json diff --git a/ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json b/os_ken/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json rename to os_ken/tests/switch/of13/action/23_SET_NW_TTL_IPv6.json diff --git a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json b/os_ken/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json rename to os_ken/tests/switch/of13/action/24_DEC_NW_TTL_IPv4.json diff --git a/ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json b/os_ken/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json rename to os_ken/tests/switch/of13/action/24_DEC_NW_TTL_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/03_ETH_DST.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/03_ETH_DST.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/03_ETH_DST.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/03_ETH_DST.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/04_ETH_SRC.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/04_ETH_SRC.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/04_ETH_SRC.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/04_ETH_SRC.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/05_ETH_TYPE.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/05_ETH_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/05_ETH_TYPE.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/05_ETH_TYPE.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/06_VLAN_VID.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/06_VLAN_VID.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/06_VLAN_VID.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/06_VLAN_VID.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/07_VLAN_PCP.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/07_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/07_VLAN_PCP.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/07_VLAN_PCP.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/08_IP_DSCP_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/09_IP_ECN_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/10_IP_PROTO_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/11_IPV4_SRC.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/12_IPV4_DST.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/13_TCP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/14_TCP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/15_UDP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/16_UDP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/18_SCTP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/19_ICMPV4_TYPE.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/20_ICMPV4_CODE.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/21_ARP_OP.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/22_ARP_SPA.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/23_ARP_TPA.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/24_ARP_SHA.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/25_ARP_THA.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/26_IPV6_SRC.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/27_IPV6_DST.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/28_IPV6_FLABEL.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/29_ICMPV6_TYPE.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/30_ICMPV6_CODE.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/31_IPV6_ND_TARGET.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/32_IPV6_ND_SLL.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/33_IPV6_ND_TLL.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/34_MPLS_LABEL.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/34_MPLS_LABEL.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/34_MPLS_LABEL.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/34_MPLS_LABEL.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/35_MPLS_TC.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/35_MPLS_TC.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/35_MPLS_TC.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/35_MPLS_TC.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/36_MPLS_BOS.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/36_MPLS_BOS.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/36_MPLS_BOS.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/36_MPLS_BOS.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/37_PBB_ISID.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/37_PBB_ISID.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/37_PBB_ISID.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/37_PBB_ISID.json diff --git a/ryu/tests/switch/of13/action/25_SET_FIELD/38_TUNNEL_ID.json b/os_ken/tests/switch/of13/action/25_SET_FIELD/38_TUNNEL_ID.json similarity index 100% rename from ryu/tests/switch/of13/action/25_SET_FIELD/38_TUNNEL_ID.json rename to os_ken/tests/switch/of13/action/25_SET_FIELD/38_TUNNEL_ID.json diff --git a/ryu/tests/switch/of13/action/26_PUSH_PBB.json b/os_ken/tests/switch/of13/action/26_PUSH_PBB.json similarity index 100% rename from ryu/tests/switch/of13/action/26_PUSH_PBB.json rename to os_ken/tests/switch/of13/action/26_PUSH_PBB.json diff --git a/ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json b/os_ken/tests/switch/of13/action/26_PUSH_PBB_multiple.json similarity index 100% rename from ryu/tests/switch/of13/action/26_PUSH_PBB_multiple.json rename to os_ken/tests/switch/of13/action/26_PUSH_PBB_multiple.json diff --git a/ryu/tests/switch/of13/action/27_POP_PBB.json b/os_ken/tests/switch/of13/action/27_POP_PBB.json similarity index 100% rename from ryu/tests/switch/of13/action/27_POP_PBB.json rename to os_ken/tests/switch/of13/action/27_POP_PBB.json diff --git a/ryu/tests/switch/of13/group/00_ALL.json b/os_ken/tests/switch/of13/group/00_ALL.json similarity index 100% rename from ryu/tests/switch/of13/group/00_ALL.json rename to os_ken/tests/switch/of13/group/00_ALL.json diff --git a/ryu/tests/switch/of13/group/01_SELECT_Ether.json b/os_ken/tests/switch/of13/group/01_SELECT_Ether.json similarity index 100% rename from ryu/tests/switch/of13/group/01_SELECT_Ether.json rename to os_ken/tests/switch/of13/group/01_SELECT_Ether.json diff --git a/ryu/tests/switch/of13/group/01_SELECT_IP.json b/os_ken/tests/switch/of13/group/01_SELECT_IP.json similarity index 100% rename from ryu/tests/switch/of13/group/01_SELECT_IP.json rename to os_ken/tests/switch/of13/group/01_SELECT_IP.json diff --git a/ryu/tests/switch/of13/group/01_SELECT_Weight_Ether.json b/os_ken/tests/switch/of13/group/01_SELECT_Weight_Ether.json similarity index 100% rename from ryu/tests/switch/of13/group/01_SELECT_Weight_Ether.json rename to os_ken/tests/switch/of13/group/01_SELECT_Weight_Ether.json diff --git a/ryu/tests/switch/of13/group/01_SELECT_Weight_IP.json b/os_ken/tests/switch/of13/group/01_SELECT_Weight_IP.json similarity index 100% rename from ryu/tests/switch/of13/group/01_SELECT_Weight_IP.json rename to os_ken/tests/switch/of13/group/01_SELECT_Weight_IP.json diff --git a/ryu/tests/switch/of13/match/00_IN_PORT.json b/os_ken/tests/switch/of13/match/00_IN_PORT.json similarity index 100% rename from ryu/tests/switch/of13/match/00_IN_PORT.json rename to os_ken/tests/switch/of13/match/00_IN_PORT.json diff --git a/ryu/tests/switch/of13/match/02_METADATA.json b/os_ken/tests/switch/of13/match/02_METADATA.json similarity index 100% rename from ryu/tests/switch/of13/match/02_METADATA.json rename to os_ken/tests/switch/of13/match/02_METADATA.json diff --git a/ryu/tests/switch/of13/match/02_METADATA_Mask.json b/os_ken/tests/switch/of13/match/02_METADATA_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/02_METADATA_Mask.json rename to os_ken/tests/switch/of13/match/02_METADATA_Mask.json diff --git a/ryu/tests/switch/of13/match/03_ETH_DST.json b/os_ken/tests/switch/of13/match/03_ETH_DST.json similarity index 100% rename from ryu/tests/switch/of13/match/03_ETH_DST.json rename to os_ken/tests/switch/of13/match/03_ETH_DST.json diff --git a/ryu/tests/switch/of13/match/03_ETH_DST_Mask.json b/os_ken/tests/switch/of13/match/03_ETH_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/03_ETH_DST_Mask.json rename to os_ken/tests/switch/of13/match/03_ETH_DST_Mask.json diff --git a/ryu/tests/switch/of13/match/04_ETH_SRC.json b/os_ken/tests/switch/of13/match/04_ETH_SRC.json similarity index 100% rename from ryu/tests/switch/of13/match/04_ETH_SRC.json rename to os_ken/tests/switch/of13/match/04_ETH_SRC.json diff --git a/ryu/tests/switch/of13/match/04_ETH_SRC_Mask.json b/os_ken/tests/switch/of13/match/04_ETH_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/04_ETH_SRC_Mask.json rename to os_ken/tests/switch/of13/match/04_ETH_SRC_Mask.json diff --git a/ryu/tests/switch/of13/match/05_ETH_TYPE.json b/os_ken/tests/switch/of13/match/05_ETH_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/match/05_ETH_TYPE.json rename to os_ken/tests/switch/of13/match/05_ETH_TYPE.json diff --git a/ryu/tests/switch/of13/match/06_VLAN_VID.json b/os_ken/tests/switch/of13/match/06_VLAN_VID.json similarity index 100% rename from ryu/tests/switch/of13/match/06_VLAN_VID.json rename to os_ken/tests/switch/of13/match/06_VLAN_VID.json diff --git a/ryu/tests/switch/of13/match/06_VLAN_VID_Mask.json b/os_ken/tests/switch/of13/match/06_VLAN_VID_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/06_VLAN_VID_Mask.json rename to os_ken/tests/switch/of13/match/06_VLAN_VID_Mask.json diff --git a/ryu/tests/switch/of13/match/07_VLAN_PCP.json b/os_ken/tests/switch/of13/match/07_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of13/match/07_VLAN_PCP.json rename to os_ken/tests/switch/of13/match/07_VLAN_PCP.json diff --git a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json b/os_ken/tests/switch/of13/match/08_IP_DSCP_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/08_IP_DSCP_IPv4.json rename to os_ken/tests/switch/of13/match/08_IP_DSCP_IPv4.json diff --git a/ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json b/os_ken/tests/switch/of13/match/08_IP_DSCP_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/08_IP_DSCP_IPv6.json rename to os_ken/tests/switch/of13/match/08_IP_DSCP_IPv6.json diff --git a/ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json b/os_ken/tests/switch/of13/match/09_IP_ECN_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/09_IP_ECN_IPv4.json rename to os_ken/tests/switch/of13/match/09_IP_ECN_IPv4.json diff --git a/ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json b/os_ken/tests/switch/of13/match/09_IP_ECN_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/09_IP_ECN_IPv6.json rename to os_ken/tests/switch/of13/match/09_IP_ECN_IPv6.json diff --git a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json b/os_ken/tests/switch/of13/match/10_IP_PROTO_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/10_IP_PROTO_IPv4.json rename to os_ken/tests/switch/of13/match/10_IP_PROTO_IPv4.json diff --git a/ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json b/os_ken/tests/switch/of13/match/10_IP_PROTO_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/10_IP_PROTO_IPv6.json rename to os_ken/tests/switch/of13/match/10_IP_PROTO_IPv6.json diff --git a/ryu/tests/switch/of13/match/11_IPV4_SRC.json b/os_ken/tests/switch/of13/match/11_IPV4_SRC.json similarity index 100% rename from ryu/tests/switch/of13/match/11_IPV4_SRC.json rename to os_ken/tests/switch/of13/match/11_IPV4_SRC.json diff --git a/ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json b/os_ken/tests/switch/of13/match/11_IPV4_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/11_IPV4_SRC_Mask.json rename to os_ken/tests/switch/of13/match/11_IPV4_SRC_Mask.json diff --git a/ryu/tests/switch/of13/match/12_IPV4_DST.json b/os_ken/tests/switch/of13/match/12_IPV4_DST.json similarity index 100% rename from ryu/tests/switch/of13/match/12_IPV4_DST.json rename to os_ken/tests/switch/of13/match/12_IPV4_DST.json diff --git a/ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json b/os_ken/tests/switch/of13/match/12_IPV4_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/12_IPV4_DST_Mask.json rename to os_ken/tests/switch/of13/match/12_IPV4_DST_Mask.json diff --git a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json b/os_ken/tests/switch/of13/match/13_TCP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/13_TCP_SRC_IPv4.json rename to os_ken/tests/switch/of13/match/13_TCP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json b/os_ken/tests/switch/of13/match/13_TCP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/13_TCP_SRC_IPv6.json rename to os_ken/tests/switch/of13/match/13_TCP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json b/os_ken/tests/switch/of13/match/14_TCP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/14_TCP_DST_IPv4.json rename to os_ken/tests/switch/of13/match/14_TCP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json b/os_ken/tests/switch/of13/match/14_TCP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/14_TCP_DST_IPv6.json rename to os_ken/tests/switch/of13/match/14_TCP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json b/os_ken/tests/switch/of13/match/15_UDP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/15_UDP_SRC_IPv4.json rename to os_ken/tests/switch/of13/match/15_UDP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json b/os_ken/tests/switch/of13/match/15_UDP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/15_UDP_SRC_IPv6.json rename to os_ken/tests/switch/of13/match/15_UDP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json b/os_ken/tests/switch/of13/match/16_UDP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/16_UDP_DST_IPv4.json rename to os_ken/tests/switch/of13/match/16_UDP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json b/os_ken/tests/switch/of13/match/16_UDP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/16_UDP_DST_IPv6.json rename to os_ken/tests/switch/of13/match/16_UDP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json b/os_ken/tests/switch/of13/match/17_SCTP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/17_SCTP_SRC_IPv4.json rename to os_ken/tests/switch/of13/match/17_SCTP_SRC_IPv4.json diff --git a/ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json b/os_ken/tests/switch/of13/match/17_SCTP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/17_SCTP_SRC_IPv6.json rename to os_ken/tests/switch/of13/match/17_SCTP_SRC_IPv6.json diff --git a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json b/os_ken/tests/switch/of13/match/18_SCTP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of13/match/18_SCTP_DST_IPv4.json rename to os_ken/tests/switch/of13/match/18_SCTP_DST_IPv4.json diff --git a/ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json b/os_ken/tests/switch/of13/match/18_SCTP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of13/match/18_SCTP_DST_IPv6.json rename to os_ken/tests/switch/of13/match/18_SCTP_DST_IPv6.json diff --git a/ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json b/os_ken/tests/switch/of13/match/19_ICMPV4_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/match/19_ICMPV4_TYPE.json rename to os_ken/tests/switch/of13/match/19_ICMPV4_TYPE.json diff --git a/ryu/tests/switch/of13/match/20_ICMPV4_CODE.json b/os_ken/tests/switch/of13/match/20_ICMPV4_CODE.json similarity index 100% rename from ryu/tests/switch/of13/match/20_ICMPV4_CODE.json rename to os_ken/tests/switch/of13/match/20_ICMPV4_CODE.json diff --git a/ryu/tests/switch/of13/match/21_ARP_OP.json b/os_ken/tests/switch/of13/match/21_ARP_OP.json similarity index 100% rename from ryu/tests/switch/of13/match/21_ARP_OP.json rename to os_ken/tests/switch/of13/match/21_ARP_OP.json diff --git a/ryu/tests/switch/of13/match/22_ARP_SPA.json b/os_ken/tests/switch/of13/match/22_ARP_SPA.json similarity index 100% rename from ryu/tests/switch/of13/match/22_ARP_SPA.json rename to os_ken/tests/switch/of13/match/22_ARP_SPA.json diff --git a/ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json b/os_ken/tests/switch/of13/match/22_ARP_SPA_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/22_ARP_SPA_Mask.json rename to os_ken/tests/switch/of13/match/22_ARP_SPA_Mask.json diff --git a/ryu/tests/switch/of13/match/23_ARP_TPA.json b/os_ken/tests/switch/of13/match/23_ARP_TPA.json similarity index 100% rename from ryu/tests/switch/of13/match/23_ARP_TPA.json rename to os_ken/tests/switch/of13/match/23_ARP_TPA.json diff --git a/ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json b/os_ken/tests/switch/of13/match/23_ARP_TPA_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/23_ARP_TPA_Mask.json rename to os_ken/tests/switch/of13/match/23_ARP_TPA_Mask.json diff --git a/ryu/tests/switch/of13/match/24_ARP_SHA.json b/os_ken/tests/switch/of13/match/24_ARP_SHA.json similarity index 100% rename from ryu/tests/switch/of13/match/24_ARP_SHA.json rename to os_ken/tests/switch/of13/match/24_ARP_SHA.json diff --git a/ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json b/os_ken/tests/switch/of13/match/24_ARP_SHA_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/24_ARP_SHA_Mask.json rename to os_ken/tests/switch/of13/match/24_ARP_SHA_Mask.json diff --git a/ryu/tests/switch/of13/match/25_ARP_THA.json b/os_ken/tests/switch/of13/match/25_ARP_THA.json similarity index 100% rename from ryu/tests/switch/of13/match/25_ARP_THA.json rename to os_ken/tests/switch/of13/match/25_ARP_THA.json diff --git a/ryu/tests/switch/of13/match/25_ARP_THA_Mask.json b/os_ken/tests/switch/of13/match/25_ARP_THA_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/25_ARP_THA_Mask.json rename to os_ken/tests/switch/of13/match/25_ARP_THA_Mask.json diff --git a/ryu/tests/switch/of13/match/26_IPV6_SRC.json b/os_ken/tests/switch/of13/match/26_IPV6_SRC.json similarity index 100% rename from ryu/tests/switch/of13/match/26_IPV6_SRC.json rename to os_ken/tests/switch/of13/match/26_IPV6_SRC.json diff --git a/ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json b/os_ken/tests/switch/of13/match/26_IPV6_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/26_IPV6_SRC_Mask.json rename to os_ken/tests/switch/of13/match/26_IPV6_SRC_Mask.json diff --git a/ryu/tests/switch/of13/match/27_IPV6_DST.json b/os_ken/tests/switch/of13/match/27_IPV6_DST.json similarity index 100% rename from ryu/tests/switch/of13/match/27_IPV6_DST.json rename to os_ken/tests/switch/of13/match/27_IPV6_DST.json diff --git a/ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json b/os_ken/tests/switch/of13/match/27_IPV6_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/27_IPV6_DST_Mask.json rename to os_ken/tests/switch/of13/match/27_IPV6_DST_Mask.json diff --git a/ryu/tests/switch/of13/match/28_IPV6_FLABEL.json b/os_ken/tests/switch/of13/match/28_IPV6_FLABEL.json similarity index 100% rename from ryu/tests/switch/of13/match/28_IPV6_FLABEL.json rename to os_ken/tests/switch/of13/match/28_IPV6_FLABEL.json diff --git a/ryu/tests/switch/of13/match/28_IPV6_FLABEL_Mask.json b/os_ken/tests/switch/of13/match/28_IPV6_FLABEL_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/28_IPV6_FLABEL_Mask.json rename to os_ken/tests/switch/of13/match/28_IPV6_FLABEL_Mask.json diff --git a/ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json b/os_ken/tests/switch/of13/match/29_ICMPV6_TYPE.json similarity index 100% rename from ryu/tests/switch/of13/match/29_ICMPV6_TYPE.json rename to os_ken/tests/switch/of13/match/29_ICMPV6_TYPE.json diff --git a/ryu/tests/switch/of13/match/30_ICMPV6_CODE.json b/os_ken/tests/switch/of13/match/30_ICMPV6_CODE.json similarity index 100% rename from ryu/tests/switch/of13/match/30_ICMPV6_CODE.json rename to os_ken/tests/switch/of13/match/30_ICMPV6_CODE.json diff --git a/ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json b/os_ken/tests/switch/of13/match/31_IPV6_ND_TARGET.json similarity index 100% rename from ryu/tests/switch/of13/match/31_IPV6_ND_TARGET.json rename to os_ken/tests/switch/of13/match/31_IPV6_ND_TARGET.json diff --git a/ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json b/os_ken/tests/switch/of13/match/32_IPV6_ND_SLL.json similarity index 100% rename from ryu/tests/switch/of13/match/32_IPV6_ND_SLL.json rename to os_ken/tests/switch/of13/match/32_IPV6_ND_SLL.json diff --git a/ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json b/os_ken/tests/switch/of13/match/33_IPV6_ND_TLL.json similarity index 100% rename from ryu/tests/switch/of13/match/33_IPV6_ND_TLL.json rename to os_ken/tests/switch/of13/match/33_IPV6_ND_TLL.json diff --git a/ryu/tests/switch/of13/match/34_MPLS_LABEL.json b/os_ken/tests/switch/of13/match/34_MPLS_LABEL.json similarity index 100% rename from ryu/tests/switch/of13/match/34_MPLS_LABEL.json rename to os_ken/tests/switch/of13/match/34_MPLS_LABEL.json diff --git a/ryu/tests/switch/of13/match/35_MPLS_TC.json b/os_ken/tests/switch/of13/match/35_MPLS_TC.json similarity index 100% rename from ryu/tests/switch/of13/match/35_MPLS_TC.json rename to os_ken/tests/switch/of13/match/35_MPLS_TC.json diff --git a/ryu/tests/switch/of13/match/36_MPLS_BOS.json b/os_ken/tests/switch/of13/match/36_MPLS_BOS.json similarity index 100% rename from ryu/tests/switch/of13/match/36_MPLS_BOS.json rename to os_ken/tests/switch/of13/match/36_MPLS_BOS.json diff --git a/ryu/tests/switch/of13/match/37_PBB_ISID.json b/os_ken/tests/switch/of13/match/37_PBB_ISID.json similarity index 100% rename from ryu/tests/switch/of13/match/37_PBB_ISID.json rename to os_ken/tests/switch/of13/match/37_PBB_ISID.json diff --git a/ryu/tests/switch/of13/match/37_PBB_ISID_Mask.json b/os_ken/tests/switch/of13/match/37_PBB_ISID_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/37_PBB_ISID_Mask.json rename to os_ken/tests/switch/of13/match/37_PBB_ISID_Mask.json diff --git a/ryu/tests/switch/of13/match/38_TUNNEL_ID.json b/os_ken/tests/switch/of13/match/38_TUNNEL_ID.json similarity index 100% rename from ryu/tests/switch/of13/match/38_TUNNEL_ID.json rename to os_ken/tests/switch/of13/match/38_TUNNEL_ID.json diff --git a/ryu/tests/switch/of13/match/38_TUNNEL_ID_Mask.json b/os_ken/tests/switch/of13/match/38_TUNNEL_ID_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/38_TUNNEL_ID_Mask.json rename to os_ken/tests/switch/of13/match/38_TUNNEL_ID_Mask.json diff --git a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json b/os_ken/tests/switch/of13/match/39_IPV6_EXTHDR.json similarity index 100% rename from ryu/tests/switch/of13/match/39_IPV6_EXTHDR.json rename to os_ken/tests/switch/of13/match/39_IPV6_EXTHDR.json diff --git a/ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json b/os_ken/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json similarity index 100% rename from ryu/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json rename to os_ken/tests/switch/of13/match/39_IPV6_EXTHDR_Mask.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_00_KBPS_00_1M.json b/os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_00_1M.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_00_KBPS_00_1M.json rename to os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_00_1M.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_00_KBPS_01_10M.json b/os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_01_10M.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_00_KBPS_01_10M.json rename to os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_01_10M.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_00_KBPS_02_100M.json b/os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_02_100M.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_00_KBPS_02_100M.json rename to os_ken/tests/switch/of13/meter/01_DROP_00_KBPS_02_100M.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_00_100.json b/os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_00_100.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_00_100.json rename to os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_00_100.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_01_1000.json b/os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_01_1000.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_01_1000.json rename to os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_01_1000.json diff --git a/ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_02_10000.json b/os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_02_10000.json similarity index 100% rename from ryu/tests/switch/of13/meter/01_DROP_01_PKTPS_02_10000.json rename to os_ken/tests/switch/of13/meter/01_DROP_01_PKTPS_02_10000.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_00_1M.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_00_1M.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_00_1M.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_00_1M.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_01_10M.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_01_10M.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_01_10M.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_01_10M.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_02_100M.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_02_100M.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_02_100M.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_00_KBPS_02_100M.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_00_100.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_00_100.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_00_100.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_00_100.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json diff --git a/ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json b/os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json similarity index 100% rename from ryu/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json rename to os_ken/tests/switch/of13/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json diff --git a/ryu/tests/switch/of14/action/00_OUTPUT.json b/os_ken/tests/switch/of14/action/00_OUTPUT.json similarity index 100% rename from ryu/tests/switch/of14/action/00_OUTPUT.json rename to os_ken/tests/switch/of14/action/00_OUTPUT.json diff --git a/ryu/tests/switch/of14/action/11_COPY_TTL_OUT.json b/os_ken/tests/switch/of14/action/11_COPY_TTL_OUT.json similarity index 100% rename from ryu/tests/switch/of14/action/11_COPY_TTL_OUT.json rename to os_ken/tests/switch/of14/action/11_COPY_TTL_OUT.json diff --git a/ryu/tests/switch/of14/action/12_COPY_TTL_IN.json b/os_ken/tests/switch/of14/action/12_COPY_TTL_IN.json similarity index 100% rename from ryu/tests/switch/of14/action/12_COPY_TTL_IN.json rename to os_ken/tests/switch/of14/action/12_COPY_TTL_IN.json diff --git a/ryu/tests/switch/of14/action/15_SET_MPLS_TTL.json b/os_ken/tests/switch/of14/action/15_SET_MPLS_TTL.json similarity index 100% rename from ryu/tests/switch/of14/action/15_SET_MPLS_TTL.json rename to os_ken/tests/switch/of14/action/15_SET_MPLS_TTL.json diff --git a/ryu/tests/switch/of14/action/16_DEC_MPLS_TTL.json b/os_ken/tests/switch/of14/action/16_DEC_MPLS_TTL.json similarity index 100% rename from ryu/tests/switch/of14/action/16_DEC_MPLS_TTL.json rename to os_ken/tests/switch/of14/action/16_DEC_MPLS_TTL.json diff --git a/ryu/tests/switch/of14/action/17_PUSH_VLAN.json b/os_ken/tests/switch/of14/action/17_PUSH_VLAN.json similarity index 100% rename from ryu/tests/switch/of14/action/17_PUSH_VLAN.json rename to os_ken/tests/switch/of14/action/17_PUSH_VLAN.json diff --git a/ryu/tests/switch/of14/action/17_PUSH_VLAN_multiple.json b/os_ken/tests/switch/of14/action/17_PUSH_VLAN_multiple.json similarity index 100% rename from ryu/tests/switch/of14/action/17_PUSH_VLAN_multiple.json rename to os_ken/tests/switch/of14/action/17_PUSH_VLAN_multiple.json diff --git a/ryu/tests/switch/of14/action/18_POP_VLAN.json b/os_ken/tests/switch/of14/action/18_POP_VLAN.json similarity index 100% rename from ryu/tests/switch/of14/action/18_POP_VLAN.json rename to os_ken/tests/switch/of14/action/18_POP_VLAN.json diff --git a/ryu/tests/switch/of14/action/19_PUSH_MPLS.json b/os_ken/tests/switch/of14/action/19_PUSH_MPLS.json similarity index 100% rename from ryu/tests/switch/of14/action/19_PUSH_MPLS.json rename to os_ken/tests/switch/of14/action/19_PUSH_MPLS.json diff --git a/ryu/tests/switch/of14/action/19_PUSH_MPLS_multiple.json b/os_ken/tests/switch/of14/action/19_PUSH_MPLS_multiple.json similarity index 100% rename from ryu/tests/switch/of14/action/19_PUSH_MPLS_multiple.json rename to os_ken/tests/switch/of14/action/19_PUSH_MPLS_multiple.json diff --git a/ryu/tests/switch/of14/action/20_POP_MPLS.json b/os_ken/tests/switch/of14/action/20_POP_MPLS.json similarity index 100% rename from ryu/tests/switch/of14/action/20_POP_MPLS.json rename to os_ken/tests/switch/of14/action/20_POP_MPLS.json diff --git a/ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json b/os_ken/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json rename to os_ken/tests/switch/of14/action/23_SET_NW_TTL_IPv4.json diff --git a/ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json b/os_ken/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json rename to os_ken/tests/switch/of14/action/23_SET_NW_TTL_IPv6.json diff --git a/ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json b/os_ken/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json rename to os_ken/tests/switch/of14/action/24_DEC_NW_TTL_IPv4.json diff --git a/ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json b/os_ken/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json rename to os_ken/tests/switch/of14/action/24_DEC_NW_TTL_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/03_ETH_DST.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/03_ETH_DST.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/03_ETH_DST.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/03_ETH_DST.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/04_ETH_SRC.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/04_ETH_SRC.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/04_ETH_SRC.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/04_ETH_SRC.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/05_ETH_TYPE.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/05_ETH_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/05_ETH_TYPE.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/05_ETH_TYPE.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/06_VLAN_VID.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/06_VLAN_VID.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/06_VLAN_VID.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/06_VLAN_VID.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/07_VLAN_PCP.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/07_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/07_VLAN_PCP.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/07_VLAN_PCP.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/08_IP_DSCP_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/09_IP_ECN_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/10_IP_PROTO_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/11_IPV4_SRC.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/11_IPV4_SRC.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/11_IPV4_SRC.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/11_IPV4_SRC.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/12_IPV4_DST.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/12_IPV4_DST.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/12_IPV4_DST.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/12_IPV4_DST.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/13_TCP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/14_TCP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/15_UDP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/16_UDP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/17_SCTP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv4.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv4.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv6.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv6.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/18_SCTP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/19_ICMPV4_TYPE.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/19_ICMPV4_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/19_ICMPV4_TYPE.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/19_ICMPV4_TYPE.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/20_ICMPV4_CODE.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/20_ICMPV4_CODE.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/20_ICMPV4_CODE.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/20_ICMPV4_CODE.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/21_ARP_OP.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/21_ARP_OP.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/21_ARP_OP.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/21_ARP_OP.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/22_ARP_SPA.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/22_ARP_SPA.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/22_ARP_SPA.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/22_ARP_SPA.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/23_ARP_TPA.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/23_ARP_TPA.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/23_ARP_TPA.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/23_ARP_TPA.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/24_ARP_SHA.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/24_ARP_SHA.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/24_ARP_SHA.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/24_ARP_SHA.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/25_ARP_THA.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/25_ARP_THA.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/25_ARP_THA.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/25_ARP_THA.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/26_IPV6_SRC.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/26_IPV6_SRC.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/26_IPV6_SRC.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/26_IPV6_SRC.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/27_IPV6_DST.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/27_IPV6_DST.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/27_IPV6_DST.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/27_IPV6_DST.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/28_IPV6_FLABEL.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/28_IPV6_FLABEL.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/28_IPV6_FLABEL.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/28_IPV6_FLABEL.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/29_ICMPV6_TYPE.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/29_ICMPV6_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/29_ICMPV6_TYPE.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/29_ICMPV6_TYPE.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/30_ICMPV6_CODE.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/30_ICMPV6_CODE.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/30_ICMPV6_CODE.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/30_ICMPV6_CODE.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/31_IPV6_ND_TARGET.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/31_IPV6_ND_TARGET.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/31_IPV6_ND_TARGET.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/31_IPV6_ND_TARGET.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/32_IPV6_ND_SLL.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/32_IPV6_ND_SLL.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/32_IPV6_ND_SLL.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/32_IPV6_ND_SLL.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/33_IPV6_ND_TLL.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/33_IPV6_ND_TLL.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/33_IPV6_ND_TLL.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/33_IPV6_ND_TLL.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/34_MPLS_LABEL.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/34_MPLS_LABEL.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/34_MPLS_LABEL.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/34_MPLS_LABEL.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/35_MPLS_TC.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/35_MPLS_TC.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/35_MPLS_TC.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/35_MPLS_TC.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/36_MPLS_BOS.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/36_MPLS_BOS.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/36_MPLS_BOS.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/36_MPLS_BOS.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/37_PBB_ISID.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/37_PBB_ISID.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/37_PBB_ISID.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/37_PBB_ISID.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/38_TUNNEL_ID.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/38_TUNNEL_ID.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/38_TUNNEL_ID.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/38_TUNNEL_ID.json diff --git a/ryu/tests/switch/of14/action/25_SET_FIELD/41_PBB_UCA.json b/os_ken/tests/switch/of14/action/25_SET_FIELD/41_PBB_UCA.json similarity index 100% rename from ryu/tests/switch/of14/action/25_SET_FIELD/41_PBB_UCA.json rename to os_ken/tests/switch/of14/action/25_SET_FIELD/41_PBB_UCA.json diff --git a/ryu/tests/switch/of14/action/26_PUSH_PBB.json b/os_ken/tests/switch/of14/action/26_PUSH_PBB.json similarity index 100% rename from ryu/tests/switch/of14/action/26_PUSH_PBB.json rename to os_ken/tests/switch/of14/action/26_PUSH_PBB.json diff --git a/ryu/tests/switch/of14/action/26_PUSH_PBB_multiple.json b/os_ken/tests/switch/of14/action/26_PUSH_PBB_multiple.json similarity index 100% rename from ryu/tests/switch/of14/action/26_PUSH_PBB_multiple.json rename to os_ken/tests/switch/of14/action/26_PUSH_PBB_multiple.json diff --git a/ryu/tests/switch/of14/action/27_POP_PBB.json b/os_ken/tests/switch/of14/action/27_POP_PBB.json similarity index 100% rename from ryu/tests/switch/of14/action/27_POP_PBB.json rename to os_ken/tests/switch/of14/action/27_POP_PBB.json diff --git a/ryu/tests/switch/of14/group/00_ALL.json b/os_ken/tests/switch/of14/group/00_ALL.json similarity index 100% rename from ryu/tests/switch/of14/group/00_ALL.json rename to os_ken/tests/switch/of14/group/00_ALL.json diff --git a/ryu/tests/switch/of14/group/01_SELECT_Ether.json b/os_ken/tests/switch/of14/group/01_SELECT_Ether.json similarity index 100% rename from ryu/tests/switch/of14/group/01_SELECT_Ether.json rename to os_ken/tests/switch/of14/group/01_SELECT_Ether.json diff --git a/ryu/tests/switch/of14/group/01_SELECT_IP.json b/os_ken/tests/switch/of14/group/01_SELECT_IP.json similarity index 100% rename from ryu/tests/switch/of14/group/01_SELECT_IP.json rename to os_ken/tests/switch/of14/group/01_SELECT_IP.json diff --git a/ryu/tests/switch/of14/group/01_SELECT_Weight_Ether.json b/os_ken/tests/switch/of14/group/01_SELECT_Weight_Ether.json similarity index 100% rename from ryu/tests/switch/of14/group/01_SELECT_Weight_Ether.json rename to os_ken/tests/switch/of14/group/01_SELECT_Weight_Ether.json diff --git a/ryu/tests/switch/of14/group/01_SELECT_Weight_IP.json b/os_ken/tests/switch/of14/group/01_SELECT_Weight_IP.json similarity index 100% rename from ryu/tests/switch/of14/group/01_SELECT_Weight_IP.json rename to os_ken/tests/switch/of14/group/01_SELECT_Weight_IP.json diff --git a/ryu/tests/switch/of14/match/00_IN_PORT.json b/os_ken/tests/switch/of14/match/00_IN_PORT.json similarity index 100% rename from ryu/tests/switch/of14/match/00_IN_PORT.json rename to os_ken/tests/switch/of14/match/00_IN_PORT.json diff --git a/ryu/tests/switch/of14/match/02_METADATA.json b/os_ken/tests/switch/of14/match/02_METADATA.json similarity index 100% rename from ryu/tests/switch/of14/match/02_METADATA.json rename to os_ken/tests/switch/of14/match/02_METADATA.json diff --git a/ryu/tests/switch/of14/match/02_METADATA_Mask.json b/os_ken/tests/switch/of14/match/02_METADATA_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/02_METADATA_Mask.json rename to os_ken/tests/switch/of14/match/02_METADATA_Mask.json diff --git a/ryu/tests/switch/of14/match/03_ETH_DST.json b/os_ken/tests/switch/of14/match/03_ETH_DST.json similarity index 100% rename from ryu/tests/switch/of14/match/03_ETH_DST.json rename to os_ken/tests/switch/of14/match/03_ETH_DST.json diff --git a/ryu/tests/switch/of14/match/03_ETH_DST_Mask.json b/os_ken/tests/switch/of14/match/03_ETH_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/03_ETH_DST_Mask.json rename to os_ken/tests/switch/of14/match/03_ETH_DST_Mask.json diff --git a/ryu/tests/switch/of14/match/04_ETH_SRC.json b/os_ken/tests/switch/of14/match/04_ETH_SRC.json similarity index 100% rename from ryu/tests/switch/of14/match/04_ETH_SRC.json rename to os_ken/tests/switch/of14/match/04_ETH_SRC.json diff --git a/ryu/tests/switch/of14/match/04_ETH_SRC_Mask.json b/os_ken/tests/switch/of14/match/04_ETH_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/04_ETH_SRC_Mask.json rename to os_ken/tests/switch/of14/match/04_ETH_SRC_Mask.json diff --git a/ryu/tests/switch/of14/match/05_ETH_TYPE.json b/os_ken/tests/switch/of14/match/05_ETH_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/match/05_ETH_TYPE.json rename to os_ken/tests/switch/of14/match/05_ETH_TYPE.json diff --git a/ryu/tests/switch/of14/match/06_VLAN_VID.json b/os_ken/tests/switch/of14/match/06_VLAN_VID.json similarity index 100% rename from ryu/tests/switch/of14/match/06_VLAN_VID.json rename to os_ken/tests/switch/of14/match/06_VLAN_VID.json diff --git a/ryu/tests/switch/of14/match/06_VLAN_VID_Mask.json b/os_ken/tests/switch/of14/match/06_VLAN_VID_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/06_VLAN_VID_Mask.json rename to os_ken/tests/switch/of14/match/06_VLAN_VID_Mask.json diff --git a/ryu/tests/switch/of14/match/07_VLAN_PCP.json b/os_ken/tests/switch/of14/match/07_VLAN_PCP.json similarity index 100% rename from ryu/tests/switch/of14/match/07_VLAN_PCP.json rename to os_ken/tests/switch/of14/match/07_VLAN_PCP.json diff --git a/ryu/tests/switch/of14/match/08_IP_DSCP_IPv4.json b/os_ken/tests/switch/of14/match/08_IP_DSCP_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/08_IP_DSCP_IPv4.json rename to os_ken/tests/switch/of14/match/08_IP_DSCP_IPv4.json diff --git a/ryu/tests/switch/of14/match/08_IP_DSCP_IPv6.json b/os_ken/tests/switch/of14/match/08_IP_DSCP_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/08_IP_DSCP_IPv6.json rename to os_ken/tests/switch/of14/match/08_IP_DSCP_IPv6.json diff --git a/ryu/tests/switch/of14/match/09_IP_ECN_IPv4.json b/os_ken/tests/switch/of14/match/09_IP_ECN_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/09_IP_ECN_IPv4.json rename to os_ken/tests/switch/of14/match/09_IP_ECN_IPv4.json diff --git a/ryu/tests/switch/of14/match/09_IP_ECN_IPv6.json b/os_ken/tests/switch/of14/match/09_IP_ECN_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/09_IP_ECN_IPv6.json rename to os_ken/tests/switch/of14/match/09_IP_ECN_IPv6.json diff --git a/ryu/tests/switch/of14/match/10_IP_PROTO_IPv4.json b/os_ken/tests/switch/of14/match/10_IP_PROTO_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/10_IP_PROTO_IPv4.json rename to os_ken/tests/switch/of14/match/10_IP_PROTO_IPv4.json diff --git a/ryu/tests/switch/of14/match/10_IP_PROTO_IPv6.json b/os_ken/tests/switch/of14/match/10_IP_PROTO_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/10_IP_PROTO_IPv6.json rename to os_ken/tests/switch/of14/match/10_IP_PROTO_IPv6.json diff --git a/ryu/tests/switch/of14/match/11_IPV4_SRC.json b/os_ken/tests/switch/of14/match/11_IPV4_SRC.json similarity index 100% rename from ryu/tests/switch/of14/match/11_IPV4_SRC.json rename to os_ken/tests/switch/of14/match/11_IPV4_SRC.json diff --git a/ryu/tests/switch/of14/match/11_IPV4_SRC_Mask.json b/os_ken/tests/switch/of14/match/11_IPV4_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/11_IPV4_SRC_Mask.json rename to os_ken/tests/switch/of14/match/11_IPV4_SRC_Mask.json diff --git a/ryu/tests/switch/of14/match/12_IPV4_DST.json b/os_ken/tests/switch/of14/match/12_IPV4_DST.json similarity index 100% rename from ryu/tests/switch/of14/match/12_IPV4_DST.json rename to os_ken/tests/switch/of14/match/12_IPV4_DST.json diff --git a/ryu/tests/switch/of14/match/12_IPV4_DST_Mask.json b/os_ken/tests/switch/of14/match/12_IPV4_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/12_IPV4_DST_Mask.json rename to os_ken/tests/switch/of14/match/12_IPV4_DST_Mask.json diff --git a/ryu/tests/switch/of14/match/13_TCP_SRC_IPv4.json b/os_ken/tests/switch/of14/match/13_TCP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/13_TCP_SRC_IPv4.json rename to os_ken/tests/switch/of14/match/13_TCP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/match/13_TCP_SRC_IPv6.json b/os_ken/tests/switch/of14/match/13_TCP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/13_TCP_SRC_IPv6.json rename to os_ken/tests/switch/of14/match/13_TCP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/match/14_TCP_DST_IPv4.json b/os_ken/tests/switch/of14/match/14_TCP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/14_TCP_DST_IPv4.json rename to os_ken/tests/switch/of14/match/14_TCP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/match/14_TCP_DST_IPv6.json b/os_ken/tests/switch/of14/match/14_TCP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/14_TCP_DST_IPv6.json rename to os_ken/tests/switch/of14/match/14_TCP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/match/15_UDP_SRC_IPv4.json b/os_ken/tests/switch/of14/match/15_UDP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/15_UDP_SRC_IPv4.json rename to os_ken/tests/switch/of14/match/15_UDP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/match/15_UDP_SRC_IPv6.json b/os_ken/tests/switch/of14/match/15_UDP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/15_UDP_SRC_IPv6.json rename to os_ken/tests/switch/of14/match/15_UDP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/match/16_UDP_DST_IPv4.json b/os_ken/tests/switch/of14/match/16_UDP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/16_UDP_DST_IPv4.json rename to os_ken/tests/switch/of14/match/16_UDP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/match/16_UDP_DST_IPv6.json b/os_ken/tests/switch/of14/match/16_UDP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/16_UDP_DST_IPv6.json rename to os_ken/tests/switch/of14/match/16_UDP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/match/17_SCTP_SRC_IPv4.json b/os_ken/tests/switch/of14/match/17_SCTP_SRC_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/17_SCTP_SRC_IPv4.json rename to os_ken/tests/switch/of14/match/17_SCTP_SRC_IPv4.json diff --git a/ryu/tests/switch/of14/match/17_SCTP_SRC_IPv6.json b/os_ken/tests/switch/of14/match/17_SCTP_SRC_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/17_SCTP_SRC_IPv6.json rename to os_ken/tests/switch/of14/match/17_SCTP_SRC_IPv6.json diff --git a/ryu/tests/switch/of14/match/18_SCTP_DST_IPv4.json b/os_ken/tests/switch/of14/match/18_SCTP_DST_IPv4.json similarity index 100% rename from ryu/tests/switch/of14/match/18_SCTP_DST_IPv4.json rename to os_ken/tests/switch/of14/match/18_SCTP_DST_IPv4.json diff --git a/ryu/tests/switch/of14/match/18_SCTP_DST_IPv6.json b/os_ken/tests/switch/of14/match/18_SCTP_DST_IPv6.json similarity index 100% rename from ryu/tests/switch/of14/match/18_SCTP_DST_IPv6.json rename to os_ken/tests/switch/of14/match/18_SCTP_DST_IPv6.json diff --git a/ryu/tests/switch/of14/match/19_ICMPV4_TYPE.json b/os_ken/tests/switch/of14/match/19_ICMPV4_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/match/19_ICMPV4_TYPE.json rename to os_ken/tests/switch/of14/match/19_ICMPV4_TYPE.json diff --git a/ryu/tests/switch/of14/match/20_ICMPV4_CODE.json b/os_ken/tests/switch/of14/match/20_ICMPV4_CODE.json similarity index 100% rename from ryu/tests/switch/of14/match/20_ICMPV4_CODE.json rename to os_ken/tests/switch/of14/match/20_ICMPV4_CODE.json diff --git a/ryu/tests/switch/of14/match/21_ARP_OP.json b/os_ken/tests/switch/of14/match/21_ARP_OP.json similarity index 100% rename from ryu/tests/switch/of14/match/21_ARP_OP.json rename to os_ken/tests/switch/of14/match/21_ARP_OP.json diff --git a/ryu/tests/switch/of14/match/22_ARP_SPA.json b/os_ken/tests/switch/of14/match/22_ARP_SPA.json similarity index 100% rename from ryu/tests/switch/of14/match/22_ARP_SPA.json rename to os_ken/tests/switch/of14/match/22_ARP_SPA.json diff --git a/ryu/tests/switch/of14/match/22_ARP_SPA_Mask.json b/os_ken/tests/switch/of14/match/22_ARP_SPA_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/22_ARP_SPA_Mask.json rename to os_ken/tests/switch/of14/match/22_ARP_SPA_Mask.json diff --git a/ryu/tests/switch/of14/match/23_ARP_TPA.json b/os_ken/tests/switch/of14/match/23_ARP_TPA.json similarity index 100% rename from ryu/tests/switch/of14/match/23_ARP_TPA.json rename to os_ken/tests/switch/of14/match/23_ARP_TPA.json diff --git a/ryu/tests/switch/of14/match/23_ARP_TPA_Mask.json b/os_ken/tests/switch/of14/match/23_ARP_TPA_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/23_ARP_TPA_Mask.json rename to os_ken/tests/switch/of14/match/23_ARP_TPA_Mask.json diff --git a/ryu/tests/switch/of14/match/24_ARP_SHA.json b/os_ken/tests/switch/of14/match/24_ARP_SHA.json similarity index 100% rename from ryu/tests/switch/of14/match/24_ARP_SHA.json rename to os_ken/tests/switch/of14/match/24_ARP_SHA.json diff --git a/ryu/tests/switch/of14/match/24_ARP_SHA_Mask.json b/os_ken/tests/switch/of14/match/24_ARP_SHA_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/24_ARP_SHA_Mask.json rename to os_ken/tests/switch/of14/match/24_ARP_SHA_Mask.json diff --git a/ryu/tests/switch/of14/match/25_ARP_THA.json b/os_ken/tests/switch/of14/match/25_ARP_THA.json similarity index 100% rename from ryu/tests/switch/of14/match/25_ARP_THA.json rename to os_ken/tests/switch/of14/match/25_ARP_THA.json diff --git a/ryu/tests/switch/of14/match/25_ARP_THA_Mask.json b/os_ken/tests/switch/of14/match/25_ARP_THA_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/25_ARP_THA_Mask.json rename to os_ken/tests/switch/of14/match/25_ARP_THA_Mask.json diff --git a/ryu/tests/switch/of14/match/26_IPV6_SRC.json b/os_ken/tests/switch/of14/match/26_IPV6_SRC.json similarity index 100% rename from ryu/tests/switch/of14/match/26_IPV6_SRC.json rename to os_ken/tests/switch/of14/match/26_IPV6_SRC.json diff --git a/ryu/tests/switch/of14/match/26_IPV6_SRC_Mask.json b/os_ken/tests/switch/of14/match/26_IPV6_SRC_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/26_IPV6_SRC_Mask.json rename to os_ken/tests/switch/of14/match/26_IPV6_SRC_Mask.json diff --git a/ryu/tests/switch/of14/match/27_IPV6_DST.json b/os_ken/tests/switch/of14/match/27_IPV6_DST.json similarity index 100% rename from ryu/tests/switch/of14/match/27_IPV6_DST.json rename to os_ken/tests/switch/of14/match/27_IPV6_DST.json diff --git a/ryu/tests/switch/of14/match/27_IPV6_DST_Mask.json b/os_ken/tests/switch/of14/match/27_IPV6_DST_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/27_IPV6_DST_Mask.json rename to os_ken/tests/switch/of14/match/27_IPV6_DST_Mask.json diff --git a/ryu/tests/switch/of14/match/28_IPV6_FLABEL.json b/os_ken/tests/switch/of14/match/28_IPV6_FLABEL.json similarity index 100% rename from ryu/tests/switch/of14/match/28_IPV6_FLABEL.json rename to os_ken/tests/switch/of14/match/28_IPV6_FLABEL.json diff --git a/ryu/tests/switch/of14/match/28_IPV6_FLABEL_Mask.json b/os_ken/tests/switch/of14/match/28_IPV6_FLABEL_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/28_IPV6_FLABEL_Mask.json rename to os_ken/tests/switch/of14/match/28_IPV6_FLABEL_Mask.json diff --git a/ryu/tests/switch/of14/match/29_ICMPV6_TYPE.json b/os_ken/tests/switch/of14/match/29_ICMPV6_TYPE.json similarity index 100% rename from ryu/tests/switch/of14/match/29_ICMPV6_TYPE.json rename to os_ken/tests/switch/of14/match/29_ICMPV6_TYPE.json diff --git a/ryu/tests/switch/of14/match/30_ICMPV6_CODE.json b/os_ken/tests/switch/of14/match/30_ICMPV6_CODE.json similarity index 100% rename from ryu/tests/switch/of14/match/30_ICMPV6_CODE.json rename to os_ken/tests/switch/of14/match/30_ICMPV6_CODE.json diff --git a/ryu/tests/switch/of14/match/31_IPV6_ND_TARGET.json b/os_ken/tests/switch/of14/match/31_IPV6_ND_TARGET.json similarity index 100% rename from ryu/tests/switch/of14/match/31_IPV6_ND_TARGET.json rename to os_ken/tests/switch/of14/match/31_IPV6_ND_TARGET.json diff --git a/ryu/tests/switch/of14/match/32_IPV6_ND_SLL.json b/os_ken/tests/switch/of14/match/32_IPV6_ND_SLL.json similarity index 100% rename from ryu/tests/switch/of14/match/32_IPV6_ND_SLL.json rename to os_ken/tests/switch/of14/match/32_IPV6_ND_SLL.json diff --git a/ryu/tests/switch/of14/match/33_IPV6_ND_TLL.json b/os_ken/tests/switch/of14/match/33_IPV6_ND_TLL.json similarity index 100% rename from ryu/tests/switch/of14/match/33_IPV6_ND_TLL.json rename to os_ken/tests/switch/of14/match/33_IPV6_ND_TLL.json diff --git a/ryu/tests/switch/of14/match/34_MPLS_LABEL.json b/os_ken/tests/switch/of14/match/34_MPLS_LABEL.json similarity index 100% rename from ryu/tests/switch/of14/match/34_MPLS_LABEL.json rename to os_ken/tests/switch/of14/match/34_MPLS_LABEL.json diff --git a/ryu/tests/switch/of14/match/35_MPLS_TC.json b/os_ken/tests/switch/of14/match/35_MPLS_TC.json similarity index 100% rename from ryu/tests/switch/of14/match/35_MPLS_TC.json rename to os_ken/tests/switch/of14/match/35_MPLS_TC.json diff --git a/ryu/tests/switch/of14/match/36_MPLS_BOS.json b/os_ken/tests/switch/of14/match/36_MPLS_BOS.json similarity index 100% rename from ryu/tests/switch/of14/match/36_MPLS_BOS.json rename to os_ken/tests/switch/of14/match/36_MPLS_BOS.json diff --git a/ryu/tests/switch/of14/match/37_PBB_ISID.json b/os_ken/tests/switch/of14/match/37_PBB_ISID.json similarity index 100% rename from ryu/tests/switch/of14/match/37_PBB_ISID.json rename to os_ken/tests/switch/of14/match/37_PBB_ISID.json diff --git a/ryu/tests/switch/of14/match/37_PBB_ISID_Mask.json b/os_ken/tests/switch/of14/match/37_PBB_ISID_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/37_PBB_ISID_Mask.json rename to os_ken/tests/switch/of14/match/37_PBB_ISID_Mask.json diff --git a/ryu/tests/switch/of14/match/38_TUNNEL_ID.json b/os_ken/tests/switch/of14/match/38_TUNNEL_ID.json similarity index 100% rename from ryu/tests/switch/of14/match/38_TUNNEL_ID.json rename to os_ken/tests/switch/of14/match/38_TUNNEL_ID.json diff --git a/ryu/tests/switch/of14/match/38_TUNNEL_ID_Mask.json b/os_ken/tests/switch/of14/match/38_TUNNEL_ID_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/38_TUNNEL_ID_Mask.json rename to os_ken/tests/switch/of14/match/38_TUNNEL_ID_Mask.json diff --git a/ryu/tests/switch/of14/match/39_IPV6_EXTHDR.json b/os_ken/tests/switch/of14/match/39_IPV6_EXTHDR.json similarity index 100% rename from ryu/tests/switch/of14/match/39_IPV6_EXTHDR.json rename to os_ken/tests/switch/of14/match/39_IPV6_EXTHDR.json diff --git a/ryu/tests/switch/of14/match/39_IPV6_EXTHDR_Mask.json b/os_ken/tests/switch/of14/match/39_IPV6_EXTHDR_Mask.json similarity index 100% rename from ryu/tests/switch/of14/match/39_IPV6_EXTHDR_Mask.json rename to os_ken/tests/switch/of14/match/39_IPV6_EXTHDR_Mask.json diff --git a/ryu/tests/switch/of14/match/41_PBB_UCA.json b/os_ken/tests/switch/of14/match/41_PBB_UCA.json similarity index 100% rename from ryu/tests/switch/of14/match/41_PBB_UCA.json rename to os_ken/tests/switch/of14/match/41_PBB_UCA.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_00_KBPS_00_1M.json b/os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_00_1M.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_00_KBPS_00_1M.json rename to os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_00_1M.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_00_KBPS_01_10M.json b/os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_01_10M.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_00_KBPS_01_10M.json rename to os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_01_10M.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_00_KBPS_02_100M.json b/os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_02_100M.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_00_KBPS_02_100M.json rename to os_ken/tests/switch/of14/meter/01_DROP_00_KBPS_02_100M.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_00_100.json b/os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_00_100.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_00_100.json rename to os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_00_100.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_01_1000.json b/os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_01_1000.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_01_1000.json rename to os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_01_1000.json diff --git a/ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_02_10000.json b/os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_02_10000.json similarity index 100% rename from ryu/tests/switch/of14/meter/01_DROP_01_PKTPS_02_10000.json rename to os_ken/tests/switch/of14/meter/01_DROP_01_PKTPS_02_10000.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_00_1M.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_00_1M.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_00_1M.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_00_1M.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_01_10M.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_01_10M.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_01_10M.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_01_10M.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_02_100M.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_02_100M.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_02_100M.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_00_KBPS_02_100M.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_00_100.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_00_100.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_00_100.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_00_100.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_01_1000.json diff --git a/ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json b/os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json similarity index 100% rename from ryu/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json rename to os_ken/tests/switch/of14/meter/02_DSCP_REMARK_01_PKTPS_02_10000.json diff --git a/ryu/tests/switch/run_mininet.py b/os_ken/tests/switch/run_mininet.py similarity index 89% rename from ryu/tests/switch/run_mininet.py rename to os_ken/tests/switch/run_mininet.py index 176c6106..8ad5895e 100755 --- a/ryu/tests/switch/run_mininet.py +++ b/os_ken/tests/switch/run_mininet.py @@ -9,8 +9,8 @@ from mininet.node import OVSSwitch from mininet.node import UserSwitch from oslo_config import cfg -from ryu import version -from ryu.ofproto.ofproto_common import OFP_TCP_PORT +from os_ken import version +from os_ken.ofproto.ofproto_common import OFP_TCP_PORT if '__main__' == __name__: @@ -23,7 +23,7 @@ if '__main__' == __name__: ] conf = cfg.ConfigOpts() conf.register_cli_opts(opts) - conf(project='ryu', version='run_mininet.py %s' % version) + conf(project='os_ken', version='run_mininet.py %s' % version) conf(sys.argv[1:]) switch_type = {'ovs': OVSSwitch, 'cpqd': UserSwitch} switch = switch_type.get(conf.switch, None) diff --git a/ryu/tests/switch/tester.py b/os_ken/tests/switch/tester.py similarity index 98% rename from ryu/tests/switch/tester.py rename to os_ken/tests/switch/tester.py index 8ff9e966..ef21be8b 100644 --- a/ryu/tests/switch/tester.py +++ b/os_ken/tests/switch/tester.py @@ -27,34 +27,34 @@ import time import traceback from random import randint -from ryu import cfg -from ryu.base import app_manager -from ryu.controller import handler -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -from ryu.exception import RyuException -from ryu.lib import dpid as dpid_lib -from ryu.lib import hub -from ryu.lib import stringify -from ryu.lib.packet import packet -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_5 +from os_ken import cfg +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +from os_ken.exception import RyuException +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import hub +from os_ken.lib import stringify +from os_ken.lib.packet import packet +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_5 # import all packet libraries. -PKT_LIB_PATH = 'ryu.lib.packet' +PKT_LIB_PATH = 'os_ken.lib.packet' CLSNAME_ALIASES = { - ('ryu.lib.packet.ipv6', 'option'): 'ipv6option', - ('ryu.lib.packet.icmpv6', 'echo'): 'icmpv6echo', - ('ryu.lib.packet.bgp', 'StreamParser'): '', - ('ryu.lib.packet.bgp', 'StringifyMixin'): '', - ('ryu.lib.packet.dhcp', 'option'): 'dhcpoption', - ('ryu.lib.packet.dhcp', 'options'): 'dhcpoptions', - ('ryu.lib.packet.ospf', 'StringifyMixin'): '' + ('os_ken.lib.packet.ipv6', 'option'): 'ipv6option', + ('os_ken.lib.packet.icmpv6', 'echo'): 'icmpv6echo', + ('os_ken.lib.packet.bgp', 'StreamParser'): '', + ('os_ken.lib.packet.bgp', 'StringifyMixin'): '', + ('os_ken.lib.packet.dhcp', 'option'): 'dhcpoption', + ('os_ken.lib.packet.dhcp', 'options'): 'dhcpoptions', + ('os_ken.lib.packet.ospf', 'StringifyMixin'): '' } for modname, moddef in sys.modules.items(): diff --git a/ryu/tests/test_lib.py b/os_ken/tests/test_lib.py similarity index 100% rename from ryu/tests/test_lib.py rename to os_ken/tests/test_lib.py diff --git a/ryu/tests/unit/__init__.py b/os_ken/tests/unit/__init__.py similarity index 71% rename from ryu/tests/unit/__init__.py rename to os_ken/tests/unit/__init__.py index de6e5a33..1e0569ed 100644 --- a/ryu/tests/unit/__init__.py +++ b/os_ken/tests/unit/__init__.py @@ -1,6 +1,6 @@ from __future__ import absolute_import # Note: The following import statement is defined in order to resolve -# the conflict of the module names between 'ryu.lib.ovs' and 'ovs'. +# the conflict of the module names between 'os_ken.lib.ovs' and 'ovs'. # The latter is the official Python package of Open vSwitch. import ovs diff --git a/ryu/tests/switch/__init__.py b/os_ken/tests/unit/app/__init__.py similarity index 100% rename from ryu/tests/switch/__init__.py rename to os_ken/tests/unit/app/__init__.py diff --git a/ryu/tests/unit/app/ofctl_rest_json/of10.json b/os_ken/tests/unit/app/ofctl_rest_json/of10.json similarity index 100% rename from ryu/tests/unit/app/ofctl_rest_json/of10.json rename to os_ken/tests/unit/app/ofctl_rest_json/of10.json diff --git a/ryu/tests/unit/app/ofctl_rest_json/of12.json b/os_ken/tests/unit/app/ofctl_rest_json/of12.json similarity index 100% rename from ryu/tests/unit/app/ofctl_rest_json/of12.json rename to os_ken/tests/unit/app/ofctl_rest_json/of12.json diff --git a/ryu/tests/unit/app/ofctl_rest_json/of13.json b/os_ken/tests/unit/app/ofctl_rest_json/of13.json similarity index 100% rename from ryu/tests/unit/app/ofctl_rest_json/of13.json rename to os_ken/tests/unit/app/ofctl_rest_json/of13.json diff --git a/ryu/tests/unit/app/ofctl_rest_json/of14.json b/os_ken/tests/unit/app/ofctl_rest_json/of14.json similarity index 100% rename from ryu/tests/unit/app/ofctl_rest_json/of14.json rename to os_ken/tests/unit/app/ofctl_rest_json/of14.json diff --git a/ryu/tests/unit/app/ofctl_rest_json/of15.json b/os_ken/tests/unit/app/ofctl_rest_json/of15.json similarity index 100% rename from ryu/tests/unit/app/ofctl_rest_json/of15.json rename to os_ken/tests/unit/app/ofctl_rest_json/of15.json diff --git a/ryu/tests/unit/app/test_ofctl_rest.py b/os_ken/tests/unit/app/test_ofctl_rest.py similarity index 87% rename from ryu/tests/unit/app/test_ofctl_rest.py rename to os_ken/tests/unit/app/test_ofctl_rest.py index 4d09821e..ac2dbd0a 100644 --- a/ryu/tests/unit/app/test_ofctl_rest.py +++ b/os_ken/tests/unit/app/test_ofctl_rest.py @@ -27,17 +27,17 @@ except ImportError: from unittest import mock # Python 3 from nose.tools import eq_ -from ryu.app import ofctl_rest -from ryu.app.wsgi import Request -from ryu.app.wsgi import WSGIApplication -from ryu.controller.dpset import DPSet -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_5 -from ryu.tests import test_lib +from os_ken.app import ofctl_rest +from os_ken.app.wsgi import Request +from os_ken.app.wsgi import WSGIApplication +from os_ken.controller.dpset import DPSet +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_5 +from os_ken.tests import test_lib LOG = logging.getLogger(__name__) @@ -86,8 +86,8 @@ class Test_ofctl_rest(unittest.TestCase): req.body = json.dumps(body).encode('utf-8') req.method = method - with mock.patch('ryu.lib.ofctl_utils.send_stats_request'),\ - mock.patch('ryu.lib.ofctl_utils.send_msg'): + with mock.patch('os_ken.lib.ofctl_utils.send_stats_request'),\ + mock.patch('os_ken.lib.ofctl_utils.send_msg'): res = req.get_response(wsgi) eq_(res.status, '200 OK') diff --git a/ryu/tests/unit/app/test_tester.py b/os_ken/tests/unit/app/test_tester.py similarity index 95% rename from ryu/tests/unit/app/test_tester.py rename to os_ken/tests/unit/app/test_tester.py index 3bba9867..fc7ea791 100644 --- a/ryu/tests/unit/app/test_tester.py +++ b/os_ken/tests/unit/app/test_tester.py @@ -31,10 +31,10 @@ import time import traceback from random import randint -from ryu import cfg +from os_ken import cfg # import all packet libraries. -PKT_LIB_PATH = 'ryu.lib.packet' +PKT_LIB_PATH = 'os_ken.lib.packet' for modname, moddef in sys.modules.items(): if not modname.startswith(PKT_LIB_PATH) or not moddef: continue @@ -43,23 +43,23 @@ for modname, moddef in sys.modules.items(): continue exec('from %s import %s' % (modname, clsname)) -from ryu.base import app_manager -from ryu.controller import handler -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -from ryu.exception import RyuException -from ryu.lib import dpid as dpid_lib -from ryu.lib import hub -from ryu.lib import stringify -from ryu.lib.packet import packet -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ofproto_v1_4 +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +from os_ken.exception import RyuException +from os_ken.lib import dpid as dpid_lib +from os_ken.lib import hub +from os_ken.lib import stringify +from os_ken.lib.packet import packet +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_4 -from ryu.tests.switch.tester import TestPatterns -from ryu.tests.switch.tester import TestFile -from ryu.tests.switch.tester import OfTester +from os_ken.tests.switch.tester import TestPatterns +from os_ken.tests.switch.tester import TestFile +from os_ken.tests.switch.tester import OfTester CONF = cfg.CONF diff --git a/ryu/tests/unit/app/test_ws_topology.py b/os_ken/tests/unit/app/test_ws_topology.py similarity index 96% rename from ryu/tests/unit/app/test_ws_topology.py rename to os_ken/tests/unit/app/test_ws_topology.py index 6078ff7c..568839dc 100644 --- a/ryu/tests/unit/app/test_ws_topology.py +++ b/os_ken/tests/unit/app/test_ws_topology.py @@ -20,7 +20,7 @@ from socket import error as SocketError import mock -from ryu.app.ws_topology import WebSocketTopology +from os_ken.app.ws_topology import WebSocketTopology class Test_ws_topology(unittest.TestCase): diff --git a/ryu/tests/unit/app/test_wsgi.py b/os_ken/tests/unit/app/test_wsgi.py similarity index 94% rename from ryu/tests/unit/app/test_wsgi.py rename to os_ken/tests/unit/app/test_wsgi.py index bec21ddc..c3ffd63e 100644 --- a/ryu/tests/unit/app/test_wsgi.py +++ b/os_ken/tests/unit/app/test_wsgi.py @@ -21,11 +21,11 @@ import logging import nose from nose.tools import eq_ -from ryu.app.wsgi import ControllerBase -from ryu.app.wsgi import WSGIApplication -from ryu.app.wsgi import Response -from ryu.app.wsgi import route -from ryu.lib import dpid as dpidlib +from os_ken.app.wsgi import ControllerBase +from os_ken.app.wsgi import WSGIApplication +from os_ken.app.wsgi import Response +from os_ken.app.wsgi import route +from os_ken.lib import dpid as dpidlib LOG = logging.getLogger('test_wsgi') diff --git a/ryu/tests/unit/cmd/__init__.py b/os_ken/tests/unit/cmd/__init__.py similarity index 100% rename from ryu/tests/unit/cmd/__init__.py rename to os_ken/tests/unit/cmd/__init__.py diff --git a/ryu/tests/unit/cmd/dummy_app.py b/os_ken/tests/unit/cmd/dummy_app.py similarity index 95% rename from ryu/tests/unit/cmd/dummy_app.py rename to os_ken/tests/unit/cmd/dummy_app.py index 6c594298..168d8843 100644 --- a/ryu/tests/unit/cmd/dummy_app.py +++ b/os_ken/tests/unit/cmd/dummy_app.py @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager +from os_ken.base import app_manager class DummyApp(app_manager.RyuApp): diff --git a/ryu/tests/unit/cmd/dummy_openflow_app.py b/os_ken/tests/unit/cmd/dummy_openflow_app.py similarity index 91% rename from ryu/tests/unit/cmd/dummy_openflow_app.py rename to os_ken/tests/unit/cmd/dummy_openflow_app.py index 614febcd..4945c0d9 100644 --- a/ryu/tests/unit/cmd/dummy_openflow_app.py +++ b/os_ken/tests/unit/cmd/dummy_openflow_app.py @@ -14,8 +14,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.ofproto import ofproto_v1_3 +from os_ken.base import app_manager +from os_ken.ofproto import ofproto_v1_3 class DummyOpenFlowApp(app_manager.RyuApp): diff --git a/ryu/tests/unit/cmd/test_manager.py b/os_ken/tests/unit/cmd/test_manager.py similarity index 71% rename from ryu/tests/unit/cmd/test_manager.py rename to os_ken/tests/unit/cmd/test_manager.py index 0f8fb624..c4879ab5 100644 --- a/ryu/tests/unit/cmd/test_manager.py +++ b/os_ken/tests/unit/cmd/test_manager.py @@ -26,11 +26,11 @@ except ImportError: # Python 2 pass -from ryu.cmd.manager import main +from os_ken.cmd.manager import main class Test_Manager(unittest.TestCase): - """Test ryu-manager command + """Test os_ken-manager command """ def __init__(self, methodName): @@ -43,12 +43,12 @@ class Test_Manager(unittest.TestCase): pass @raises(SystemExit) - @mock.patch('sys.argv', new=['ryu-manager', '--version']) + @mock.patch('sys.argv', new=['os_ken-manager', '--version']) def test_version(self): main() @raises(SystemExit) - @mock.patch('sys.argv', new=['ryu-manager', '--help']) + @mock.patch('sys.argv', new=['os_ken-manager', '--help']) def test_help(self): main() @@ -56,21 +56,21 @@ class Test_Manager(unittest.TestCase): def _reset_globals(): # hack to reset globals like SERVICE_BRICKS. # assumption: this is the only test which actually starts RyuApp. - import ryu.base.app_manager - import ryu.ofproto.ofproto_protocol + import os_ken.base.app_manager + import os_ken.ofproto.ofproto_protocol - reload(ryu.base.app_manager) - reload(ryu.ofproto.ofproto_protocol) + reload(os_ken.base.app_manager) + reload(os_ken.ofproto.ofproto_protocol) - @mock.patch('sys.argv', new=['ryu-manager', '--verbose', - 'ryu.tests.unit.cmd.dummy_app']) + @mock.patch('sys.argv', new=['os_ken-manager', '--verbose', + 'os_ken.tests.unit.cmd.dummy_app']) def test_no_services(self): self._reset_globals() main() self._reset_globals() - @mock.patch('sys.argv', new=['ryu-manager', '--verbose', - 'ryu.tests.unit.cmd.dummy_openflow_app']) + @mock.patch('sys.argv', new=['os_ken-manager', '--verbose', + 'os_ken.tests.unit.cmd.dummy_openflow_app']) def test_openflow_app(self): self._reset_globals() main() diff --git a/ryu/tests/unit/app/__init__.py b/os_ken/tests/unit/controller/__init__.py similarity index 100% rename from ryu/tests/unit/app/__init__.py rename to os_ken/tests/unit/controller/__init__.py diff --git a/ryu/tests/unit/controller/test_controller.py b/os_ken/tests/unit/controller/test_controller.py similarity index 92% rename from ryu/tests/unit/controller/test_controller.py rename to os_ken/tests/unit/controller/test_controller.py index a94e7b43..3bc4f5e6 100644 --- a/ryu/tests/unit/controller/test_controller.py +++ b/os_ken/tests/unit/controller/test_controller.py @@ -30,12 +30,12 @@ import unittest from nose.tools import eq_, raises -from ryu.base import app_manager # To suppress cyclic import -from ryu.controller import controller -from ryu.controller import handler -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_0_parser +from os_ken.base import app_manager # To suppress cyclic import +from os_ken.controller import controller +from os_ken.controller import handler +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_0_parser LOG = logging.getLogger('test_controller') @@ -79,7 +79,7 @@ class Test_Datapath(unittest.TestCase): """ def _test_ports_accessibility(self, ofproto_parser, msgs_len): - with mock.patch('ryu.controller.controller.Datapath.set_state'): + with mock.patch('os_ken.controller.controller.Datapath.set_state'): # Ignore warnings with warnings.catch_warnings(record=True) as msgs: @@ -114,7 +114,7 @@ class Test_Datapath(unittest.TestCase): def test_ports_accessibility_v10(self): self._test_ports_accessibility(ofproto_v1_0_parser, 0) - @mock.patch("ryu.base.app_manager", spec=app_manager) + @mock.patch("os_ken.base.app_manager", spec=app_manager) def test_recv_loop(self, app_manager_mock): # Prepare test data test_messages = [ diff --git a/ryu/tests/unit/controller/__init__.py b/os_ken/tests/unit/ofproto/__init__.py similarity index 100% rename from ryu/tests/unit/controller/__init__.py rename to os_ken/tests/unit/ofproto/__init__.py diff --git a/ryu/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json b/os_ken/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json rename to os_ken/tests/unit/ofproto/json/of10/1-1-ofp_packet_out.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of10/1-2-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of10/1-4-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/1-5-features_request.packet.json b/os_ken/tests/unit/ofproto/json/of10/1-5-features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/1-5-features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of10/1-5-features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json b/os_ken/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json rename to os_ken/tests/unit/ofproto/json/of10/1-6-ofp_switch_features.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet.json b/os_ken/tests/unit/ofproto/json/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet.json rename to os_ken/tests/unit/ofproto/json/of10/libofproto-OFP10-ofp_packet_out_packet_library.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_mpls_ttl.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_dec_nw_ttl.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_pop_mpls.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_pop_mpls.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_pop_mpls.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_pop_mpls.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_push_mpls.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_push_mpls.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_push_mpls.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_push_mpls.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_label.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_label.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_label.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_label.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_tc.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_tc.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_tc.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_tc.packet.json diff --git a/ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet.json b/os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet.json rename to os_ken/tests/unit/ofproto/json/of10/ovs-ofctl-of10-action_set_mpls_ttl.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-0-ofp_desc_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-1-ofp_packet_out.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-10-ofp_hello.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-11-ofp_flow_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-12-ofp_flow_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-13-ofp_echo_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-14-ofp_echo_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-15-ofp_error_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-16-ofp_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-17-ofp_barrier_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-18-ofp_barrier_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-19-ofp_role_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-2-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-20-ofp_role_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-21-ofp_group_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-22-ofp_port_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-23-ofp_table_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-24-ofp_desc_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-25-ofp_aggregate_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-26-ofp_aggregate_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-27-ofp_table_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-28-ofp_table_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-29-ofp_port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-3-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-30-ofp_port_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-31-ofp_group_features_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-32-ofp_group_features_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-33-ofp_group_desc_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-34-ofp_group_desc_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-35-ofp_queue_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-36-ofp_queue_get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-37-ofp_queue_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-38-ofp_queue_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-39-ofp_port_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-4-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-40-ofp_flow_removed.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-41-ofp_error_msg_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-5-ofp_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-59-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-59-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-59-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-59-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-6-ofp_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-60-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-60-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-60-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-60-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-61-ofp_group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-61-ofp_group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-61-ofp_group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-61-ofp_group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-62-ofp_group_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-62-ofp_group_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-62-ofp_group_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-62-ofp_group_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-7-ofp_set_config.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-8-ofp_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of12/3-9-ofp_get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json diff --git a/ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json b/os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json rename to os_ken/tests/unit/ofproto/json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json diff --git a/ryu/tests/unit/ofproto/json/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet.json b/os_ken/tests/unit/ofproto/json/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet.json rename to os_ken/tests/unit/ofproto/json/of12/libofproto-OFP12-ofp_packet_out_packet_library.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-0-ofp_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-1-ofp_packet_out.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-10-ofp_hello.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-11-ofp_flow_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-12-ofp_flow_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-13-ofp_echo_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-14-ofp_echo_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-15-ofp_error_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-16-ofp_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-17-ofp_barrier_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-18-ofp_barrier_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-19-ofp_role_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-2-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-20-ofp_role_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-21-ofp_group_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-22-ofp_port_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-23-ofp_table_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-24-ofp_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-25-ofp_aggregate_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-26-ofp_aggregate_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-27-ofp_table_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-28-ofp_table_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-29-ofp_port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-3-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-30-ofp_port_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-31-ofp_group_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-32-ofp_group_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-33-ofp_group_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-34-ofp_group_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-35-ofp_queue_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-36-ofp_queue_get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-37-ofp_queue_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-38-ofp_queue_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-39-ofp_port_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-4-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-40-ofp_flow_removed.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-41-ofp_error_msg_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-41-ofp_error_msg_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-41-ofp_error_msg_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-41-ofp_error_msg_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-42-ofp_get_async_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-43-ofp_get_async_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-44-ofp_set_async.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-45-ofp_meter_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-46-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-47-ofp_meter_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-48-ofp_meter_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-49-ofp_meter_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-5-ofp_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-50-ofp_meter_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-51-ofp_meter_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-52-ofp_meter_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-53-ofp_port_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-54-ofp_port_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-55-ofp_table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-55-ofp_table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-55-ofp_table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-55-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-56-ofp_table_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-57-ofp_group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-57-ofp_group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-57-ofp_group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-57-ofp_group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-58-ofp_group_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-58-ofp_group_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-58-ofp_group_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-58-ofp_group_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-59-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-59-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-59-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-59-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-6-ofp_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-60-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-60-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-60-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-60-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-61-ofp_experimenter_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-61-ofp_experimenter_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-61-ofp_experimenter_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-61-ofp_experimenter_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-62-ofp_experimenter_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-62-ofp_experimenter_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-62-ofp_experimenter_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-62-ofp_experimenter_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-63-onf_flow_monitor_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-63-onf_flow_monitor_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-63-onf_flow_monitor_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-63-onf_flow_monitor_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-7-ofp_set_config.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-8-ofp_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/4-9-ofp_get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_meter_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json diff --git a/ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/lib-ofctl-ofp_table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/lib-ofctl-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_request.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_request.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-echo_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-error_msg.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-error_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-error_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-error_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.truncated64.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.truncated64.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.truncated64.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod.packet.truncated64.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_conjunction.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_conjunction.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_conjunction.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_conjunction.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_mod_match_conj.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_removed.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_removed.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_removed.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-flow_removed.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-hello.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-hello.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-hello.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-hello.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-meter_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-meter_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-meter_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-meter_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-ofp_packet_out_packet_library.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-port_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-port_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-port_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-port_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-port_status.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-port_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-port_status.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-port_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-set_config.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-set_config.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-set_config.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-set_config.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-table_mod.packet.json b/os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-table_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/libofproto-OFP13-table_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of13/libofproto-OFP13-table_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_conjunction.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_conjunction.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_conjunction.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_conjunction.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller2.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller2.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller2.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_controller2.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_clear.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_clear.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_clear.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_clear.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_exec.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat_v6.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat_v6.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat_v6.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_ct_nat_v6.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_dec_ttl_cnt_ids.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_fintimeout.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_fintimeout.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_fintimeout.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_fintimeout.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_learn.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_note.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_note.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_note.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_note.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_output_trunc.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_output_trunc.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_output_trunc.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_output_trunc.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_resubmit.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_resubmit.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_resubmit.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_resubmit.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample2.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample2.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample2.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_sample2.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_pop.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_pop.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_pop.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_pop.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_push.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_push.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_push.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-action_stack_push.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_conj.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_conj.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_conj.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_conj.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_load_nx_register.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_load_nx_register.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_load_nx_register.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_load_nx_register.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_move_nx_register.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_move_nx_register.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_move_nx_register.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_move_nx_register.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark.packet.json diff --git a/ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet.json b/os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet.json rename to os_ken/tests/unit/ofproto/json/of13/ovs-ofctl-of13-match_pkt_mark_masked.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-0-ofp_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-1-ofp_packet_out.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-10-ofp_hello.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-11-ofp_flow_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-12-ofp_flow_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-13-ofp_echo_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-14-ofp_echo_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-15-ofp_error_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-16-ofp_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-17-ofp_barrier_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-18-ofp_barrier_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-19-ofp_role_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-2-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-20-ofp_role_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-21-ofp_group_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-22-ofp_port_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-23-ofp_table_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-24-ofp_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-25-ofp_aggregate_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-26-ofp_aggregate_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-27-ofp_table_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-28-ofp_table_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-29-ofp_port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-3-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-30-ofp_port_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-31-ofp_group_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-32-ofp_group_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-33-ofp_group_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-34-ofp_group_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-35-ofp_queue_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-36-ofp_queue_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-37-ofp_port_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-38-ofp_flow_removed.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-39-ofp_error_msg_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-39-ofp_error_msg_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-39-ofp_error_msg_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-39-ofp_error_msg_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-4-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-40-ofp_get_async_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-41-ofp_get_async_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-42-ofp_set_async.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-43-ofp_meter_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-44-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-45-ofp_meter_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-46-ofp_meter_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-47-ofp_meter_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-48-ofp_meter_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-49-ofp_meter_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-5-ofp_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-50-ofp_meter_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-51-ofp_port_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-52-ofp_port_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-53-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-54-ofp_table_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-55-ofp_group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-56-ofp_group_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-57-ofp_packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-58-ofp_flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-59-ofp_experimenter_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-6-ofp_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-60-ofp_experimenter_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-61-ofp_table_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-62-ofp_table_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-63-ofp_queue_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-64-ofp_queue_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-65-ofp_role_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-66-ofp_flow_monitor_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-67-ofp_flow_monitor_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-68-ofp_table_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-69-ofp_bundle_ctrl_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-7-ofp_set_config.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-70-ofp_bundle_add_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-71-ofp_requestforward.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-8-ofp_get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of14/5-9-ofp_get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of14/lib-ofctl-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet.json b/os_ken/tests/unit/ofproto/json/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet.json rename to os_ken/tests/unit/ofproto/json/of14/libofproto-OFP14-ofp_packet_out_packet_library.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/lib-ofctl-OFP15-flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/lib-ofctl-ofp_queue_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/lib-ofctl-ofp_queue_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/lib-ofctl-ofp_queue_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/lib-ofctl-ofp_queue_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/lib-ofctl-ofp_table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/lib-ofctl-ofp_table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/lib-ofctl-ofp_table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/lib-ofctl-ofp_table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-aggregate_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-barrier_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_add.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_ctrl.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-bundle_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-controller_status_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-echo_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-error_msg_experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-experimenter_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_conjunction.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_match_conj.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_monitor_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_removed.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-flow_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_async_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-get_config_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-group_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-hello.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-meter_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_in.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-packet_out.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-port_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-queue_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-requestforward.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-role_status.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_async.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-set_config.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_desc_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_features_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_mod.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_reply.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_stats_request.packet.json diff --git a/ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json b/os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json similarity index 100% rename from ryu/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json rename to os_ken/tests/unit/ofproto/json/of15/libofproto-OFP15-table_status.packet.json diff --git a/ryu/tests/unit/ofproto/test_ether.py b/os_ken/tests/unit/ofproto/test_ether.py similarity index 96% rename from ryu/tests/unit/ofproto/test_ether.py rename to os_ken/tests/unit/ofproto/test_ether.py index dead1a43..4dd2675b 100644 --- a/ryu/tests/unit/ofproto/test_ether.py +++ b/os_ken/tests/unit/ofproto/test_ether.py @@ -18,7 +18,7 @@ import unittest import logging from nose.tools import eq_ -from ryu.ofproto.ether import * +from os_ken.ofproto.ether import * LOG = logging.getLogger('test_ether') diff --git a/ryu/tests/unit/ofproto/test_inet.py b/os_ken/tests/unit/ofproto/test_inet.py similarity index 97% rename from ryu/tests/unit/ofproto/test_inet.py rename to os_ken/tests/unit/ofproto/test_inet.py index 92a82ac4..f38d35d3 100644 --- a/ryu/tests/unit/ofproto/test_inet.py +++ b/os_ken/tests/unit/ofproto/test_inet.py @@ -18,7 +18,7 @@ import unittest import logging from nose.tools import eq_ -from ryu.ofproto.inet import * +from os_ken.ofproto.inet import * LOG = logging.getLogger('test_inet') diff --git a/ryu/tests/unit/ofproto/test_nx_flow_spec.py b/os_ken/tests/unit/ofproto/test_nx_flow_spec.py similarity index 98% rename from ryu/tests/unit/ofproto/test_nx_flow_spec.py rename to os_ken/tests/unit/ofproto/test_nx_flow_spec.py index e0bf6b4e..e5bad7dc 100644 --- a/ryu/tests/unit/ofproto/test_nx_flow_spec.py +++ b/os_ken/tests/unit/ofproto/test_nx_flow_spec.py @@ -16,7 +16,7 @@ import unittest -import ryu.ofproto.ofproto_v1_3_parser as ofpp +import os_ken.ofproto.ofproto_v1_3_parser as ofpp class Test_FlowSpec(unittest.TestCase): diff --git a/os_ken/tests/unit/ofproto/test_ofproto.py b/os_ken/tests/unit/ofproto/test_ofproto.py new file mode 100644 index 00000000..2272d604 --- /dev/null +++ b/os_ken/tests/unit/ofproto/test_ofproto.py @@ -0,0 +1,81 @@ +# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. +# Copyright (C) 2013 Isaku Yamahata +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +try: + # Python 3 + from imp import reload +except ImportError: + # Python 2 + pass + +import unittest +import logging +from nose.tools import eq_ + + +LOG = logging.getLogger('test_ofproto') + + +class TestOfprotCommon(unittest.TestCase): + """ Test case for ofproto + """ + + def test_ofp_event(self): + import os_ken.ofproto + reload(os_ken.ofproto) + import os_ken.controller.ofp_event + reload(os_ken.controller.ofp_event) + + def test_ofproto(self): + # When new version of OFP support is added, + # this test must be updated. + import os_ken.ofproto + reload(os_ken.ofproto) + ofp_modules = os_ken.ofproto.get_ofp_modules() + + import os_ken.ofproto.ofproto_v1_0 + import os_ken.ofproto.ofproto_v1_2 + import os_ken.ofproto.ofproto_v1_3 + import os_ken.ofproto.ofproto_v1_4 + import os_ken.ofproto.ofproto_v1_5 + eq_(set(ofp_modules.keys()), set([os_ken.ofproto.ofproto_v1_0.OFP_VERSION, + os_ken.ofproto.ofproto_v1_2.OFP_VERSION, + os_ken.ofproto.ofproto_v1_3.OFP_VERSION, + os_ken.ofproto.ofproto_v1_4.OFP_VERSION, + os_ken.ofproto.ofproto_v1_5.OFP_VERSION, + ])) + consts_mods = set([ofp_mod[0] for ofp_mod in ofp_modules.values()]) + eq_(consts_mods, set([os_ken.ofproto.ofproto_v1_0, + os_ken.ofproto.ofproto_v1_2, + os_ken.ofproto.ofproto_v1_3, + os_ken.ofproto.ofproto_v1_4, + os_ken.ofproto.ofproto_v1_5, + ])) + + parser_mods = set([ofp_mod[1] for ofp_mod in ofp_modules.values()]) + import os_ken.ofproto.ofproto_v1_0_parser + import os_ken.ofproto.ofproto_v1_2_parser + import os_ken.ofproto.ofproto_v1_3_parser + import os_ken.ofproto.ofproto_v1_4_parser + import os_ken.ofproto.ofproto_v1_5_parser + eq_(parser_mods, set([os_ken.ofproto.ofproto_v1_0_parser, + os_ken.ofproto.ofproto_v1_2_parser, + os_ken.ofproto.ofproto_v1_3_parser, + os_ken.ofproto.ofproto_v1_4_parser, + os_ken.ofproto.ofproto_v1_5_parser, + ])) diff --git a/ryu/tests/unit/ofproto/test_ofproto_common.py b/os_ken/tests/unit/ofproto/test_ofproto_common.py similarity index 96% rename from ryu/tests/unit/ofproto/test_ofproto_common.py rename to os_ken/tests/unit/ofproto/test_ofproto_common.py index 6a63236e..3eafb777 100644 --- a/ryu/tests/unit/ofproto/test_ofproto_common.py +++ b/os_ken/tests/unit/ofproto/test_ofproto_common.py @@ -18,7 +18,7 @@ import unittest import logging from nose.tools import eq_ -from ryu.ofproto.ofproto_common import * +from os_ken.ofproto.ofproto_common import * LOG = logging.getLogger('test_ofproto_common') diff --git a/ryu/tests/unit/ofproto/test_ofproto_parser.py b/os_ken/tests/unit/ofproto/test_ofproto_parser.py similarity index 97% rename from ryu/tests/unit/ofproto/test_ofproto_parser.py rename to os_ken/tests/unit/ofproto/test_ofproto_parser.py index bc3c1fd1..570c43d9 100644 --- a/ryu/tests/unit/ofproto/test_ofproto_parser.py +++ b/os_ken/tests/unit/ofproto/test_ofproto_parser.py @@ -21,10 +21,10 @@ import binascii import unittest from nose.tools import * import struct -from ryu import exception +from os_ken import exception -from ryu.ofproto import ofproto_common, ofproto_parser -from ryu.ofproto import ofproto_v1_0, ofproto_v1_0_parser +from os_ken.ofproto import ofproto_common, ofproto_parser +from os_ken.ofproto import ofproto_v1_0, ofproto_v1_0_parser import logging LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/ofproto/test_ofproto_v12.py b/os_ken/tests/unit/ofproto/test_ofproto_v12.py similarity index 99% rename from ryu/tests/unit/ofproto/test_ofproto_v12.py rename to os_ken/tests/unit/ofproto/test_ofproto_v12.py index c1228a05..25fbc8ab 100644 --- a/ryu/tests/unit/ofproto/test_ofproto_v12.py +++ b/os_ken/tests/unit/ofproto/test_ofproto_v12.py @@ -18,7 +18,7 @@ import unittest import logging from nose.tools import eq_ -from ryu.ofproto.ofproto_v1_2 import * +from os_ken.ofproto.ofproto_v1_2 import * LOG = logging.getLogger('test_ofproto_v12') diff --git a/ryu/tests/unit/ofproto/test_oxm.py b/os_ken/tests/unit/ofproto/test_oxm.py similarity index 99% rename from ryu/tests/unit/ofproto/test_oxm.py rename to os_ken/tests/unit/ofproto/test_oxm.py index ffb762fc..3a58ac9d 100644 --- a/ryu/tests/unit/ofproto/test_oxm.py +++ b/os_ken/tests/unit/ofproto/test_oxm.py @@ -16,7 +16,7 @@ import unittest -import ryu.ofproto.ofproto_v1_3 as ofp +import os_ken.ofproto.ofproto_v1_3 as ofp class Test_OXM(unittest.TestCase): diff --git a/ryu/tests/unit/ofproto/test_oxs.py b/os_ken/tests/unit/ofproto/test_oxs.py similarity index 98% rename from ryu/tests/unit/ofproto/test_oxs.py rename to os_ken/tests/unit/ofproto/test_oxs.py index 289731f0..c9767907 100644 --- a/ryu/tests/unit/ofproto/test_oxs.py +++ b/os_ken/tests/unit/ofproto/test_oxs.py @@ -16,7 +16,7 @@ import logging import unittest -import ryu.ofproto.ofproto_v1_5 as ofp +import os_ken.ofproto.ofproto_v1_5 as ofp LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/ofproto/test_parser.py b/os_ken/tests/unit/ofproto/test_parser.py similarity index 96% rename from ryu/tests/unit/ofproto/test_parser.py rename to os_ken/tests/unit/ofproto/test_parser.py index 817ebc3c..51aa2131 100644 --- a/ryu/tests/unit/ofproto/test_parser.py +++ b/os_ken/tests/unit/ofproto/test_parser.py @@ -21,15 +21,15 @@ import sys import unittest from nose.tools import eq_ -from ryu.ofproto import ofproto_parser -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_5 -from ryu.tests import test_lib -from ryu import exception +from os_ken.ofproto import ofproto_parser +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_5 +from os_ken.tests import test_lib +from os_ken import exception import json @@ -156,7 +156,7 @@ implemented = { class Test_Parser(unittest.TestCase): - """ Test case for ryu.ofproto, especially json representation + """ Test case for os_ken.ofproto, especially json representation """ def __init__(self, methodName): diff --git a/ryu/tests/unit/ofproto/test_parser_compat.py b/os_ken/tests/unit/ofproto/test_parser_compat.py similarity index 95% rename from ryu/tests/unit/ofproto/test_parser_compat.py rename to os_ken/tests/unit/ofproto/test_parser_compat.py index f94c8194..b7e0a1e5 100644 --- a/ryu/tests/unit/ofproto/test_parser_compat.py +++ b/os_ken/tests/unit/ofproto/test_parser_compat.py @@ -22,13 +22,13 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_3_parser -from ryu.lib import addrconv -from ryu.tests import test_lib +from os_ken.lib import addrconv +from os_ken.tests import test_lib from struct import unpack diff --git a/ryu/tests/unit/ofproto/test_parser_ofpmatch.py b/os_ken/tests/unit/ofproto/test_parser_ofpmatch.py similarity index 95% rename from ryu/tests/unit/ofproto/test_parser_ofpmatch.py rename to os_ken/tests/unit/ofproto/test_parser_ofpmatch.py index bafcc2a9..13520fdf 100644 --- a/ryu/tests/unit/ofproto/test_parser_ofpmatch.py +++ b/os_ken/tests/unit/ofproto/test_parser_ofpmatch.py @@ -28,15 +28,15 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 -from ryu.ofproto import ofproto_v1_5 -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ofproto_v1_4_parser -from ryu.ofproto import ofproto_v1_5_parser -from ryu.tests import test_lib +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 +from os_ken.ofproto import ofproto_v1_5 +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_4_parser +from os_ken.ofproto import ofproto_v1_5_parser +from os_ken.tests import test_lib class Test_Parser_OFPMatch(unittest.TestCase): diff --git a/ryu/tests/unit/ofproto/test_parser_ofpstats.py b/os_ken/tests/unit/ofproto/test_parser_ofpstats.py similarity index 98% rename from ryu/tests/unit/ofproto/test_parser_ofpstats.py rename to os_ken/tests/unit/ofproto/test_parser_ofpstats.py index b14bb9de..93518cbd 100644 --- a/ryu/tests/unit/ofproto/test_parser_ofpstats.py +++ b/os_ken/tests/unit/ofproto/test_parser_ofpstats.py @@ -26,9 +26,9 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.ofproto import ofproto_v1_5 -from ryu.ofproto import ofproto_v1_5_parser -from ryu.tests import test_lib +from os_ken.ofproto import ofproto_v1_5 +from os_ken.ofproto import ofproto_v1_5_parser +from os_ken.tests import test_lib class Test_Parser_OFPStats(unittest.TestCase): diff --git a/ryu/tests/unit/ofproto/test_parser_v10.py b/os_ken/tests/unit/ofproto/test_parser_v10.py similarity index 99% rename from ryu/tests/unit/ofproto/test_parser_v10.py rename to os_ken/tests/unit/ofproto/test_parser_v10.py index eefb65f2..ed956984 100644 --- a/ryu/tests/unit/ofproto/test_parser_v10.py +++ b/os_ken/tests/unit/ofproto/test_parser_v10.py @@ -19,10 +19,10 @@ import unittest import logging import six from nose.tools import * -from ryu.ofproto.ofproto_v1_0_parser import * -from ryu.ofproto.nx_actions import * -from ryu.ofproto import ofproto_v1_0_parser -from ryu.lib import addrconv +from os_ken.ofproto.ofproto_v1_0_parser import * +from os_ken.ofproto.nx_actions import * +from os_ken.ofproto import ofproto_v1_0_parser +from os_ken.lib import addrconv LOG = logging.getLogger('test_ofproto_v10') diff --git a/ryu/tests/unit/ofproto/test_parser_v12.py b/os_ken/tests/unit/ofproto/test_parser_v12.py similarity index 99% rename from ryu/tests/unit/ofproto/test_parser_v12.py rename to os_ken/tests/unit/ofproto/test_parser_v12.py index 73b034b2..5fd2e267 100644 --- a/ryu/tests/unit/ofproto/test_parser_v12.py +++ b/os_ken/tests/unit/ofproto/test_parser_v12.py @@ -21,15 +21,15 @@ import six import socket from struct import * from nose.tools import * -from ryu.ofproto.ofproto_v1_2_parser import * -from ryu.ofproto import ofproto_v1_2_parser -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ether -from ryu.ofproto.ofproto_parser import MsgBase -from ryu import utils -from ryu.lib import addrconv -from ryu.lib import pack_utils +from os_ken.ofproto.ofproto_v1_2_parser import * +from os_ken.ofproto import ofproto_v1_2_parser +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ether +from os_ken.ofproto.ofproto_parser import MsgBase +from os_ken import utils +from os_ken.lib import addrconv +from os_ken.lib import pack_utils LOG = logging.getLogger('test_ofproto_v12') diff --git a/ryu/tests/unit/ofproto/test_parser_v13.py b/os_ken/tests/unit/ofproto/test_parser_v13.py similarity index 93% rename from ryu/tests/unit/ofproto/test_parser_v13.py rename to os_ken/tests/unit/ofproto/test_parser_v13.py index 265b28e4..90804ea2 100644 --- a/ryu/tests/unit/ofproto/test_parser_v13.py +++ b/os_ken/tests/unit/ofproto/test_parser_v13.py @@ -21,14 +21,14 @@ import six import socket from struct import * from nose.tools import * -from ryu.ofproto.ofproto_v1_3_parser import * -from ryu.ofproto import ofproto_v1_3_parser -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import ether -from ryu.ofproto.ofproto_parser import MsgBase -from ryu import utils -from ryu.lib import addrconv +from os_ken.ofproto.ofproto_v1_3_parser import * +from os_ken.ofproto import ofproto_v1_3_parser +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_protocol +from os_ken.ofproto import ether +from os_ken.ofproto.ofproto_parser import MsgBase +from os_ken import utils +from os_ken.lib import addrconv LOG = logging.getLogger('test_ofproto_v13') diff --git a/ryu/tests/unit/lib/__init__.py b/os_ken/tests/unit/packet/__init__.py similarity index 100% rename from ryu/tests/unit/lib/__init__.py rename to os_ken/tests/unit/packet/__init__.py diff --git a/ryu/tests/unit/packet/test_arp.py b/os_ken/tests/unit/packet/test_arp.py similarity index 95% rename from ryu/tests/unit/packet/test_arp.py rename to os_ken/tests/unit/packet/test_arp.py index 40e28131..d8e44f0a 100644 --- a/ryu/tests/unit/packet/test_arp.py +++ b/os_ken/tests/unit/packet/test_arp.py @@ -20,12 +20,12 @@ import logging import struct from struct import * from nose.tools import * -from ryu.ofproto import ether -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.arp import arp -from ryu.lib.packet.vlan import vlan -from ryu.lib import addrconv +from os_ken.ofproto import ether +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.arp import arp +from os_ken.lib.packet.vlan import vlan +from os_ken.lib import addrconv LOG = logging.getLogger('test_arp') diff --git a/ryu/tests/unit/packet/test_bfd.py b/os_ken/tests/unit/packet/test_bfd.py similarity index 97% rename from ryu/tests/unit/packet/test_bfd.py rename to os_ken/tests/unit/packet/test_bfd.py index d33949cc..bac0fb96 100644 --- a/ryu/tests/unit/packet/test_bfd.py +++ b/os_ken/tests/unit/packet/test_bfd.py @@ -19,14 +19,14 @@ import struct import inspect from nose.tools import ok_, eq_, nottest -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import udp -from ryu.lib.packet import bfd -from ryu.lib import addrconv +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import udp +from os_ken.lib.packet import bfd +from os_ken.lib import addrconv LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_bgp.py b/os_ken/tests/unit/packet/test_bgp.py similarity index 99% rename from ryu/tests/unit/packet/test_bgp.py rename to os_ken/tests/unit/packet/test_bgp.py index 2211fc4c..0ff07867 100644 --- a/ryu/tests/unit/packet/test_bgp.py +++ b/os_ken/tests/unit/packet/test_bgp.py @@ -24,12 +24,12 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.utils import binary_str -from ryu.lib import pcaplib -from ryu.lib.packet import packet -from ryu.lib.packet import bgp -from ryu.lib.packet import afi -from ryu.lib.packet import safi +from os_ken.utils import binary_str +from os_ken.lib import pcaplib +from os_ken.lib.packet import packet +from os_ken.lib.packet import bgp +from os_ken.lib.packet import afi +from os_ken.lib.packet import safi LOG = logging.getLogger(__name__) @@ -139,7 +139,7 @@ RULES_L2VPN_BASE = [ class Test_bgp(unittest.TestCase): - """ Test case for ryu.lib.packet.bgp + """ Test case for os_ken.lib.packet.bgp """ def setUp(self): diff --git a/ryu/tests/unit/packet/test_bmp.py b/os_ken/tests/unit/packet/test_bmp.py similarity index 97% rename from ryu/tests/unit/packet/test_bmp.py rename to os_ken/tests/unit/packet/test_bmp.py index f93b8014..ce4b164e 100644 --- a/ryu/tests/unit/packet/test_bmp.py +++ b/os_ken/tests/unit/packet/test_bmp.py @@ -18,14 +18,14 @@ from nose.tools import eq_ from nose.tools import ok_ from time import time -from ryu.lib.packet import bmp -from ryu.lib.packet import bgp -from ryu.lib.packet import afi -from ryu.lib.packet import safi +from os_ken.lib.packet import bmp +from os_ken.lib.packet import bgp +from os_ken.lib.packet import afi +from os_ken.lib.packet import safi class Test_bmp(unittest.TestCase): - """ Test case for ryu.lib.packet.bmp + """ Test case for os_ken.lib.packet.bmp """ def setUp(self): diff --git a/ryu/tests/unit/packet/test_bpdu.py b/os_ken/tests/unit/packet/test_bpdu.py similarity index 99% rename from ryu/tests/unit/packet/test_bpdu.py rename to os_ken/tests/unit/packet/test_bpdu.py index 1ef8cf58..1daf70db 100644 --- a/ryu/tests/unit/packet/test_bpdu.py +++ b/os_ken/tests/unit/packet/test_bpdu.py @@ -20,7 +20,7 @@ import logging import struct from nose.tools import eq_ -from ryu.lib.packet import bpdu +from os_ken.lib.packet import bpdu LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_cfm.py b/os_ken/tests/unit/packet/test_cfm.py similarity index 99% rename from ryu/tests/unit/packet/test_cfm.py rename to os_ken/tests/unit/packet/test_cfm.py index 8b56e2df..ffc11d9b 100644 --- a/ryu/tests/unit/packet/test_cfm.py +++ b/os_ken/tests/unit/packet/test_cfm.py @@ -21,8 +21,8 @@ import six import struct from nose.tools import * -from ryu.lib import addrconv -from ryu.lib.packet import cfm +from os_ken.lib import addrconv +from os_ken.lib.packet import cfm LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_dhcp.py b/os_ken/tests/unit/packet/test_dhcp.py similarity index 99% rename from ryu/tests/unit/packet/test_dhcp.py rename to os_ken/tests/unit/packet/test_dhcp.py index cc96804b..e5d53bac 100644 --- a/ryu/tests/unit/packet/test_dhcp.py +++ b/os_ken/tests/unit/packet/test_dhcp.py @@ -23,8 +23,8 @@ import six from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib import addrconv -from ryu.lib.packet import dhcp +from os_ken.lib import addrconv +from os_ken.lib.packet import dhcp LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_ethernet.py b/os_ken/tests/unit/packet/test_ethernet.py similarity index 93% rename from ryu/tests/unit/packet/test_ethernet.py rename to os_ken/tests/unit/packet/test_ethernet.py index 6fd767bd..efda43e6 100644 --- a/ryu/tests/unit/packet/test_ethernet.py +++ b/os_ken/tests/unit/packet/test_ethernet.py @@ -22,11 +22,11 @@ import struct import netaddr from struct import * from nose.tools import * -from ryu.ofproto import ether, inet -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.arp import arp -from ryu.lib import addrconv +from os_ken.ofproto import ether, inet +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.arp import arp +from os_ken.lib import addrconv LOG = logging.getLogger('test_ethernet') diff --git a/ryu/tests/unit/packet/test_geneve.py b/os_ken/tests/unit/packet/test_geneve.py similarity index 90% rename from ryu/tests/unit/packet/test_geneve.py rename to os_ken/tests/unit/packet/test_geneve.py index 919d05f8..3ce65d71 100644 --- a/ryu/tests/unit/packet/test_geneve.py +++ b/os_ken/tests/unit/packet/test_geneve.py @@ -23,10 +23,10 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib import pcaplib -from ryu.lib.packet import geneve -from ryu.lib.packet import packet -from ryu.utils import binary_str +from os_ken.lib import pcaplib +from os_ken.lib.packet import geneve +from os_ken.lib.packet import packet +from os_ken.utils import binary_str LOG = logging.getLogger(__name__) @@ -38,7 +38,7 @@ GENEVE_DATA_DIR = os.path.join( class Test_geneve(unittest.TestCase): """ - Test case for ryu.lib.packet.geneve. + Test case for os_ken.lib.packet.geneve. """ def test_parser(self): diff --git a/ryu/tests/unit/packet/test_gre.py b/os_ken/tests/unit/packet/test_gre.py similarity index 92% rename from ryu/tests/unit/packet/test_gre.py rename to os_ken/tests/unit/packet/test_gre.py index c955ec70..cb01d839 100644 --- a/ryu/tests/unit/packet/test_gre.py +++ b/os_ken/tests/unit/packet/test_gre.py @@ -23,11 +23,11 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib import pcaplib -from ryu.lib.packet import gre -from ryu.lib.packet import packet -from ryu.utils import binary_str -from ryu.lib.packet.ether_types import ETH_TYPE_IP, ETH_TYPE_TEB +from os_ken.lib import pcaplib +from os_ken.lib.packet import gre +from os_ken.lib.packet import packet +from os_ken.utils import binary_str +from os_ken.lib.packet.ether_types import ETH_TYPE_IP, ETH_TYPE_TEB LOG = logging.getLogger(__name__) @@ -38,7 +38,7 @@ GENEVE_DATA_DIR = os.path.join( class Test_gre(unittest.TestCase): """ - Test case gre for ryu.lib.packet.gre. + Test case gre for os_ken.lib.packet.gre. """ version = 0 diff --git a/ryu/tests/unit/packet/test_icmp.py b/os_ken/tests/unit/packet/test_icmp.py similarity index 99% rename from ryu/tests/unit/packet/test_icmp.py rename to os_ken/tests/unit/packet/test_icmp.py index ca96b262..15822a11 100644 --- a/ryu/tests/unit/packet/test_icmp.py +++ b/os_ken/tests/unit/packet/test_icmp.py @@ -21,8 +21,8 @@ import struct import unittest from nose.tools import eq_ -from ryu.lib.packet import icmp -from ryu.lib.packet import packet_utils +from os_ken.lib.packet import icmp +from os_ken.lib.packet import packet_utils LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_icmpv6.py b/os_ken/tests/unit/packet/test_icmpv6.py similarity index 99% rename from ryu/tests/unit/packet/test_icmpv6.py rename to os_ken/tests/unit/packet/test_icmpv6.py index 3965b087..22a0db11 100644 --- a/ryu/tests/unit/packet/test_icmpv6.py +++ b/os_ken/tests/unit/packet/test_icmpv6.py @@ -22,13 +22,13 @@ import struct import inspect from nose.tools import ok_, eq_, nottest, raises -from ryu.ofproto import ether, inet -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet import icmpv6 -from ryu.lib.packet.ipv6 import ipv6 -from ryu.lib.packet import packet_utils -from ryu.lib import addrconv +from os_ken.ofproto import ether, inet +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet import icmpv6 +from os_ken.lib.packet.ipv6 import ipv6 +from os_ken.lib.packet import packet_utils +from os_ken.lib import addrconv LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_igmp.py b/os_ken/tests/unit/packet/test_igmp.py similarity index 98% rename from ryu/tests/unit/packet/test_igmp.py rename to os_ken/tests/unit/packet/test_igmp.py index a29ddafe..76549b96 100644 --- a/ryu/tests/unit/packet/test_igmp.py +++ b/os_ken/tests/unit/packet/test_igmp.py @@ -22,20 +22,20 @@ import six from struct import pack, unpack_from, pack_into from nose.tools import ok_, eq_, raises -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.ipv4 import ipv4 -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.packet_utils import checksum -from ryu.lib import addrconv -from ryu.lib.packet.igmp import igmp -from ryu.lib.packet.igmp import igmpv3_query -from ryu.lib.packet.igmp import igmpv3_report -from ryu.lib.packet.igmp import igmpv3_report_group -from ryu.lib.packet.igmp import IGMP_TYPE_QUERY -from ryu.lib.packet.igmp import IGMP_TYPE_REPORT_V3 -from ryu.lib.packet.igmp import MODE_IS_INCLUDE +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.ipv4 import ipv4 +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.packet_utils import checksum +from os_ken.lib import addrconv +from os_ken.lib.packet.igmp import igmp +from os_ken.lib.packet.igmp import igmpv3_query +from os_ken.lib.packet.igmp import igmpv3_report +from os_ken.lib.packet.igmp import igmpv3_report_group +from os_ken.lib.packet.igmp import IGMP_TYPE_QUERY +from os_ken.lib.packet.igmp import IGMP_TYPE_REPORT_V3 +from os_ken.lib.packet.igmp import MODE_IS_INCLUDE LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_ipv4.py b/os_ken/tests/unit/packet/test_ipv4.py similarity index 93% rename from ryu/tests/unit/packet/test_ipv4.py rename to os_ken/tests/unit/packet/test_ipv4.py index 69186f3f..2e0e0778 100644 --- a/ryu/tests/unit/packet/test_ipv4.py +++ b/os_ken/tests/unit/packet/test_ipv4.py @@ -21,13 +21,13 @@ import six import struct from struct import * from nose.tools import * -from ryu.ofproto import ether, inet -from ryu.lib.packet import packet_utils -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.ipv4 import ipv4 -from ryu.lib.packet.tcp import tcp -from ryu.lib import addrconv +from os_ken.ofproto import ether, inet +from os_ken.lib.packet import packet_utils +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.ipv4 import ipv4 +from os_ken.lib.packet.tcp import tcp +from os_ken.lib import addrconv LOG = logging.getLogger('test_ipv4') diff --git a/ryu/tests/unit/packet/test_ipv6.py b/os_ken/tests/unit/packet/test_ipv6.py similarity index 99% rename from ryu/tests/unit/packet/test_ipv6.py rename to os_ken/tests/unit/packet/test_ipv6.py index ac648dfa..7ace853f 100644 --- a/ryu/tests/unit/packet/test_ipv6.py +++ b/os_ken/tests/unit/packet/test_ipv6.py @@ -21,9 +21,9 @@ import six import struct from nose.tools import * -from ryu.lib import addrconv -from ryu.lib import ip -from ryu.lib.packet import ipv6 +from os_ken.lib import addrconv +from os_ken.lib import ip +from os_ken.lib.packet import ipv6 LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_llc.py b/os_ken/tests/unit/packet/test_llc.py similarity index 97% rename from ryu/tests/unit/packet/test_llc.py rename to os_ken/tests/unit/packet/test_llc.py index 05894ab7..6c6a29fc 100644 --- a/ryu/tests/unit/packet/test_llc.py +++ b/os_ken/tests/unit/packet/test_llc.py @@ -19,7 +19,7 @@ import unittest import logging from nose.tools import eq_ -from ryu.lib.packet import llc +from os_ken.lib.packet import llc LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_lldp.py b/os_ken/tests/unit/packet/test_lldp.py similarity index 99% rename from ryu/tests/unit/packet/test_lldp.py rename to os_ken/tests/unit/packet/test_lldp.py index 35c4f58e..2d17de7a 100644 --- a/ryu/tests/unit/packet/test_lldp.py +++ b/os_ken/tests/unit/packet/test_lldp.py @@ -22,11 +22,11 @@ import struct import inspect from nose.tools import ok_, eq_, nottest -from ryu.ofproto import ether -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import lldp -from ryu.lib import addrconv +from os_ken.ofproto import ether +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import lldp +from os_ken.lib import addrconv LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_mpls.py b/os_ken/tests/unit/packet/test_mpls.py similarity index 98% rename from ryu/tests/unit/packet/test_mpls.py rename to os_ken/tests/unit/packet/test_mpls.py index e3f9bccf..3cbc1693 100644 --- a/ryu/tests/unit/packet/test_mpls.py +++ b/os_ken/tests/unit/packet/test_mpls.py @@ -19,7 +19,7 @@ import logging import inspect from nose.tools import eq_ -from ryu.lib.packet import mpls +from os_ken.lib.packet import mpls LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_openflow.py b/os_ken/tests/unit/packet/test_openflow.py similarity index 90% rename from ryu/tests/unit/packet/test_openflow.py rename to os_ken/tests/unit/packet/test_openflow.py index b0dca25f..fa30254f 100644 --- a/ryu/tests/unit/packet/test_openflow.py +++ b/os_ken/tests/unit/packet/test_openflow.py @@ -23,10 +23,10 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib import pcaplib -from ryu.lib.packet import openflow -from ryu.lib.packet import packet -from ryu.utils import binary_str +from os_ken.lib import pcaplib +from os_ken.lib.packet import openflow +from os_ken.lib.packet import packet +from os_ken.utils import binary_str LOG = logging.getLogger(__name__) @@ -38,7 +38,7 @@ OPENFLOW_DATA_DIR = os.path.join( class Test_openflow(unittest.TestCase): """ - Test case for ryu.lib.packet.openflow. + Test case for os_ken.lib.packet.openflow. """ def test_pcap(self): diff --git a/ryu/tests/unit/packet/test_ospf.py b/os_ken/tests/unit/packet/test_ospf.py similarity index 98% rename from ryu/tests/unit/packet/test_ospf.py rename to os_ken/tests/unit/packet/test_ospf.py index d0f8bc37..ee2a7293 100644 --- a/ryu/tests/unit/packet/test_ospf.py +++ b/os_ken/tests/unit/packet/test_ospf.py @@ -17,11 +17,11 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib.packet import ospf +from os_ken.lib.packet import ospf class Test_ospf(unittest.TestCase): - """ Test case for ryu.lib.packet.ospf + """ Test case for os_ken.lib.packet.ospf """ def setUp(self): diff --git a/ryu/tests/unit/packet/test_packet.py b/os_ken/tests/unit/packet/test_packet.py similarity index 99% rename from ryu/tests/unit/packet/test_packet.py rename to os_ken/tests/unit/packet/test_packet.py index ef212815..770900f6 100644 --- a/ryu/tests/unit/packet/test_packet.py +++ b/os_ken/tests/unit/packet/test_packet.py @@ -21,18 +21,18 @@ import struct import inspect from nose.tools import ok_, eq_ import six -from ryu.ofproto import ether, inet -from ryu.lib.packet import arp -from ryu.lib.packet import bpdu -from ryu.lib.packet import ethernet -from ryu.lib.packet import icmp, icmpv6 -from ryu.lib.packet import ipv4, ipv6 -from ryu.lib.packet import llc -from ryu.lib.packet import packet, packet_utils -from ryu.lib.packet import sctp -from ryu.lib.packet import tcp, udp -from ryu.lib.packet import vlan -from ryu.lib import addrconv +from os_ken.ofproto import ether, inet +from os_ken.lib.packet import arp +from os_ken.lib.packet import bpdu +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import icmp, icmpv6 +from os_ken.lib.packet import ipv4, ipv6 +from os_ken.lib.packet import llc +from os_ken.lib.packet import packet, packet_utils +from os_ken.lib.packet import sctp +from os_ken.lib.packet import tcp, udp +from os_ken.lib.packet import vlan +from os_ken.lib import addrconv LOG = logging.getLogger('test_packet') diff --git a/ryu/tests/unit/packet/test_pbb.py b/os_ken/tests/unit/packet/test_pbb.py similarity index 94% rename from ryu/tests/unit/packet/test_pbb.py rename to os_ken/tests/unit/packet/test_pbb.py index dd7778cd..629326db 100644 --- a/ryu/tests/unit/packet/test_pbb.py +++ b/os_ken/tests/unit/packet/test_pbb.py @@ -20,13 +20,13 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ from nose.tools import raises -from ryu.ofproto import ether -from ryu.ofproto import inet -from ryu.lib.packet import ethernet -from ryu.lib.packet import packet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import vlan -from ryu.lib.packet import pbb +from os_ken.ofproto import ether +from os_ken.ofproto import inet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import packet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import vlan +from os_ken.lib.packet import pbb LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_sctp.py b/os_ken/tests/unit/packet/test_sctp.py similarity index 99% rename from ryu/tests/unit/packet/test_sctp.py rename to os_ken/tests/unit/packet/test_sctp.py index d7afb7cc..bc3c25a5 100644 --- a/ryu/tests/unit/packet/test_sctp.py +++ b/os_ken/tests/unit/packet/test_sctp.py @@ -22,13 +22,13 @@ import unittest from nose.tools import eq_ from nose.tools import ok_ -from ryu.lib import addrconv -from ryu.lib.packet import packet -from ryu.lib.packet import ethernet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import sctp -from ryu.ofproto import ether -from ryu.ofproto import inet +from os_ken.lib import addrconv +from os_ken.lib.packet import packet +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import sctp +from os_ken.ofproto import ether +from os_ken.ofproto import inet LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_slow.py b/os_ken/tests/unit/packet/test_slow.py similarity index 99% rename from ryu/tests/unit/packet/test_slow.py rename to os_ken/tests/unit/packet/test_slow.py index c3f6c4b0..fc10b192 100644 --- a/ryu/tests/unit/packet/test_slow.py +++ b/os_ken/tests/unit/packet/test_slow.py @@ -21,14 +21,14 @@ from struct import pack, unpack_from import unittest from nose.tools import ok_, eq_, raises -from ryu.ofproto import ether -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib import addrconv -from ryu.lib.packet.slow import slow, lacp -from ryu.lib.packet.slow import SLOW_PROTOCOL_MULTICAST -from ryu.lib.packet.slow import SLOW_SUBTYPE_LACP -from ryu.lib.packet.slow import SLOW_SUBTYPE_MARKER +from os_ken.ofproto import ether +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib import addrconv +from os_ken.lib.packet.slow import slow, lacp +from os_ken.lib.packet.slow import SLOW_PROTOCOL_MULTICAST +from os_ken.lib.packet.slow import SLOW_SUBTYPE_LACP +from os_ken.lib.packet.slow import SLOW_SUBTYPE_MARKER LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_tcp.py b/os_ken/tests/unit/packet/test_tcp.py similarity index 97% rename from ryu/tests/unit/packet/test_tcp.py rename to os_ken/tests/unit/packet/test_tcp.py index 7224df0e..16282ce8 100644 --- a/ryu/tests/unit/packet/test_tcp.py +++ b/os_ken/tests/unit/packet/test_tcp.py @@ -21,11 +21,11 @@ import six import struct from struct import * from nose.tools import * -from ryu.ofproto import inet -from ryu.lib.packet import tcp -from ryu.lib.packet.ipv4 import ipv4 -from ryu.lib.packet import packet_utils -from ryu.lib import addrconv +from os_ken.ofproto import inet +from os_ken.lib.packet import tcp +from os_ken.lib.packet.ipv4 import ipv4 +from os_ken.lib.packet import packet_utils +from os_ken.lib import addrconv LOG = logging.getLogger('test_tcp') diff --git a/ryu/tests/unit/packet/test_udp.py b/os_ken/tests/unit/packet/test_udp.py similarity index 92% rename from ryu/tests/unit/packet/test_udp.py rename to os_ken/tests/unit/packet/test_udp.py index 0d7d0aa9..6a41dcb1 100644 --- a/ryu/tests/unit/packet/test_udp.py +++ b/os_ken/tests/unit/packet/test_udp.py @@ -20,12 +20,12 @@ import logging import struct from struct import * from nose.tools import * -from ryu.ofproto import ether, inet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.udp import udp -from ryu.lib.packet.ipv4 import ipv4 -from ryu.lib.packet import packet_utils -from ryu.lib import addrconv +from os_ken.ofproto import ether, inet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.udp import udp +from os_ken.lib.packet.ipv4 import ipv4 +from os_ken.lib.packet import packet_utils +from os_ken.lib import addrconv LOG = logging.getLogger('test_udp') diff --git a/ryu/tests/unit/packet/test_vlan.py b/os_ken/tests/unit/packet/test_vlan.py similarity index 96% rename from ryu/tests/unit/packet/test_vlan.py rename to os_ken/tests/unit/packet/test_vlan.py index b8e3a048..74db4591 100644 --- a/ryu/tests/unit/packet/test_vlan.py +++ b/os_ken/tests/unit/packet/test_vlan.py @@ -20,12 +20,12 @@ import logging import struct from struct import * from nose.tools import * -from ryu.ofproto import ether, inet -from ryu.lib.packet.ethernet import ethernet -from ryu.lib.packet.packet import Packet -from ryu.lib.packet.ipv4 import ipv4 -from ryu.lib.packet.vlan import vlan -from ryu.lib.packet.vlan import svlan +from os_ken.ofproto import ether, inet +from os_ken.lib.packet.ethernet import ethernet +from os_ken.lib.packet.packet import Packet +from os_ken.lib.packet.ipv4 import ipv4 +from os_ken.lib.packet.vlan import vlan +from os_ken.lib.packet.vlan import svlan LOG = logging.getLogger('test_vlan') diff --git a/ryu/tests/unit/packet/test_vrrp.py b/os_ken/tests/unit/packet/test_vrrp.py similarity index 98% rename from ryu/tests/unit/packet/test_vrrp.py rename to os_ken/tests/unit/packet/test_vrrp.py index 71c52500..f6f4e1f4 100644 --- a/ryu/tests/unit/packet/test_vrrp.py +++ b/os_ken/tests/unit/packet/test_vrrp.py @@ -27,13 +27,13 @@ import inspect from nose.tools import eq_, ok_ from nose.tools import raises -from ryu.ofproto import inet -from ryu.lib.packet import ipv4 -from ryu.lib.packet import ipv6 -from ryu.lib.packet import packet -from ryu.lib.packet import packet_utils -from ryu.lib.packet import vrrp -from ryu.lib import addrconv +from os_ken.ofproto import inet +from os_ken.lib.packet import ipv4 +from os_ken.lib.packet import ipv6 +from os_ken.lib.packet import packet +from os_ken.lib.packet import packet_utils +from os_ken.lib.packet import vrrp +from os_ken.lib import addrconv LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_vxlan.py b/os_ken/tests/unit/packet/test_vxlan.py similarity index 96% rename from ryu/tests/unit/packet/test_vxlan.py rename to os_ken/tests/unit/packet/test_vxlan.py index 8cace581..85f76ecf 100644 --- a/ryu/tests/unit/packet/test_vxlan.py +++ b/os_ken/tests/unit/packet/test_vxlan.py @@ -19,8 +19,8 @@ import unittest from nose.tools import eq_ from nose.tools import raises -from ryu.lib.packet import ethernet -from ryu.lib.packet import vxlan +from os_ken.lib.packet import ethernet +from os_ken.lib.packet import vxlan LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/packet/test_zebra.py b/os_ken/tests/unit/packet/test_zebra.py similarity index 98% rename from ryu/tests/unit/packet/test_zebra.py rename to os_ken/tests/unit/packet/test_zebra.py index 4ea76b55..e2a88edb 100644 --- a/ryu/tests/unit/packet/test_zebra.py +++ b/os_ken/tests/unit/packet/test_zebra.py @@ -30,10 +30,10 @@ from nose.tools import ok_ from nose.tools import raises import six -from ryu.lib import pcaplib -from ryu.lib.packet import packet -from ryu.lib.packet import zebra -from ryu.utils import binary_str +from os_ken.lib import pcaplib +from os_ken.lib.packet import packet +from os_ken.lib.packet import zebra +from os_ken.utils import binary_str PCAP_DATA_DIR = os.path.join( @@ -42,13 +42,13 @@ PCAP_DATA_DIR = os.path.join( _patch_frr_v2 = mock.patch( - 'ryu.lib.packet.zebra._is_frr_version_ge', + 'os_ken.lib.packet.zebra._is_frr_version_ge', mock.MagicMock(side_effect=lambda x: x == zebra._FRR_VERSION_2_0)) class Test_zebra(unittest.TestCase): """ - Test case for ryu.lib.packet.zebra. + Test case for os_ken.lib.packet.zebra. """ @staticmethod diff --git a/ryu/tests/unit/lib/ovs/__init__.py b/os_ken/tests/unit/sample/__init__.py similarity index 100% rename from ryu/tests/unit/lib/ovs/__init__.py rename to os_ken/tests/unit/sample/__init__.py diff --git a/ryu/tests/unit/sample/test_sample1.py b/os_ken/tests/unit/sample/test_sample1.py similarity index 73% rename from ryu/tests/unit/sample/test_sample1.py rename to os_ken/tests/unit/sample/test_sample1.py index 34f8f69a..f3b30068 100644 --- a/ryu/tests/unit/sample/test_sample1.py +++ b/os_ken/tests/unit/sample/test_sample1.py @@ -2,12 +2,12 @@ import unittest from nose.tools import ok_, eq_ -# from ryu.app.simple_switch import SimpleSwitch +# from os_ken.app.simple_switch import SimpleSwitch import logging -LOG = logging.getLogger('ryu.tests.test_sample1') +LOG = logging.getLogger('os_ken.tests.test_sample1') class TestSample1(unittest.TestCase): diff --git a/ryu/tests/unit/sample/test_sample2.py b/os_ken/tests/unit/sample/test_sample2.py similarity index 81% rename from ryu/tests/unit/sample/test_sample2.py rename to os_ken/tests/unit/sample/test_sample2.py index 9c21a42a..71f4630e 100644 --- a/ryu/tests/unit/sample/test_sample2.py +++ b/os_ken/tests/unit/sample/test_sample2.py @@ -2,7 +2,7 @@ import unittest from nose.tools import ok_, eq_ -# from ryu.app.simple_switch import SimpleSwitch +# from os_ken.app.simple_switch import SimpleSwitch class TestSample2(unittest.TestCase): diff --git a/ryu/tests/unit/ofproto/__init__.py b/os_ken/tests/unit/services/__init__.py similarity index 100% rename from ryu/tests/unit/ofproto/__init__.py rename to os_ken/tests/unit/services/__init__.py diff --git a/ryu/tests/unit/packet/__init__.py b/os_ken/tests/unit/services/protocols/__init__.py similarity index 100% rename from ryu/tests/unit/packet/__init__.py rename to os_ken/tests/unit/services/protocols/__init__.py diff --git a/ryu/tests/unit/sample/__init__.py b/os_ken/tests/unit/services/protocols/bgp/__init__.py similarity index 100% rename from ryu/tests/unit/sample/__init__.py rename to os_ken/tests/unit/services/protocols/bgp/__init__.py diff --git a/ryu/tests/unit/services/__init__.py b/os_ken/tests/unit/services/protocols/bgp/core_managers/__init__.py similarity index 100% rename from ryu/tests/unit/services/__init__.py rename to os_ken/tests/unit/services/protocols/bgp/core_managers/__init__.py diff --git a/ryu/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py b/os_ken/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py similarity index 92% rename from ryu/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py rename to os_ken/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py index c9c9f55e..f03cbbc2 100644 --- a/ryu/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py +++ b/os_ken/tests/unit/services/protocols/bgp/core_managers/test_table_manager.py @@ -23,34 +23,34 @@ except ImportError: from nose.tools import ok_, eq_, raises -from ryu.lib.packet.bgp import BGPPathAttributeOrigin -from ryu.lib.packet.bgp import BGPPathAttributeAsPath -from ryu.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH -from ryu.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES -from ryu.lib.packet.bgp import IPAddrPrefix -from ryu.lib.packet.bgp import IP6AddrPrefix -from ryu.lib.packet.bgp import EvpnArbitraryEsi -from ryu.lib.packet.bgp import EvpnLACPEsi -from ryu.lib.packet.bgp import EvpnEthernetAutoDiscoveryNLRI -from ryu.lib.packet.bgp import EvpnMacIPAdvertisementNLRI -from ryu.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI -from ryu.lib.packet.bgp import FlowSpecIPv4NLRI -from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET -from ryu.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV4 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV4 -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_SAMPLE -from ryu.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_TERMINAL -from ryu.services.protocols.bgp.core import BgpCoreError -from ryu.services.protocols.bgp.core_managers import table_manager -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6 -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN -from ryu.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4_FLOWSPEC -from ryu.services.protocols.bgp.utils.bgp import create_v4flowspec_actions +from os_ken.lib.packet.bgp import BGPPathAttributeOrigin +from os_ken.lib.packet.bgp import BGPPathAttributeAsPath +from os_ken.lib.packet.bgp import BGP_ATTR_ORIGIN_IGP +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_ORIGIN +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_AS_PATH +from os_ken.lib.packet.bgp import BGP_ATTR_TYPE_EXTENDED_COMMUNITIES +from os_ken.lib.packet.bgp import IPAddrPrefix +from os_ken.lib.packet.bgp import IP6AddrPrefix +from os_ken.lib.packet.bgp import EvpnArbitraryEsi +from os_ken.lib.packet.bgp import EvpnLACPEsi +from os_ken.lib.packet.bgp import EvpnEthernetAutoDiscoveryNLRI +from os_ken.lib.packet.bgp import EvpnMacIPAdvertisementNLRI +from os_ken.lib.packet.bgp import EvpnInclusiveMulticastEthernetTagNLRI +from os_ken.lib.packet.bgp import FlowSpecIPv4NLRI +from os_ken.lib.packet.bgp import BGPPathAttributeExtendedCommunities +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET +from os_ken.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_IPV4 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_FAMILY_VPNV4 +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_SAMPLE +from os_ken.services.protocols.bgp.bgpspeaker import FLOWSPEC_TA_TERMINAL +from os_ken.services.protocols.bgp.core import BgpCoreError +from os_ken.services.protocols.bgp.core_managers import table_manager +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4 +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV6 +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_L2_EVPN +from os_ken.services.protocols.bgp.rtconf.vrfs import VRF_RF_IPV4_FLOWSPEC +from os_ken.services.protocols.bgp.utils.bgp import create_v4flowspec_actions LOG = logging.getLogger(__name__) @@ -62,7 +62,7 @@ class Test_TableCoreManager(unittest.TestCase): """ @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) def _test_update_vrf_table(self, prefix_inst, route_dist, prefix_str, next_hop, route_family, route_type, @@ -196,7 +196,7 @@ class Test_TableCoreManager(unittest.TestCase): **kwargs) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) def test_update_vrf_table_l2_evpn_with_vni(self): # Prepare test data @@ -262,7 +262,7 @@ class Test_TableCoreManager(unittest.TestCase): @raises(BgpCoreError) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) def test_update_vrf_table_no_vrf(self): # Prepare test data @@ -357,10 +357,10 @@ class Test_TableCoreManager(unittest.TestCase): **kwargs) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.learn_path') + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.learn_path') def _test_update_global_table(self, learn_path_mock, prefix, next_hop, is_withdraw, expected_next_hop): # Prepare test data @@ -442,7 +442,7 @@ class Test_TableCoreManager(unittest.TestCase): ) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) def _test_update_flowspec_vrf_table(self, flowspec_family, route_family, route_dist, rules, prefix, @@ -577,10 +577,10 @@ class Test_TableCoreManager(unittest.TestCase): ) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.__init__', + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.__init__', mock.MagicMock(return_value=None)) @mock.patch( - 'ryu.services.protocols.bgp.core_managers.TableCoreManager.learn_path') + 'os_ken.services.protocols.bgp.core_managers.TableCoreManager.learn_path') def _test_update_flowspec_global_table(self, learn_path_mock, flowspec_family, rules, prefix, is_withdraw, actions=None): diff --git a/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py b/os_ken/tests/unit/services/protocols/bgp/test_bgpspeaker.py similarity index 86% rename from ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py rename to os_ken/tests/unit/services/protocols/bgp/test_bgpspeaker.py index 81a8bb3b..4fab027e 100644 --- a/ryu/tests/unit/services/protocols/bgp/test_bgpspeaker.py +++ b/os_ken/tests/unit/services/protocols/bgp/test_bgpspeaker.py @@ -22,13 +22,13 @@ except ImportError: from nose.tools import raises -from ryu.services.protocols.bgp import bgpspeaker -from ryu.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET -from ryu.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP -from ryu.services.protocols.bgp.api.prefix import ESI_TYPE_L2_BRIDGE -from ryu.services.protocols.bgp.bgpspeaker import ESI_TYPE_MAC_BASED -from ryu.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_ALL_ACTIVE -from ryu.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_SINGLE_ACTIVE +from os_ken.services.protocols.bgp import bgpspeaker +from os_ken.services.protocols.bgp.bgpspeaker import EVPN_MAX_ET +from os_ken.services.protocols.bgp.bgpspeaker import ESI_TYPE_LACP +from os_ken.services.protocols.bgp.api.prefix import ESI_TYPE_L2_BRIDGE +from os_ken.services.protocols.bgp.bgpspeaker import ESI_TYPE_MAC_BASED +from os_ken.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_ALL_ACTIVE +from os_ken.services.protocols.bgp.api.prefix import REDUNDANCY_MODE_SINGLE_ACTIVE LOG = logging.getLogger(__name__) @@ -39,9 +39,9 @@ class Test_BGPSpeaker(unittest.TestCase): Test case for bgp.bgpspeaker.BGPSpeaker """ - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_eth_auto_discovery(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_ETH_AUTO_DISCOVERY @@ -78,9 +78,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_eth_auto_discovery_vni(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_ETH_AUTO_DISCOVERY @@ -119,9 +119,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.add_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_mac_ip_adv(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MAC_IP_ADV_ROUTE @@ -157,9 +157,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.add_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_mac_ip_adv_vni(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MAC_IP_ADV_ROUTE @@ -201,9 +201,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.add_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_multicast_etag(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -239,9 +239,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.add_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_multicast_etag_no_next_hop(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -278,9 +278,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_eth_segment(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_ETH_SEGMENT @@ -314,9 +314,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_ip_prefix_route(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_IP_PREFIX_ROUTE @@ -352,9 +352,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_ip_prefix_route_vni(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_IP_PREFIX_ROUTE @@ -396,9 +396,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @raises(ValueError) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_invalid_route_type(self, mock_call): # Prepare test data route_type = 'foobar' # Invalid EVPN route type @@ -426,9 +426,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', 'Invalid arguments detected') @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_auto_discovery(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_ETH_AUTO_DISCOVERY @@ -459,9 +459,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.delete_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_mac_ip_adv(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MAC_IP_ADV_ROUTE @@ -491,9 +491,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.delete_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_multicast_etag(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -527,9 +527,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.delete_local', **expected_kwargs) @raises(ValueError) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_invalid_route_type(self, mock_call): # Prepare test data route_type = 'foobar' # Invalid EVPN route type @@ -555,9 +555,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.delete_local', 'Invalid arguments detected') @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_eth_segment(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_ETH_SEGMENT @@ -589,9 +589,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.delete_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_del_ip_prefix_route(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_IP_PREFIX_ROUTE @@ -618,9 +618,9 @@ class Test_BGPSpeaker(unittest.TestCase): mock_call.assert_called_with( 'evpn_prefix.delete_local', **expected_kwargs) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_pmsi_no_tunnel_info(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -653,9 +653,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_pmsi_ingress_rep(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -689,9 +689,9 @@ class Test_BGPSpeaker(unittest.TestCase): @raises(ValueError) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_evpn_prefix_add_invalid_pmsi_tunnel_type(self, mock_call): # Prepare test data route_type = bgpspeaker.EVPN_MULTICAST_ETAG_ROUTE @@ -716,9 +716,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'evpn_prefix.add_local', 'Invalid arguments detected') @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_ipv4(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV4 @@ -750,9 +750,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_ipv4_without_actions(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV4 @@ -777,9 +777,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_del_ipv4(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV4 @@ -803,9 +803,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.del', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_vpnv4(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV4 @@ -840,9 +840,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_del_vpnv4(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV4 @@ -869,9 +869,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.del_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_ipv6(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6 @@ -903,9 +903,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_ipv6_without_actions(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6 @@ -930,9 +930,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_del_ipv6(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6 @@ -956,9 +956,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.del', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_vpnv6(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV6 @@ -993,9 +993,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_del_vpnv6(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV6 @@ -1022,9 +1022,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.del_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_add_l2vpn(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_L2VPN @@ -1059,9 +1059,9 @@ class Test_BGPSpeaker(unittest.TestCase): 'flowspec.add_local', **expected_kwargs) @mock.patch( - 'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', + 'os_ken.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__', mock.MagicMock(return_value=None)) - @mock.patch('ryu.services.protocols.bgp.bgpspeaker.call') + @mock.patch('os_ken.services.protocols.bgp.bgpspeaker.call') def test_flowspec_prefix_del_l2vpn(self, mock_call): # Prepare test data flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_L2VPN diff --git a/ryu/tests/unit/services/protocols/bgp/test_peer.py b/os_ken/tests/unit/services/protocols/bgp/test_peer.py similarity index 99% rename from ryu/tests/unit/services/protocols/bgp/test_peer.py rename to os_ken/tests/unit/services/protocols/bgp/test_peer.py index 1597efdb..2497e175 100644 --- a/ryu/tests/unit/services/protocols/bgp/test_peer.py +++ b/os_ken/tests/unit/services/protocols/bgp/test_peer.py @@ -22,8 +22,8 @@ except ImportError: from nose.tools import eq_ -from ryu.lib.packet import bgp -from ryu.services.protocols.bgp import peer +from os_ken.lib.packet import bgp +from os_ken.services.protocols.bgp import peer LOG = logging.getLogger(__name__) diff --git a/ryu/tests/unit/services/protocols/__init__.py b/os_ken/tests/unit/services/protocols/bgp/utils/__init__.py similarity index 100% rename from ryu/tests/unit/services/protocols/__init__.py rename to os_ken/tests/unit/services/protocols/bgp/utils/__init__.py diff --git a/ryu/tests/unit/services/protocols/bgp/utils/test_bgp.py b/os_ken/tests/unit/services/protocols/bgp/utils/test_bgp.py similarity index 95% rename from ryu/tests/unit/services/protocols/bgp/utils/test_bgp.py rename to os_ken/tests/unit/services/protocols/bgp/utils/test_bgp.py index 6933a28b..73345ad5 100644 --- a/ryu/tests/unit/services/protocols/bgp/utils/test_bgp.py +++ b/os_ken/tests/unit/services/protocols/bgp/utils/test_bgp.py @@ -19,7 +19,7 @@ import unittest from nose.tools import eq_, raises -from ryu.lib.packet.bgp import ( +from os_ken.lib.packet.bgp import ( BGPFlowSpecTrafficRateCommunity, BGPFlowSpecTrafficActionCommunity, BGPFlowSpecRedirectCommunity, @@ -28,10 +28,10 @@ from ryu.lib.packet.bgp import ( BGPFlowSpecTPIDActionCommunity, ) -from ryu.services.protocols.bgp.core import BgpCoreError -from ryu.services.protocols.bgp.utils.bgp import create_v4flowspec_actions -from ryu.services.protocols.bgp.utils.bgp import create_v6flowspec_actions -from ryu.services.protocols.bgp.utils.bgp import create_l2vpnflowspec_actions +from os_ken.services.protocols.bgp.core import BgpCoreError +from os_ken.services.protocols.bgp.utils.bgp import create_v4flowspec_actions +from os_ken.services.protocols.bgp.utils.bgp import create_v6flowspec_actions +from os_ken.services.protocols.bgp.utils.bgp import create_l2vpnflowspec_actions LOG = logging.getLogger(__name__) @@ -39,7 +39,7 @@ LOG = logging.getLogger(__name__) class Test_Utils_BGP(unittest.TestCase): """ - Test case for ryu.services.protocols.bgp.utils.bgp + Test case for os_ken.services.protocols.bgp.utils.bgp """ def _test_create_v4flowspec_actions(self, actions, expected_communities): diff --git a/ryu/tests/unit/services/protocols/bgp/utils/test_validation.py b/os_ken/tests/unit/services/protocols/bgp/utils/test_validation.py similarity index 98% rename from ryu/tests/unit/services/protocols/bgp/utils/test_validation.py rename to os_ken/tests/unit/services/protocols/bgp/utils/test_validation.py index 6d5f6ac3..89a720d3 100644 --- a/ryu/tests/unit/services/protocols/bgp/utils/test_validation.py +++ b/os_ken/tests/unit/services/protocols/bgp/utils/test_validation.py @@ -18,7 +18,7 @@ import unittest from nose.tools import eq_, ok_ -from ryu.services.protocols.bgp.utils import validation +from os_ken.services.protocols.bgp.utils import validation LOG = logging.getLogger(__name__) @@ -26,7 +26,7 @@ LOG = logging.getLogger(__name__) class Test_Utils_Validation(unittest.TestCase): """ - Test case for ryu.services.protocols.bgp.utils.validation + Test case for os_ken.services.protocols.bgp.utils.validation """ def test_is_valid_mac(self): diff --git a/ryu/tests/unit/test_requirements.py b/os_ken/tests/unit/test_requirements.py similarity index 100% rename from ryu/tests/unit/test_requirements.py rename to os_ken/tests/unit/test_requirements.py diff --git a/ryu/tests/unit/test_utils.py b/os_ken/tests/unit/test_utils.py similarity index 98% rename from ryu/tests/unit/test_utils.py rename to os_ken/tests/unit/test_utils.py index 165f8acc..dd998f74 100644 --- a/ryu/tests/unit/test_utils.py +++ b/os_ken/tests/unit/test_utils.py @@ -18,7 +18,7 @@ import logging import six from nose.tools import eq_ -from ryu import utils +from os_ken import utils LOG = logging.getLogger(__name__) diff --git a/os_ken/topology/__init__.py b/os_ken/topology/__init__.py new file mode 100644 index 00000000..731057f3 --- /dev/null +++ b/os_ken/topology/__init__.py @@ -0,0 +1,3 @@ +""" +Switch and link discovery module. Planned to replace os_ken/controller/dpset. +""" diff --git a/ryu/topology/api.py b/os_ken/topology/api.py similarity index 88% rename from ryu/topology/api.py rename to os_ken/topology/api.py index e4fb2f1c..0f97a703 100644 --- a/ryu/topology/api.py +++ b/os_ken/topology/api.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ryu.base import app_manager -from ryu.topology import event +from os_ken.base import app_manager +from os_ken.topology import event def get_switch(app, dpid=None): @@ -44,4 +44,4 @@ def get_all_host(app): return get_host(app) -app_manager.require_app('ryu.topology.switches', api_style=True) +app_manager.require_app('os_ken.topology.switches', api_style=True) diff --git a/ryu/topology/dumper.py b/os_ken/topology/dumper.py similarity index 96% rename from ryu/topology/dumper.py rename to os_ken/topology/dumper.py index 132ac65a..1443184e 100644 --- a/ryu/topology/dumper.py +++ b/os_ken/topology/dumper.py @@ -17,11 +17,11 @@ import logging import time -from ryu.base import app_manager -from ryu.controller import handler -from ryu.lib import hub -from ryu.topology import event -from ryu.topology import switches +from os_ken.base import app_manager +from os_ken.controller import handler +from os_ken.lib import hub +from os_ken.topology import event +from os_ken.topology import switches LOG = logging.getLogger(__name__) diff --git a/ryu/topology/event.py b/os_ken/topology/event.py similarity index 97% rename from ryu/topology/event.py rename to os_ken/topology/event.py index d4b29b68..ccaabd6e 100644 --- a/ryu/topology/event.py +++ b/os_ken/topology/event.py @@ -14,8 +14,8 @@ # limitations under the License. import logging -from ryu.controller import handler -from ryu.controller import event +from os_ken.controller import handler +from os_ken.controller import event LOG = logging.getLogger(__name__) @@ -190,4 +190,4 @@ class EventHostMove(event.EventBase): self.__class__.__name__, self.src, self.dst) -handler.register_service('ryu.topology.switches') +handler.register_service('os_ken.topology.switches') diff --git a/ryu/topology/switches.py b/os_ken/topology/switches.py similarity index 97% rename from ryu/topology/switches.py rename to os_ken/topology/switches.py index 5f14440e..f2805a98 100644 --- a/ryu/topology/switches.py +++ b/os_ken/topology/switches.py @@ -17,27 +17,27 @@ import logging import six import struct import time -from ryu import cfg +from os_ken import cfg -from ryu.topology import event -from ryu.base import app_manager -from ryu.controller import ofp_event -from ryu.controller.handler import set_ev_cls -from ryu.controller.handler import MAIN_DISPATCHER, DEAD_DISPATCHER -from ryu.exception import RyuException -from ryu.lib import addrconv, hub -from ryu.lib.mac import DONTCARE_STR -from ryu.lib.dpid import dpid_to_str, str_to_dpid -from ryu.lib.port_no import port_no_to_str -from ryu.lib.packet import packet, ethernet -from ryu.lib.packet import lldp, ether_types -from ryu.ofproto.ether import ETH_TYPE_LLDP -from ryu.ofproto.ether import ETH_TYPE_CFM -from ryu.ofproto import nx_match -from ryu.ofproto import ofproto_v1_0 -from ryu.ofproto import ofproto_v1_2 -from ryu.ofproto import ofproto_v1_3 -from ryu.ofproto import ofproto_v1_4 +from os_ken.topology import event +from os_ken.base import app_manager +from os_ken.controller import ofp_event +from os_ken.controller.handler import set_ev_cls +from os_ken.controller.handler import MAIN_DISPATCHER, DEAD_DISPATCHER +from os_ken.exception import RyuException +from os_ken.lib import addrconv, hub +from os_ken.lib.mac import DONTCARE_STR +from os_ken.lib.dpid import dpid_to_str, str_to_dpid +from os_ken.lib.port_no import port_no_to_str +from os_ken.lib.packet import packet, ethernet +from os_ken.lib.packet import lldp, ether_types +from os_ken.ofproto.ether import ETH_TYPE_LLDP +from os_ken.ofproto.ether import ETH_TYPE_CFM +from os_ken.ofproto import nx_match +from os_ken.ofproto import ofproto_v1_0 +from os_ken.ofproto import ofproto_v1_2 +from os_ken.ofproto import ofproto_v1_3 +from os_ken.ofproto import ofproto_v1_4 LOG = logging.getLogger(__name__) @@ -228,7 +228,7 @@ class HostState(dict): class PortState(dict): # dict: int port_no -> OFPPort port - # OFPPort is defined in ryu.ofproto.ofproto_v1_X_parser + # OFPPort is defined in os_ken.ofproto.ofproto_v1_X_parser def __init__(self): super(PortState, self).__init__() diff --git a/ryu/utils.py b/os_ken/utils.py similarity index 98% rename from ryu/utils.py rename to os_ken/utils.py index ca14c12c..068272a8 100644 --- a/ryu/utils.py +++ b/os_ken/utils.py @@ -22,7 +22,7 @@ import sys import six -LOG = logging.getLogger('ryu.utils') +LOG = logging.getLogger('os_ken.utils') def load_source(name, pathname): diff --git a/ryu/__init__.py b/ryu/__init__.py deleted file mode 100644 index 71db9096..00000000 --- a/ryu/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -version_info = (4, 27) -version = '.'.join(map(str, version_info)) diff --git a/ryu/ofproto/ether.py b/ryu/ofproto/ether.py deleted file mode 100644 index 80df9888..00000000 --- a/ryu/ofproto/ether.py +++ /dev/null @@ -1,3 +0,0 @@ -# This module is for backward compat - -from ryu.lib.packet.ether_types import * diff --git a/ryu/ofproto/inet.py b/ryu/ofproto/inet.py deleted file mode 100644 index 7a6478e5..00000000 --- a/ryu/ofproto/inet.py +++ /dev/null @@ -1,3 +0,0 @@ -# This module is for backward compat - -from ryu.lib.packet.in_proto import * diff --git a/ryu/services/protocols/bgp/operator/commands/root.py b/ryu/services/protocols/bgp/operator/commands/root.py deleted file mode 100644 index cf6d5cd4..00000000 --- a/ryu/services/protocols/bgp/operator/commands/root.py +++ /dev/null @@ -1,11 +0,0 @@ -from ryu.services.protocols.bgp.operator.command import Command -from ryu.services.protocols.bgp.operator.commands.clear import ClearCmd -from ryu.services.protocols.bgp.operator.commands.set import SetCmd -from ryu.services.protocols.bgp.operator.commands.show import ShowCmd - - -class RootCmd(Command): - subcommands = { - 'show': ShowCmd, - 'set': SetCmd, - 'clear': ClearCmd} diff --git a/ryu/services/protocols/bgp/signals/__init__.py b/ryu/services/protocols/bgp/signals/__init__.py deleted file mode 100644 index 27d60d48..00000000 --- a/ryu/services/protocols/bgp/signals/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from ryu.services.protocols.bgp.signals.base import SignalBus - -__all__ = [SignalBus] -__author__ = 'yak' diff --git a/ryu/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json deleted file mode 100644 index cc0b13d9..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of10/1-2-ofp_flow_mod.packet.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "cmd": 0, - "flow": { - "actions": [ - { - "type": "OUTPUT", - "max_len": 65535, - "port": 6 - } - ], - "buffer_id": 65535, - "command": 0, - "cookie": 0, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "match": { - "dl_dst": "f2:0b:a4:7d:f8:ea" - }, - "out_port": 65532, - "priority": 123 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json deleted file mode 100644 index 8fc54b74..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-0-ofp_desc_stats_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": { - "dp_desc": "dp", - "hw_desc": "hw", - "mfr_desc": "mfr", - "serial_num": "serial", - "sw_desc": "sw" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json deleted file mode 100644 index a42dfef0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-11-ofp_flow_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 0 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json deleted file mode 100644 index 4d73e0b5..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-12-ofp_flow_stats_reply.packet.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "1": [ - { - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115277000, - "duration_sec": 358, - "hard_timeout": 0, - "idle_timeout": 0, - "actions": [], - "length": 56, - "match": {}, - "packet_count": 0, - "priority": 65535, - "table_id": 0 - }, - { - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115055000, - "duration_sec": 358, - "hard_timeout": 0, - "idle_timeout": 0, - "actions": [ - "OUTPUT:NORMAL" - ], - "length": 88, - "match": { - "dl_type": 2054 - }, - "packet_count": 0, - "priority": 65534, - "table_id": 0 - }, - { - "byte_count": 238, - "cookie": 0, - "duration_nsec": 511582000, - "duration_sec": 316220, - "hard_timeout": 0, - "idle_timeout": 0, - "actions": [ - "GOTO_TABLE:1" - ], - "length": 80, - "match": { - "in_port": 6, - "dl_src": "f2:0b:a4:7d:f8:ea" - }, - "packet_count": 3, - "priority": 123, - "table_id": 0 - }, - { - "byte_count": 98, - "cookie": 0, - "duration_nsec": 980901000, - "duration_sec": 313499, - "hard_timeout": 0, - "idle_timeout": 0, - "actions": [ - { - "WRITE_ACTIONS": [ - "OUTPUT:CONTROLLER" - ] - } - ], - "length": 80, - "match": {}, - "packet_count": 1, - "priority": 0, - "table_id": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json deleted file mode 100644 index c655f8f0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-16-ofp_experimenter.packet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "exp": { - "data": "bmF6bw==", - "data_type": "base64", - "exp_type": 123456789, - "experimenter": 98765432 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json deleted file mode 100644 index f6a0f26a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-2-ofp_flow_mod.packet.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cmd": 0, - "flow": { - "buffer_id": 65535, - "command": 0, - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "actions": [ - { - "type": "WRITE_ACTIONS", - "actions": [ - { - "type": "SET_FIELD", - "field": "vlan_vid", - "value": 258 - }, - { - "type": "OUTPUT", - "port": 6, - "max_len": 65535 - } - ] - }, - { - "type": "SET_FIELD", - "field": "eth_src", - "value": "01:02:03:04:05:06" - } - ], - "match": { - "eth_dst": "f2:0b:a4:7d:f8:ea" - }, - "out_group": 4294967295, - "out_port": 4294967295, - "priority": 123, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json deleted file mode 100644 index 9509e191..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-21-ofp_group_mod.packet.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "cmd": 0, - "group": { - "buckets": [ - { - "actions": [ - { - "max_len": 65535, - "port": 2, - "type": "OUTPUT" - } - ], - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "command": 0, - "group_id": 1, - "type": "ALL" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json deleted file mode 100644 index 3c3ccf89..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-22-ofp_port_mod.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "port_config": { - "advertise": 4096, - "config": 0, - "hw_addr": "00-11-00-00-11-11", - "mask": 0, - "port_no": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json deleted file mode 100644 index 845af65b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-25-ofp_aggregate_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 255 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json deleted file mode 100644 index a4b23d12..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-26-ofp_aggregate_stats_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": [ - { - "byte_count": 574, - "flow_count": 6, - "packet_count": 7 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json deleted file mode 100644 index 7444a29a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-28-ofp_table_stats_reply.packet.json +++ /dev/null @@ -1,32134 +0,0 @@ -{ - "1": [ - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "\u79c1\u306e\u30c6\u30fc\u30d6\u30eb", - "matched_count": 4, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 4, - "max_entries": 16777216, - "lookup_count": 4, - "metadata_match": 18446744073709551615, - "table_id": 0, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x01", - "matched_count": 3, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 2, - "max_entries": 16777216, - "lookup_count": 3, - "metadata_match": 18446744073709551615, - "table_id": 1, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x02", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 2, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x03", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 3, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x04", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 4, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x05", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 5, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x06", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 6, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x07", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 7, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x08", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 8, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x09", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 9, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 10, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 11, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 12, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 13, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 14, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x0f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 15, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x10", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 16, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x11", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 17, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x12", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 18, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x13", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 19, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x14", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 20, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x15", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 21, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x16", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 22, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x17", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 23, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x18", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 24, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x19", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 25, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 26, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 27, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 28, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 29, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 30, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x1f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 31, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x20", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 32, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x21", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 33, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x22", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 34, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x23", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 35, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x24", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 36, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x25", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 37, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x26", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 38, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x27", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 39, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x28", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 40, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x29", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 41, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 42, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 43, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 44, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 45, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 46, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x2f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 47, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x30", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 48, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x31", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 49, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x32", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 50, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x33", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 51, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x34", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 52, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x35", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 53, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x36", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 54, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x37", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 55, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x38", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 56, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x39", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 57, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 58, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 59, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 60, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 61, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 62, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x3f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 63, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x40", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 64, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x41", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 65, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x42", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 66, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x43", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 67, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x44", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 68, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x45", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 69, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x46", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 70, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x47", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 71, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x48", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 72, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x49", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 73, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 74, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 75, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 76, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 77, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 78, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x4f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 79, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x50", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 80, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x51", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 81, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x52", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 82, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x53", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 83, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x54", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 84, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x55", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 85, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x56", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 86, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x57", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 87, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x58", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 88, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x59", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 89, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 90, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 91, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 92, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 93, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 94, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x5f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 95, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x60", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 96, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x61", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 97, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x62", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 98, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x63", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 99, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x64", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 100, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x65", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 101, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x66", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 102, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x67", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 103, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x68", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 104, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x69", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 105, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 106, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 107, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 108, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 109, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 110, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x6f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 111, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x70", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 112, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x71", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 113, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x72", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 114, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x73", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 115, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x74", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 116, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x75", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 117, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x76", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 118, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x77", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 119, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x78", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 120, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x79", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 121, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 122, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 123, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 124, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 125, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 126, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x7f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 127, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x80", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 128, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x81", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 129, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x82", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 130, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x83", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 131, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x84", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 132, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x85", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 133, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x86", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 134, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x87", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 135, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x88", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 136, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x89", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 137, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 138, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 139, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 140, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 141, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 142, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x8f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 143, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x90", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 144, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x91", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 145, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x92", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 146, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x93", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 147, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x94", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 148, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x95", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 149, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x96", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 150, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x97", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 151, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x98", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 152, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x99", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 153, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9a", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 154, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9b", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 155, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9c", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 156, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9d", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 157, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9e", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 158, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0x9f", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 159, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 160, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 161, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 162, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 163, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 164, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 165, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 166, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 167, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 168, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xa9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 169, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xaa", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 170, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xab", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 171, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xac", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 172, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xad", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 173, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xae", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 174, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xaf", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 175, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 176, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 177, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 178, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 179, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 180, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 181, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 182, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 183, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 184, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xb9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 185, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xba", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 186, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xbb", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 187, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xbc", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 188, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xbd", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 189, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xbe", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 190, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xbf", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 191, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 192, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 193, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 194, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 195, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 196, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 197, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 198, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 199, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 200, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xc9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 201, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xca", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 202, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xcb", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 203, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xcc", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 204, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xcd", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 205, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xce", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 206, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xcf", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 207, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 208, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 209, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 210, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 211, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 212, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 213, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 214, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 215, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 216, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xd9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 217, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xda", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 218, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xdb", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 219, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xdc", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 220, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xdd", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 221, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xde", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 222, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xdf", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 223, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 224, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 225, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 226, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 227, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 228, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 229, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 230, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 231, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 232, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xe9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 233, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xea", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 234, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xeb", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 235, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xec", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 236, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xed", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 237, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xee", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 238, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xef", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 239, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf0", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 240, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf1", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 241, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf2", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 242, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf3", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 243, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf4", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 244, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf5", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 245, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf6", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 246, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf7", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 247, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf8", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 248, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xf9", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 249, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xfa", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 250, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xfb", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 251, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xfc", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 252, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xfd", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": 253, - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - }, - { - "wildcards": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "write_setfields": [], - "write_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "name": "Flow Table 0xfe", - "matched_count": 0, - "apply_actions": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ], - "active_count": 0, - "max_entries": 16777216, - "lookup_count": 0, - "metadata_match": 18446744073709551615, - "table_id": "MAX", - "instructions": [ - "GOTO_TABLE", - "WRITE_METADATA", - "WRITE_ACTIONS", - "APPLY_ACTIONS", - "CLEAR_ACTIONS" - ], - "config": [], - "metadata_write": 18446744073709551615, - "match": [ - "IN_PORT", - "METADATA", - "ETH_DST", - "ETH_SRC", - "ETH_TYPE", - "VLAN_VID", - "VLAN_PCP", - "IP_DSCP", - "IP_ECN", - "IP_PROTO", - "IPV4_SRC", - "IPV4_DST", - "TCP_SRC", - "TCP_DST", - "UDP_SRC", - "UDP_DST", - "SCTP_SRC", - "SCTP_DST", - "ICMPV4_TYPE", - "ICMPV4_CODE", - "ARP_OP", - "ARP_SPA", - "ARP_TPA", - "ARP_SHA", - "ARP_THA", - "IPV6_SRC", - "IPV6_DST", - "IPV6_FLABEL", - "ICMPV6_TYPE", - "ICMPV6_CODE", - "IPV6_ND_TARGET", - "IPV6_ND_SLL", - "IPV6_ND_TLL", - "MPLS_LABEL", - "MPLS_TC" - ], - "apply_setfields": [] - } - ] -} \ No newline at end of file diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json deleted file mode 100644 index 43414b65..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-30-ofp_port_stats_reply.packet.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "1": [ - { - "collisions": 0, - "port_no": 7, - "rx_bytes": 0, - "rx_crc_err": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "rx_packets": 0, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - }, - { - "collisions": 0, - "port_no": 6, - "rx_bytes": 336, - "rx_crc_err": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "rx_packets": 4, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json deleted file mode 100644 index b277969e..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-32-ofp_group_features_stats_reply.packet.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "1": [ - { - "actions": [ - { - "ALL": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "SELECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "INDIRECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "FF": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - } - ], - "max_groups": [ - { - "ALL": 16777216 - }, - { - "SELECT": 16777216 - }, - { - "INDIRECT": 16777216 - }, - { - "FF": 16777216 - } - ], - "capabilities": [ - "SELECT_WEIGHT", - "CHAINING" - ], - "types": [ - "ALL", - "SELECT", - "INDIRECT", - "FF" - ] - } - ] -} \ No newline at end of file diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json deleted file mode 100644 index c23a9bbe..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-34-ofp_group_desc_stats_reply.packet.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "1": [ - { - "buckets": [ - { - "actions": [ - "OUTPUT:2" - ], - "len": 32, - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "group_id": 1, - "length": 40, - "type": "ALL" - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json deleted file mode 100644 index fc49ec2c..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-35-ofp_queue_get_config_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 4294967295 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json deleted file mode 100644 index 8e922a9a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-36-ofp_queue_get_config_reply.packet.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "1": [ - { - "port": "ANY", - "queues": [ - { - "len": 48, - "port": 77, - "properties": [ - { - "len": 16, - "property": "MIN_RATE", - "rate": 10 - }, - { - "len": 16, - "property": "MAX_RATE", - "rate": 900 - } - ], - "queue_id": 99 - }, - { - "len": 48, - "port": 77, - "properties": [ - { - "len": 16, - "property": "MIN_RATE", - "rate": 100 - }, - { - "len": 16, - "property": "MAX_RATE", - "rate": 200 - } - ], - "queue_id": 88 - } - ] - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json deleted file mode 100644 index db50c1e5..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-38-ofp_queue_stats_reply.packet.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "1": [ - { - "port_no": 7, - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "port_no": 6, - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "port_no": 7, - "queue_id": 2, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json deleted file mode 100644 index be040f79..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-6-ofp_features_reply.packet.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "1": [ - { - "advertised": 10240, - "config": 0, - "curr": 10248, - "curr_speed": 5000, - "hw_addr": "f2:0b:a4:7d:f8:ea", - "max_speed": 5000, - "name": "Port6", - "peer": 10248, - "port_no": 6, - "state": 4, - "supported": 10248 - }, - { - "advertised": 10240, - "config": 0, - "curr": 10248, - "curr_speed": 5000, - "hw_addr": "f2:0b:a4:d0:3f:70", - "max_speed": 5000, - "name": "Port7", - "peer": 10248, - "port_no": 7, - "state": 4, - "supported": 10248 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json deleted file mode 100644 index f2f1a6ce..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/3-62-ofp_group_stats_reply.packet.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "1": [ - { - "bucket_stats": [ - { - "byte_count": 2345, - "packet_count": 234 - } - ], - "byte_count": 12345, - "group_id": 1, - "length": 48, - "packet_count": 123, - "ref_count": 2 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json deleted file mode 100644 index 7646a77a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_group_stats_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "group_id": 1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json deleted file mode 100644 index 7d56f29d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_port_stats_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 7 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json deleted file mode 100644 index e116fdc1..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_get_config_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": null -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json deleted file mode 100644 index 7d56f29d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 7 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json deleted file mode 100644 index 78077510..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet2.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "port": 7, - "queue_id":1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json b/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json deleted file mode 100644 index ee465693..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of12/lib-ofctl-ofp_queue_stats_request.packet3.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "queue_id":1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json deleted file mode 100644 index 8fc54b74..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-0-ofp_desc_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": { - "dp_desc": "dp", - "hw_desc": "hw", - "mfr_desc": "mfr", - "serial_num": "serial", - "sw_desc": "sw" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json deleted file mode 100644 index a42dfef0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-11-ofp_flow_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 0 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json deleted file mode 100644 index f9b8e68f..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-12-ofp_flow_stats_reply.packet.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "1": [ - { - "actions": [], - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115277000, - "duration_sec": 358, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "length": 0, - "match": {}, - "packet_count": 0, - "priority": 65535, - "table_id": 0 - }, - { - "actions": [ - "OUTPUT:NORMAL" - ], - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115055000, - "duration_sec": 358, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "length": 0, - "match": { - "dl_type": 2054 - }, - "packet_count": 0, - "priority": 65534, - "table_id": 0 - }, - { - "actions": [ - "GOTO_TABLE:1" - ], - "byte_count": 238, - "cookie": 0, - "duration_nsec": 511582000, - "duration_sec": 316220, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "length": 0, - "match": { - "dl_src": "f2:0b:a4:7d:f8:ea", - "in_port": 6 - }, - "packet_count": 3, - "priority": 123, - "table_id": 0 - }, - { - "actions": [ - { - "WRITE_ACTIONS": [ - "SET_FIELD: {vlan_vid:258}", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "COPY_TTL_IN", - "POP_PBB", - "PUSH_PBB:4660", - "POP_MPLS:39030", - "PUSH_MPLS:34887", - "POP_VLAN", - "PUSH_VLAN:33024", - "DEC_MPLS_TTL", - "SET_MPLS_TTL:10", - "DEC_NW_TTL", - "SET_NW_TTL:10", - "SET_QUEUE:3", - "GROUP:99", - "OUTPUT:6", - "EXPERIMENTER: {experimenter:98765432, data:ZXhwX2RhdGE=}", - "NX_UNKNOWN: {subtype: 25976, data: cF9kYXRh}" - ] - }, - "SET_FIELD: {eth_src:01:02:03:04:05:06}", - "SET_FIELD: {pbb_uca:1}", - { - "WRITE_ACTIONS": [ - "OUTPUT:CONTROLLER" - ] - } - ], - "byte_count": 98, - "cookie": 0, - "duration_nsec": 980901000, - "duration_sec": 313499, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "length": 0, - "match": {}, - "packet_count": 1, - "priority": 0, - "table_id": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json deleted file mode 100644 index c655f8f0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-16-ofp_experimenter.packet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "exp": { - "data": "bmF6bw==", - "data_type": "base64", - "exp_type": 123456789, - "experimenter": 98765432 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json deleted file mode 100644 index fbd5c214..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-2-ofp_flow_mod.packet.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "cmd": 0, - "flow": { - "buffer_id": 65535, - "table_id": 1, - "priority": 123, - "match": { - "eth_dst": "f2:0b:a4:7d:f8:ea" - }, - "actions": [ - { - "type": "WRITE_ACTIONS", - "actions": [ - { - "type": "SET_FIELD", - "field": "vlan_vid", - "value": 258 - }, - { - "type": "COPY_TTL_OUT" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "POP_PBB" - }, - { - "type": "PUSH_PBB", - "ethertype": 4660 - }, - { - "type": "POP_MPLS", - "ethertype": 39030 - }, - { - "type": "PUSH_MPLS", - "ethertype": 34887 - }, - { - "type": "POP_VLAN" - }, - { - "type": "PUSH_VLAN", - "ethertype": 33024 - }, - { - "type": "DEC_MPLS_TTL" - }, - { - "type": "SET_MPLS_TTL", - "mpls_ttl": 10 - }, - { - "type": "DEC_NW_TTL" - }, - { - "type": "SET_NW_TTL", - "nw_ttl": 10 - }, - { - "type": "EXPERIMENTER", - "experimenter": 101, - "data": "AAECAwQFBgc=", - "data_type": "base64" - }, - { - "type": "SET_QUEUE", - "queue_id": 3 - }, - { - "type": "GROUP", - "group_id": 99 - }, - { - "type": "OUTPUT", - "max_len": 65535, - "port": 6 - } - ] - }, - { - "type": "SET_FIELD", - "field": "eth_src", - "value": "01:02:03:04:05:06" - }, - { - "type": "SET_FIELD", - "field": "pbb_uca", - "value": 1 - } - ] - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json deleted file mode 100644 index fa48425a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-21-ofp_group_mod.packet.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "cmd": 0, - "group": { - "buckets": [ - { - "actions": [ - { - "max_len": 65535, - "port": 2, - "type": "OUTPUT" - } - ], - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "group_id": 1, - "type": "ALL" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json deleted file mode 100644 index 73339730..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-22-ofp_port_mod.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "port_config": { - "advertise": 4096, - "config": 0, - "hw_addr": "00:11:00:00:11:11", - "mask": 0, - "port_no": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json deleted file mode 100644 index 845af65b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-25-ofp_aggregate_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 255 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json deleted file mode 100644 index a4b23d12..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-26-ofp_aggregate_stats_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": [ - { - "byte_count": 574, - "flow_count": 6, - "packet_count": 7 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json deleted file mode 100644 index 95b2c495..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-28-ofp_table_stats_reply.packet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "1": [ - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 0 - }, - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json deleted file mode 100644 index a81e6825..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-30-ofp_port_stats_reply.packet.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "1": [ - { - "collisions": 0, - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 7, - "rx_bytes": 0, - "rx_crc_err": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "rx_packets": 0, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - }, - { - "collisions": 0, - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 6, - "rx_bytes": 336, - "rx_crc_err": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "rx_packets": 4, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json deleted file mode 100644 index 2a29ac2d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-32-ofp_group_features_reply.packet.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "1": [ - { - "actions": [ - { - "ALL": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "SELECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "INDIRECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "FF": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - } - ], - "capabilities": [ - "SELECT_WEIGHT", - "CHAINING" - ], - "max_groups": [ - { - "ALL": 16777216 - }, - { - "SELECT": 16777216 - }, - { - "INDIRECT": 16777216 - }, - { - "FF": 16777216 - } - ], - "types": [ - "ALL", - "SELECT", - "INDIRECT", - "FF" - ] - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json deleted file mode 100644 index c23a9bbe..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-34-ofp_group_desc_reply.packet.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "1": [ - { - "buckets": [ - { - "actions": [ - "OUTPUT:2" - ], - "len": 32, - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "group_id": 1, - "length": 40, - "type": "ALL" - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json deleted file mode 100644 index fc49ec2c..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-35-ofp_queue_get_config_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 4294967295 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json deleted file mode 100644 index 9d529400..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-36-ofp_queue_get_config_reply.packet.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "1": [ - { - "port": "ANY", - "queues": [ - { - "len": 64, - "port": 77, - "properties": [ - { - "len": 16, - "property": "MIN_RATE", - "rate": 10 - }, - { - "len": 16, - "property": "MAX_RATE", - "rate": 900 - }, - { - "data": [], - "experimenter": 999, - "len": 16, - "property": "EXPERIMENTER" - } - ], - "queue_id": 99 - }, - { - "len": 65, - "port": 77, - "properties": [ - { - "len": 16, - "property": "MIN_RATE", - "rate": 100 - }, - { - "len": 16, - "property": "MAX_RATE", - "rate": 200 - }, - { - "experimenter": 999, - "data": [ - 1 - ], - "len": 17, - "property": "EXPERIMENTER" - } - ], - "queue_id": 88 - }, - { - "len": 66, - "port": 77, - "properties": [ - { - "len": 16, - "property": "MIN_RATE", - "rate": 200 - }, - { - "len": 16, - "property": "MAX_RATE", - "rate": 400 - }, - { - "experimenter": 999, - "data": [ - 1, - 2 - ], - "len": 18, - "property": "EXPERIMENTER" - } - ], - "queue_id": 77 - } - ] - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json deleted file mode 100644 index b19fe300..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-38-ofp_queue_stats_reply.packet.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "1": [ - { - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 7, - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 6, - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 7, - "queue_id": 2, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json deleted file mode 100644 index b78ea6be..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-45-ofp_meter_mod.packet.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "cmd": 0, - "meter": { - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100, - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - }, - { - "burst_size": 10, - "prec_level": 1, - "rate": 1000, - "type": "DSCP_REMARK" - }, - { - "burst_size": 10, - "experimenter": 999, - "len": 16, - "rate": 1000, - "type": "EXPERIMENTER" - } - ] - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json deleted file mode 100644 index d5efcd97..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-48-ofp_meter_config_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - } - ], - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json deleted file mode 100644 index f21ec519..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-50-ofp_meter_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_stats": [ - { - "byte_band_count": 0, - "packet_band_count": 0 - } - ], - "byte_in_count": 0, - "duration_nsec": 480000, - "duration_sec": 0, - "flow_count": 0, - "len": 56, - "meter_id": 100, - "packet_in_count": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json deleted file mode 100644 index 24dac7d4..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-52-ofp_meter_features_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_types": [ - "DROP", - "DSCP_REMARK" - ], - "capabilities": [ - "KBPS", - "PKTPS", - "BURST", - "STATS" - ], - "max_bands": 255, - "max_color": 0, - "max_meter": 16777216 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json deleted file mode 100644 index 72ff2ec3..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-54-ofp_port_desc_reply.packet.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "1": [ - { - "advertised": 10240, - "config": 0, - "curr": 10248, - "curr_speed": 5000, - "hw_addr": "f2:0b:a4:d0:3f:70", - "max_speed": 5000, - "name": "Port7", - "peer": 10248, - "port_no": 7, - "state": 4, - "supported": 10248 - }, - { - "advertised": 10240, - "config": 0, - "curr": 10248, - "curr_speed": 5000, - "hw_addr": "f2:0b:a4:7d:f8:ea", - "max_speed": 5000, - "name": "Port6", - "peer": 10248, - "port_no": 6, - "state": 4, - "supported": 10248 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json deleted file mode 100644 index ded5a996..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-56-ofp_table_features_reply.packet.json +++ /dev/null @@ -1,11928 +0,0 @@ -{ - "1": [ - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "\u79c1\u306e\u30c6\u30fc\u30d6\u30eb", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - }, - { - "type": "EXPERIMENTER" - }, - { - "type": "EXPERIMENTER" - }, - { - "type": "EXPERIMENTER" - } - ], - "table_id": 0 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x01", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 1 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x02", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 2 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x03", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 3 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x04", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 4 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x05", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 5 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x06", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 6 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x07", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 7 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x08", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 8 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x09", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 9 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json deleted file mode 100644 index 1c6f9039..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/4-58-ofp_group_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bucket_stats": [ - { - "byte_count": 2345, - "packet_count": 234 - } - ], - "byte_count": 12345, - "duration_nsec": 609036000, - "duration_sec": 9, - "group_id": 1, - "length": 56, - "packet_count": 123, - "ref_count": 2 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json deleted file mode 100644 index 7646a77a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_group_stats_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "group_id": 1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json deleted file mode 100644 index 3ad622e0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_config_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "meter_id": 1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json deleted file mode 100644 index 3ad622e0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_meter_stats_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "meter_id": 1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json deleted file mode 100644 index 7d56f29d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_port_stats_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 7 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json deleted file mode 100644 index e116fdc1..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_get_config_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": null -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json deleted file mode 100644 index 7d56f29d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port": 7 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json deleted file mode 100644 index 78077510..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet2.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "port": 7, - "queue_id":1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json b/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json deleted file mode 100644 index ee465693..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of13/lib-ofctl-ofp_queue_stats_request.packet3.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "queue_id":1 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json deleted file mode 100644 index 8fc54b74..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-0-ofp_desc_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": { - "dp_desc": "dp", - "hw_desc": "hw", - "mfr_desc": "mfr", - "serial_num": "serial", - "sw_desc": "sw" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json deleted file mode 100644 index a42dfef0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-11-ofp_flow_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 0 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json deleted file mode 100644 index 134c3f12..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-12-ofp_flow_stats_reply.packet.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "1": [ - { - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115277000, - "duration_sec": 358, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "importance": 0, - "instructions": [], - "length": 0, - "match": {}, - "packet_count": 0, - "priority": 65535, - "table_id": 0 - }, - { - "byte_count": 0, - "cookie": 0, - "duration_nsec": 115055000, - "duration_sec": 358, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "importance": 0, - "instructions": [ - { - "actions": [ - { - "max_len": 0, - "port": 4294967290, - "type": "OUTPUT" - } - ], - "type": "APPLY_ACTIONS" - } - ], - "length": 0, - "match": { - "eth_type": 2054 - }, - "packet_count": 0, - "priority": 65534, - "table_id": 0 - }, - { - "byte_count": 238, - "cookie": 0, - "duration_nsec": 511582000, - "duration_sec": 316220, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "importance": 0, - "instructions": [ - { - "table_id": 1, - "type": "GOTO_TABLE" - } - ], - "length": 0, - "match": { - "eth_src": "f2:0b:a4:7d:f8:ea", - "in_port": 6 - }, - "packet_count": 3, - "priority": 123, - "table_id": 0 - }, - { - "byte_count": 98, - "cookie": 0, - "duration_nsec": 980901000, - "duration_sec": 313499, - "flags": 0, - "hard_timeout": 0, - "idle_timeout": 0, - "importance": 0, - "instructions": [ - { - "actions": [ - { - "field": "vlan_vid", - "mask": null, - "type": "SET_FIELD", - "value": 258 - }, - { - "type": "COPY_TTL_OUT" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "POP_PBB" - }, - { - "ethertype": 4660, - "type": "PUSH_PBB" - }, - { - "ethertype": 39030, - "type": "POP_MPLS" - }, - { - "ethertype": 34887, - "type": "PUSH_MPLS" - }, - { - "type": "POP_VLAN" - }, - { - "ethertype": 33024, - "type": "PUSH_VLAN" - }, - { - "type": "DEC_MPLS_TTL" - }, - { - "mpls_ttl": 10, - "type": "SET_MPLS_TTL" - }, - { - "type": "DEC_NW_TTL" - }, - { - "nw_ttl": 10, - "type": "SET_NW_TTL" - }, - { - "queue_id": 3, - "type": "SET_QUEUE" - }, - { - "group_id": 99, - "type": "GROUP" - }, - { - "max_len": 65535, - "port": 6, - "type": "OUTPUT" - }, - { - "data": "ZXhwX2RhdGE=", - "experimenter": 98765432, - "type": "EXPERIMENTER" - }, - { - "data": "cF9kYXRh", - "experimenter": 8992, - "subtype": 25976, - "type": "EXPERIMENTER" - } - ], - "type": "WRITE_ACTIONS" - }, - { - "actions": [ - { - "field": "eth_src", - "mask": null, - "type": "SET_FIELD", - "value": "01:02:03:04:05:06" - }, - { - "field": "pbb_uca", - "mask": null, - "type": "SET_FIELD", - "value": 1 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "actions": [ - { - "max_len": 65535, - "port": 4294967293, - "type": "OUTPUT" - } - ], - "type": "WRITE_ACTIONS" - } - ], - "length": 0, - "match": {}, - "packet_count": 1, - "priority": 0, - "table_id": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json deleted file mode 100644 index c655f8f0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-16-ofp_experimenter.packet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "exp": { - "data": "bmF6bw==", - "data_type": "base64", - "exp_type": 123456789, - "experimenter": 98765432 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json deleted file mode 100644 index 72054e33..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-2-ofp_flow_mod.packet.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "cmd": 0, - "flow": { - "instructions": [ - { - "actions": [ - { - "field": "vlan_vid", - "type": "SET_FIELD", - "value": 258 - }, - { - "type": "COPY_TTL_OUT" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "POP_PBB" - }, - { - "ethertype": 4660, - "type": "PUSH_PBB" - }, - { - "ethertype": 39030, - "type": "POP_MPLS" - }, - { - "ethertype": 34887, - "type": "PUSH_MPLS" - }, - { - "type": "POP_VLAN" - }, - { - "ethertype": 33024, - "type": "PUSH_VLAN" - }, - { - "type": "DEC_MPLS_TTL" - }, - { - "mpls_ttl": 10, - "type": "SET_MPLS_TTL" - }, - { - "type": "DEC_NW_TTL" - }, - { - "nw_ttl": 10, - "type": "SET_NW_TTL" - }, - { - "data": "AAECAwQFBgc=", - "data_type": "base64", - "experimenter": 101, - "type": "EXPERIMENTER" - }, - { - "queue_id": 3, - "type": "SET_QUEUE" - }, - { - "group_id": 99, - "type": "GROUP" - }, - { - "max_len": 65535, - "port": 6, - "type": "OUTPUT" - } - ], - "type": "WRITE_ACTIONS" - }, - { - "actions": [ - { - "field": "eth_src", - "type": "SET_FIELD", - "value": "01:02:03:04:05:06" - }, - { - "field": "pbb_uca", - "type": "SET_FIELD", - "value": 1 - } - ], - "type": "APPLY_ACTIONS" - } - ], - "buffer_id": 65535, - "importance": 0, - "match": { - "eth_dst": "f2:0b:a4:7d:f8:ea" - }, - "priority": 123, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json deleted file mode 100644 index fa48425a..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-21-ofp_group_mod.packet.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "cmd": 0, - "group": { - "buckets": [ - { - "actions": [ - { - "max_len": 65535, - "port": 2, - "type": "OUTPUT" - } - ], - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "group_id": 1, - "type": "ALL" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json deleted file mode 100644 index 980456eb..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-22-ofp_port_mod.packet.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "port_config": { - "config": 0, - "hw_addr": "00:11:00:00:11:11", - "mask": 0, - "port_no": 1, - "properties": [ - { - "advertise": 4096, - "length": 8, - "type": 0 - }, - { - "configure": 3, - "fl_offset": 2000, - "freq_lmda": 1500, - "grid_span": 3000, - "length": 24, - "tx_pwr": 300, - "type": 1 - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": 65535 - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": 65535 - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": 65535 - } - ] - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json deleted file mode 100644 index 845af65b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-25-ofp_aggregate_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 255 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json deleted file mode 100644 index a4b23d12..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-26-ofp_aggregate_stats_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": [ - { - "byte_count": 574, - "flow_count": 6, - "packet_count": 7 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json deleted file mode 100644 index 95b2c495..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-28-ofp_table_stats_reply.packet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "1": [ - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 0 - }, - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json deleted file mode 100644 index f9f1d86f..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-30-ofp_port_stats_reply.packet.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "1": [ - { - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 7, - "properties": [ - { - "collisions": 0, - "rx_crc_err": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "type": "ETHERNET" - }, - { - "bias_current": 300, - "flags": 3, - "rx_freq_lmda": 1500, - "rx_grid_span": 500, - "rx_offset": 700, - "rx_pwr": 2000, - "temperature": 273, - "tx_freq_lmda": 1500, - "tx_grid_span": 500, - "tx_offset": 700, - "tx_pwr": 2000, - "type": "OPTICAL" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "type": "EXPERIMENTER" - } - ], - "rx_bytes": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 0, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "port_no": 6, - "properties": [ - { - "collisions": 0, - "rx_crc_err": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "type": "ETHERNET" - } - ], - "rx_bytes": 336, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 4, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json deleted file mode 100644 index 2a29ac2d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-32-ofp_group_features_reply.packet.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "1": [ - { - "actions": [ - { - "ALL": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "SELECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "INDIRECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "FF": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - } - ], - "capabilities": [ - "SELECT_WEIGHT", - "CHAINING" - ], - "max_groups": [ - { - "ALL": 16777216 - }, - { - "SELECT": 16777216 - }, - { - "INDIRECT": 16777216 - }, - { - "FF": 16777216 - } - ], - "types": [ - "ALL", - "SELECT", - "INDIRECT", - "FF" - ] - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json deleted file mode 100644 index df0ef359..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-34-ofp_group_desc_reply.packet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "1": [ - { - "buckets": [ - { - "actions": [ - { - "max_len": 65535, - "port": 2, - "type": "OUTPUT" - } - ], - "len": 32, - "watch_group": 1, - "watch_port": 1, - "weight": 1 - } - ], - "group_id": 1, - "length": 40, - "type": "ALL" - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json deleted file mode 100644 index a6d246d0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-36-ofp_queue_stats_reply.packet.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "1": [ - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 104, - "port_no": 7, - "properties": [ - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 48, - "port_no": 6, - "properties": [], - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 48, - "port_no": 7, - "properties": [], - "queue_id": 2, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json deleted file mode 100644 index b78ea6be..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-43-ofp_meter_mod.packet.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "cmd": 0, - "meter": { - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100, - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - }, - { - "burst_size": 10, - "prec_level": 1, - "rate": 1000, - "type": "DSCP_REMARK" - }, - { - "burst_size": 10, - "experimenter": 999, - "len": 16, - "rate": 1000, - "type": "EXPERIMENTER" - } - ] - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json deleted file mode 100644 index d5efcd97..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-46-ofp_meter_config_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - } - ], - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json deleted file mode 100644 index f21ec519..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-48-ofp_meter_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_stats": [ - { - "byte_band_count": 0, - "packet_band_count": 0 - } - ], - "byte_in_count": 0, - "duration_nsec": 480000, - "duration_sec": 0, - "flow_count": 0, - "len": 56, - "meter_id": 100, - "packet_in_count": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json deleted file mode 100644 index 24dac7d4..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-50-ofp_meter_features_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_types": [ - "DROP", - "DSCP_REMARK" - ], - "capabilities": [ - "KBPS", - "PKTPS", - "BURST", - "STATS" - ], - "max_bands": 255, - "max_color": 0, - "max_meter": 16777216 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json deleted file mode 100644 index c2f748a8..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-52-ofp_port_desc_reply.packet.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "1": [ - { - "config": 0, - "hw_addr": "f2:0b:a4:d0:3f:70", - "length": 168, - "name": "Port7", - "port_no": 7, - "properties": [ - { - "advertised": 10240, - "curr": 10248, - "curr_speed": 5000, - "length": 32, - "max_speed": 5000, - "peer": 10248, - "supported": 10248, - "type": "ETHERNET" - }, - { - "length": 40, - "rx_grid_freq_lmda": 1500, - "rx_max_freq_lmda": 2000, - "rx_min_freq_lmda": 1000, - "supported": 1, - "tx_grid_freq_lmda": 1500, - "tx_max_freq_lmda": 2000, - "tx_min_freq_lmda": 1000, - "tx_pwr_max": 2000, - "tx_pwr_min": 1000, - "type": "OPTICAL" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "state": 4 - }, - { - "config": 0, - "hw_addr": "f2:0b:a4:7d:f8:ea", - "length": 72, - "name": "Port6", - "port_no": 6, - "properties": [ - { - "advertised": 10240, - "curr": 10248, - "curr_speed": 5000, - "length": 32, - "max_speed": 5000, - "peer": 10248, - "supported": 10248, - "type": "ETHERNET" - } - ], - "state": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json deleted file mode 100644 index ded5a996..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-54-ofp_table_features_reply.packet.json +++ /dev/null @@ -1,11928 +0,0 @@ -{ - "1": [ - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "\u79c1\u306e\u30c6\u30fc\u30d6\u30eb", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - }, - { - "type": "EXPERIMENTER" - }, - { - "type": "EXPERIMENTER" - }, - { - "type": "EXPERIMENTER" - } - ], - "table_id": 0 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x01", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 1 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x02", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 2 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x03", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 3 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x04", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 4 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x05", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 5 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x06", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 6 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x07", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 7 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x08", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 8 - }, - { - "config": 0, - "max_entries": 16777216, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "Flow Table 0x09", - "properties": [ - { - "instruction_ids": [ - { - "len": 4, - "type": 1 - }, - { - "len": 4, - "type": 2 - }, - { - "len": 4, - "type": 3 - }, - { - "len": 4, - "type": 4 - }, - { - "len": 4, - "type": 5 - }, - { - "len": 4, - "type": 6 - } - ], - "type": "INSTRUCTIONS" - }, - { - "table_ids": [ - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 121, - 122, - 123, - 124, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 148, - 149, - 150, - 151, - 152, - 153, - 154, - 155, - 156, - 157, - 158, - 159, - 160, - 161, - 162, - 163, - 164, - 165, - 166, - 167, - 168, - 169, - 170, - 171, - 172, - 173, - 174, - 175, - 176, - 177, - 178, - 179, - 180, - 181, - 182, - 183, - 184, - 185, - 186, - 187, - 188, - 189, - 190, - 191, - 192, - 193, - 194, - 195, - 196, - 197, - 198, - 199, - 200, - 201, - 202, - 203, - 204, - 205, - 206, - 207, - 208, - 209, - 210, - 211, - 212, - 213, - 214, - 215, - 216, - 217, - 218, - 219, - 220, - 221, - 222, - 223, - 224, - 225, - 226, - 227, - 228, - 229, - 230, - 231, - 232, - 233, - 234, - 235, - 236, - 237, - 238, - 239, - 240, - 241, - 242, - 243, - 244, - 245, - 246, - 247, - 248, - 249, - 250, - 251, - 252, - 253, - 254 - ], - "type": "NEXT_TABLES" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "WRITE_ACTIONS" - }, - { - "action_ids": [ - { - "len": 4, - "type": 0 - }, - { - "len": 4, - "type": 22 - }, - { - "len": 4, - "type": 21 - }, - { - "len": 4, - "type": 15 - }, - { - "len": 4, - "type": 16 - }, - { - "len": 4, - "type": 23 - }, - { - "len": 4, - "type": 24 - }, - { - "len": 4, - "type": 11 - }, - { - "len": 4, - "type": 12 - }, - { - "len": 4, - "type": 17 - }, - { - "len": 4, - "type": 18 - }, - { - "len": 4, - "type": 19 - }, - { - "len": 4, - "type": 20 - }, - { - "len": 4, - "type": 26 - }, - { - "len": 4, - "type": 27 - }, - { - "len": 4, - "type": 25 - } - ], - "type": "APPLY_ACTIONS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "MATCH" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WILDCARDS" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "WRITE_SETFIELD" - }, - { - "oxm_ids": [ - { - "hasmask": 0, - "length": 0, - "type": "in_port" - }, - { - "hasmask": 0, - "length": 0, - "type": "metadata" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "eth_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_vid" - }, - { - "hasmask": 0, - "length": 0, - "type": "vlan_pcp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_dscp" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_ecn" - }, - { - "hasmask": 0, - "length": 0, - "type": "ip_proto" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv4_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "tcp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "udp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "sctp_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv4_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_op" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_spa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tpa" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_sha" - }, - { - "hasmask": 0, - "length": 0, - "type": "arp_tha" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_src" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_dst" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_flabel" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_type" - }, - { - "hasmask": 0, - "length": 0, - "type": "icmpv6_code" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_target" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_sll" - }, - { - "hasmask": 0, - "length": 0, - "type": "ipv6_nd_tll" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_label" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_tc" - }, - { - "hasmask": 0, - "length": 0, - "type": "mpls_bos" - }, - { - "hasmask": 0, - "length": 0, - "type": "pbb_isid" - } - ], - "type": "APPLY_SETFIELD" - } - ], - "table_id": 9 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json deleted file mode 100644 index 1c6f9039..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-56-ofp_group_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bucket_stats": [ - { - "byte_count": 2345, - "packet_count": 234 - } - ], - "byte_count": 12345, - "duration_nsec": 609036000, - "duration_sec": 9, - "group_id": 1, - "length": 56, - "packet_count": 123, - "ref_count": 2 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json deleted file mode 100644 index fc863813..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-63-ofp_queue_desc_request.packet.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "port_no": 7, - "queue_id": 4294967295 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json deleted file mode 100644 index ca6e87f2..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of14/5-64-ofp_queue_desc_reply.packet.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "1": [ - { - "len": 32, - "port_no": 7, - "properties": [ - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - } - ], - "queue_id": 0 - }, - { - "len": 88, - "port_no": 8, - "properties": [ - { - "length": 8, - "rate": 300, - "type": "MIN_RATE" - }, - { - "length": 8, - "rate": 900, - "type": "MAX_RATE" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "queue_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json deleted file mode 100644 index 0b5e04be..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_reply.packet.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "1": [ - { - "cookie": 1234605616436508552, - "flags": 1, - "hard_timeout": 255, - "idle_timeout": 255, - "importance": 43690, - "instructions": [ - { - "table_id": 2, - "type": "GOTO_TABLE" - }, - { - "actions": [ - { - "meter_id": 2, - "type": "METER" - } - ], - "type": "WRITE_ACTIONS" - }, - { - "actions": [ - { - "type": "COPY_FIELD", - "n_bits": 32, - "src_offset": 1, - "dst_offset": 2, - "src_oxm_id": "eth_src", - "dst_oxm_id": "eth_dst" - } - ], - "type": "APPLY_ACTIONS" - } - ], - "length": 64, - "match": { - "in_port": 1 - }, - "priority": 5, - "stats": { - "flow_count": 1 - }, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json deleted file mode 100644 index f59aa0b2..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_desc_request.packet.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "flow": { - "cookie": 1234605616436508552, - "cookie_mask": 18446744073709551615, - "flags": 0, - "match": { - "in_port": 1 - }, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json deleted file mode 100644 index cc3ba488..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/lib-ofctl-OFP15-flow_mod.packet.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "cmd": 0, - "flow": { - "instructions": [ - { - "actions": [ - { - "field": "vlan_vid", - "type": "SET_FIELD", - "value": 258 - }, - { - "type": "COPY_TTL_OUT" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "POP_PBB" - }, - { - "ethertype": 4660, - "type": "PUSH_PBB" - }, - { - "ethertype": 39030, - "type": "POP_MPLS" - }, - { - "ethertype": 34887, - "type": "PUSH_MPLS" - }, - { - "type": "POP_VLAN" - }, - { - "ethertype": 33024, - "type": "PUSH_VLAN" - }, - { - "type": "DEC_MPLS_TTL" - }, - { - "mpls_ttl": 10, - "type": "SET_MPLS_TTL" - }, - { - "type": "DEC_NW_TTL" - }, - { - "nw_ttl": 10, - "type": "SET_NW_TTL" - }, - { - "data": "AAECAwQFBgc=", - "data_type": "base64", - "experimenter": 101, - "type": "EXPERIMENTER" - }, - { - "queue_id": 3, - "type": "SET_QUEUE" - }, - { - "meter_id": 2, - "type": "METER" - }, - { - "group_id": 99, - "type": "GROUP" - }, - { - "max_len": 65535, - "port": 6, - "type": "OUTPUT" - } - ], - "type": "WRITE_ACTIONS" - }, - { - "actions": [ - { - "field": "eth_src", - "type": "SET_FIELD", - "value": "01:02:03:04:05:06" - }, - { - "field": "pbb_uca", - "type": "SET_FIELD", - "value": 1 - }, - { - "type": "COPY_FIELD", - "n_bits": 32, - "src_offset": 1, - "dst_offset": 2, - "src_oxm_id": "eth_src", - "dst_oxm_id": "eth_dst" - } - ], - "type": "APPLY_ACTIONS" - } - ], - "buffer_id": 65535, - "importance": 0, - "match": { - "eth_dst": "f2:0b:a4:7d:f8:ea" - }, - "priority": 123, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json deleted file mode 100644 index ac4f93c4..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_reply.packet.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "1": [ - { - "length": 16, - "stats": { - "flow_count": 1 - } - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json deleted file mode 100644 index 845af65b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-aggregate_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 255 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json deleted file mode 100644 index 8fc54b74..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-desc_reply.packet.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "1": { - "dp_desc": "dp", - "hw_desc": "hw", - "mfr_desc": "mfr", - "serial_num": "serial", - "sw_desc": "sw" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json deleted file mode 100644 index c655f8f0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-experimenter.packet.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "exp": { - "data": "bmF6bw==", - "data_type": "base64", - "exp_type": 123456789, - "experimenter": 98765432 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json deleted file mode 100644 index 4e12f857..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_reply.packet.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "1": [ - { - "cookie": 1234605616436508552, - "flags": 1, - "hard_timeout": 255, - "idle_timeout": 255, - "importance": 43690, - "instructions": [ - { - "table_id": 2, - "type": "GOTO_TABLE" - } - ], - "length": 64, - "match": { - "in_port": 1 - }, - "priority": 5, - "stats": { - "flow_count": 1 - }, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json deleted file mode 100644 index f59aa0b2..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_desc_request.packet.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "flow": { - "cookie": 1234605616436508552, - "cookie_mask": 18446744073709551615, - "flags": 0, - "match": { - "in_port": 1 - }, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json deleted file mode 100644 index 72054e33..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_mod_no_nx.packet.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "cmd": 0, - "flow": { - "instructions": [ - { - "actions": [ - { - "field": "vlan_vid", - "type": "SET_FIELD", - "value": 258 - }, - { - "type": "COPY_TTL_OUT" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "COPY_TTL_IN" - }, - { - "type": "POP_PBB" - }, - { - "ethertype": 4660, - "type": "PUSH_PBB" - }, - { - "ethertype": 39030, - "type": "POP_MPLS" - }, - { - "ethertype": 34887, - "type": "PUSH_MPLS" - }, - { - "type": "POP_VLAN" - }, - { - "ethertype": 33024, - "type": "PUSH_VLAN" - }, - { - "type": "DEC_MPLS_TTL" - }, - { - "mpls_ttl": 10, - "type": "SET_MPLS_TTL" - }, - { - "type": "DEC_NW_TTL" - }, - { - "nw_ttl": 10, - "type": "SET_NW_TTL" - }, - { - "data": "AAECAwQFBgc=", - "data_type": "base64", - "experimenter": 101, - "type": "EXPERIMENTER" - }, - { - "queue_id": 3, - "type": "SET_QUEUE" - }, - { - "group_id": 99, - "type": "GROUP" - }, - { - "max_len": 65535, - "port": 6, - "type": "OUTPUT" - } - ], - "type": "WRITE_ACTIONS" - }, - { - "actions": [ - { - "field": "eth_src", - "type": "SET_FIELD", - "value": "01:02:03:04:05:06" - }, - { - "field": "pbb_uca", - "type": "SET_FIELD", - "value": 1 - } - ], - "type": "APPLY_ACTIONS" - } - ], - "buffer_id": 65535, - "importance": 0, - "match": { - "eth_dst": "f2:0b:a4:7d:f8:ea" - }, - "priority": 123, - "table_id": 1 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json deleted file mode 100644 index 385f256b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_reply.packet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "1": [ - { - "length": 40, - "match": { - "in_port": 1 - }, - "priority": 1, - "reason": 0, - "stats": { - "flow_count": 1 - }, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json deleted file mode 100644 index a42dfef0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-flow_stats_request.packet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "flow": { - "cookie": 0, - "cookie_mask": 0, - "flags": 0, - "match": {}, - "out_group": 4294967295, - "out_port": 4294967295, - "table_id": 0 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json deleted file mode 100644 index b6b75020..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_reply.packet.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "1": [ - { - "buckets": [ - { - "actions": [ - { - "max_len": 65509, - "port": 1, - "type": "OUTPUT" - } - ], - "bucket_id": 65535, - "properties": [ - { - "type": "WEIGHT", - "weight": 65535 - } - ] - } - ], - "group_id": 1, - "properties": [], - "type": "SELECT" - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json deleted file mode 100644 index f25aaff4..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_desc_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "group_id": 52651 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json deleted file mode 100644 index 2a29ac2d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_features_reply.packet.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "1": [ - { - "actions": [ - { - "ALL": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "SELECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "INDIRECT": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - }, - { - "FF": [ - "OUTPUT", - "COPY_TTL_OUT", - "COPY_TTL_IN", - "SET_MPLS_TTL", - "DEC_MPLS_TTL", - "PUSH_VLAN", - "POP_VLAN", - "PUSH_MPLS", - "POP_MPLS", - "SET_QUEUE", - "GROUP", - "SET_NW_TTL", - "DEC_NW_TTL", - "SET_FIELD" - ] - } - ], - "capabilities": [ - "SELECT_WEIGHT", - "CHAINING" - ], - "max_groups": [ - { - "ALL": 16777216 - }, - { - "SELECT": 16777216 - }, - { - "INDIRECT": 16777216 - }, - { - "FF": 16777216 - } - ], - "types": [ - "ALL", - "SELECT", - "INDIRECT", - "FF" - ] - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json deleted file mode 100644 index eca861ea..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_mod.packet.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "cmd": 3, - "group": { - "buckets": [ - { - "actions": [ - { - "len": 8, - "type": "POP_VLAN" - }, - { - "field": "ipv4_dst", - "type": "SET_FIELD", - "value": "192.168.2.9" - } - ], - "bucket_id": 305419896, - "properties": [ - { - "length": 8, - "type": "WEIGHT", - "weight": 52428 - }, - { - "length": 8, - "type": "WATCH_PORT", - "watch": 56797 - }, - { - "length": 8, - "type": "WATCH_GROUP", - "watch": 4008636142 - } - ] - } - ], - "command_bucket_id": 3149642683, - "group_id": 2863311530, - "properties": [], - "type": "SELECT" - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json deleted file mode 100644 index 1c6f9039..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-group_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bucket_stats": [ - { - "byte_count": 2345, - "packet_count": 234 - } - ], - "byte_count": 12345, - "duration_nsec": 609036000, - "duration_sec": 9, - "group_id": 1, - "length": 56, - "packet_count": 123, - "ref_count": 2 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json deleted file mode 100644 index d5efcd97..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_desc_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - } - ], - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json deleted file mode 100644 index 24dac7d4..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_features_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_types": [ - "DROP", - "DSCP_REMARK" - ], - "capabilities": [ - "KBPS", - "PKTPS", - "BURST", - "STATS" - ], - "max_bands": 255, - "max_color": 0, - "max_meter": 16777216 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json deleted file mode 100644 index 1d881209..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_mod.packet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "cmd": 0, - "meter": { - "bands": [ - { - "burst_size": 10, - "rate": 1000, - "type": "DROP" - }, - { - "burst_size": 10, - "prec_level": 1, - "rate": 1000, - "type": "DSCP_REMARK" - } - ], - "flags": [ - "PKTPS", - "BURST", - "STATS" - ], - "meter_id": 100 - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json deleted file mode 100644 index e7f9722b..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-meter_stats_reply.packet.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "1": [ - { - "band_stats": [ - { - "byte_band_count": 0, - "packet_band_count": 0 - } - ], - "byte_in_count": 0, - "duration_nsec": 480000, - "duration_sec": 0, - "len": 56, - "meter_id": 100, - "packet_in_count": 0, - "ref_count": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json deleted file mode 100644 index c2f748a8..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_reply.packet.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "1": [ - { - "config": 0, - "hw_addr": "f2:0b:a4:d0:3f:70", - "length": 168, - "name": "Port7", - "port_no": 7, - "properties": [ - { - "advertised": 10240, - "curr": 10248, - "curr_speed": 5000, - "length": 32, - "max_speed": 5000, - "peer": 10248, - "supported": 10248, - "type": "ETHERNET" - }, - { - "length": 40, - "rx_grid_freq_lmda": 1500, - "rx_max_freq_lmda": 2000, - "rx_min_freq_lmda": 1000, - "supported": 1, - "tx_grid_freq_lmda": 1500, - "tx_max_freq_lmda": 2000, - "tx_min_freq_lmda": 1000, - "tx_pwr_max": 2000, - "tx_pwr_min": 1000, - "type": "OPTICAL" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "state": 4 - }, - { - "config": 0, - "hw_addr": "f2:0b:a4:7d:f8:ea", - "length": 72, - "name": "Port6", - "port_no": 6, - "properties": [ - { - "advertised": 10240, - "curr": 10248, - "curr_speed": 5000, - "length": 32, - "max_speed": 5000, - "peer": 10248, - "supported": 10248, - "type": "ETHERNET" - } - ], - "state": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json deleted file mode 100644 index d0519e83..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_desc_request.packet.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "port_no": 48346 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json deleted file mode 100644 index be9de69d..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_mod.packet.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "port_config": { - "config": 0, - "hw_addr": "00:11:00:00:11:11", - "mask": 0, - "port_no": 1, - "properties": [ - { - "advertise": 4096, - "length": 8, - "type": "ETHERNET" - }, - { - "configure": 3, - "fl_offset": 2000, - "freq_lmda": 1500, - "grid_span": 3000, - "length": 24, - "tx_pwr": 300, - "type": "OPTICAL" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ] - } -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json deleted file mode 100644 index 821c9b72..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-port_stats_reply.packet.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "1": [ - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 224, - "port_no": 7, - "properties": [ - { - "collisions": 0, - "length": 40, - "rx_crc_err": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "type": "ETHERNET" - }, - { - "bias_current": 300, - "flags": 3, - "length": 44, - "rx_freq_lmda": 1500, - "rx_grid_span": 500, - "rx_offset": 700, - "rx_pwr": 2000, - "temperature": 273, - "tx_freq_lmda": 1500, - "tx_grid_span": 500, - "tx_offset": 700, - "tx_pwr": 2000, - "type": "OPTICAL" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "rx_bytes": 0, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 0, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 120, - "port_no": 6, - "properties": [ - { - "collisions": 0, - "length": 40, - "rx_crc_err": 0, - "rx_frame_err": 0, - "rx_over_err": 0, - "type": "ETHERNET" - } - ], - "rx_bytes": 336, - "rx_dropped": 0, - "rx_errors": 0, - "rx_packets": 4, - "tx_bytes": 336, - "tx_dropped": 0, - "tx_errors": 0, - "tx_packets": 4 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json deleted file mode 100644 index 71ca0b71..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_reply.packet.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "1": [ - { - "len": 32, - "port_no": 7, - "properties": [ - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - } - ], - "queue_id": 0 - }, - { - "len": 88, - "port_no": 8, - "properties": [ - { - "length": 8, - "rate": 300, - "type": "MIN_RATE" - }, - { - "length": 8, - "rate": 900, - "type": "MAX_RATE" - }, - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "queue_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json deleted file mode 100644 index 9765cf31..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_desc_request.packet.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "port_no": 52651, - "queue_id": 57020 -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json deleted file mode 100644 index a6d246d0..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-queue_stats_reply.packet.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "1": [ - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 104, - "port_no": 7, - "properties": [ - { - "data": [], - "exp_type": 0, - "experimenter": 101, - "length": 12, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1 - ], - "exp_type": 1, - "experimenter": 101, - "length": 16, - "type": "EXPERIMENTER" - }, - { - "data": [ - 1, - 2 - ], - "exp_type": 2, - "experimenter": 101, - "length": 20, - "type": "EXPERIMENTER" - } - ], - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 48, - "port_no": 6, - "properties": [], - "queue_id": 1, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - }, - { - "duration_nsec": 0, - "duration_sec": 0, - "length": 48, - "port_no": 7, - "properties": [], - "queue_id": 2, - "tx_bytes": 0, - "tx_errors": 0, - "tx_packets": 0 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json deleted file mode 100644 index e16efb76..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_features_reply.packet.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "1": [ - { - "capabilities": 4, - "command": 1, - "features": 1, - "length": 80, - "max_entries": 255, - "metadata_match": 18446744073709551615, - "metadata_write": 18446744073709551615, - "name": "table1", - "properties": [ - { - "oxm_values": [ - { - "eth_src": "aa:bb:cc:dd:ee:ff" - } - ], - "type": "PACKET_TYPES" - } - ], - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json b/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json deleted file mode 100644 index 95b2c495..00000000 --- a/ryu/tests/unit/lib/ofctl_json/of15/libofproto-OFP15-table_stats_reply.packet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "1": [ - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 0 - }, - { - "active_count": 4, - "lookup_count": 4, - "matched_count": 4, - "table_id": 1 - } - ] -} diff --git a/ryu/tests/unit/lib/ovs/test_vsctl.py b/ryu/tests/unit/lib/ovs/test_vsctl.py deleted file mode 100644 index 84698eec..00000000 --- a/ryu/tests/unit/lib/ovs/test_vsctl.py +++ /dev/null @@ -1,813 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from distutils.spawn import find_executable -import logging -import subprocess -import unittest - -from nose.tools import eq_ -from nose.tools import ok_ - -from ryu.lib.hub import sleep -from ryu.lib.ovs import vsctl - -try: - import mock # Python 2 -except ImportError: - from unittest import mock # Python 3 - - -LOG = logging.getLogger(__name__) - -DOCKER_IMAGE_MININET = 'osrg/ryu-book' - -OVSDB_MANAGER_ADDR = 'ptcp:6640' -OVSDB_SWITCH_ADDR = 'tcp:%s:6640' - - -def setUpModule(): - if not find_executable('docker'): - raise unittest.SkipTest( - 'Docker is not available. Test in %s will be skipped.' % __name__) - - -class TestUtils(unittest.TestCase): - """ - Test cases for utilities defined in module. - """ - - @mock.patch('os.path.isfile', mock.MagicMock(return_value=True)) - def test_valid_ovsdb_addr_with_unix(self): - ok_(vsctl.valid_ovsdb_addr('unix:/var/run/openvswitch/db.sock')) - - def test_valid_ovsdb_addr_with_ipv4(self): - ok_(vsctl.valid_ovsdb_addr('tcp:127.0.0.1:6640')) - - def test_valid_ovsdb_addr_with_ipv6(self): - ok_(vsctl.valid_ovsdb_addr('ssl:[::1]:6640')) - - def test_valid_ovsdb_addr_with_invalid_type(self): - eq_(vsctl.valid_ovsdb_addr('invalid:127.0.0.1:6640'), False) - - -def _run(command): - popen = subprocess.Popen(command.split(), stdout=subprocess.PIPE) - popen.wait() - result = popen.stdout.read().decode('utf-8') - - if result: - return [str(r.strip('\r')) for r in result.split('\n')] - else: - return [] - - -class TestVSCtl(unittest.TestCase): - """ - Test cases for ryu.lib.ovs.vsctl.VSCtl - """ - container_mn = None # Container ID of Mininet - container_mn_ip = None # IP of Mininet container - - vsctl = None # instance of vsctl.VSCtl - - @classmethod - def _docker_exec(cls, container, command): - return _run('docker exec -t %s %s' % (container, command)) - - @classmethod - def _docker_exec_mn(cls, command): - return cls._docker_exec(cls.container_mn, command) - - @classmethod - def _docker_run(cls, image): - return _run('docker run --privileged -t -d %s' % image)[0] - - @classmethod - def _docker_stop(cls, container): - return _run('docker stop %s' % container)[0] - - @classmethod - def _docker_rm(cls, container): - return _run('docker rm %s' % container)[0] - - @classmethod - def _docker_inspect_ip_addr(cls, container): - return _run( - 'docker inspect --format="{{.NetworkSettings.IPAddress}}" %s' % - container)[0].strip('"') - - @classmethod - def _set_up_mn_container(cls): - cls.container_mn = cls._docker_run(DOCKER_IMAGE_MININET) - cls.container_mn_ip = cls._docker_inspect_ip_addr(cls.container_mn) - - # Note: Wait for loading the OVS kernel module. - # If the OVS kernel module is loaded at first time, it might take - # a few seconds. - sleep(5) - - cls._docker_exec_mn( - 'ovs-vsctl set-manager %s' % OVSDB_MANAGER_ADDR) - - @classmethod - def _set_up_vsctl(cls): - cls.vsctl = vsctl.VSCtl(OVSDB_SWITCH_ADDR % cls.container_mn_ip) - - @classmethod - def setUpClass(cls): - cls._set_up_mn_container() - cls._set_up_vsctl() - - @classmethod - def _tear_down_mn_container(cls): - cls._docker_exec_mn('mn --clean') - cls._docker_stop(cls.container_mn) - cls._docker_rm(cls.container_mn) - - @classmethod - def tearDownClass(cls): - cls._tear_down_mn_container() - - def setUp(self): - pass - - def tearDown(self): - pass - - def _run_commands(self, commands): - self.vsctl.run_command(commands, timeout_sec=1) - - # 00: Open vSwitch commands - - def test_00_01_init(self): - command = vsctl.VSCtlCommand('init') - self._run_commands([command]) - - ok_(command.result is None) - - def test_00_02_show(self): - command = vsctl.VSCtlCommand('show') - self._run_commands([command]) - - ok_(command.result is not None) - - # 01: Bridge commands - - def test_01_01_add_br_bridge(self): - bridge = 's1' - command = vsctl.VSCtlCommand('add-br', (bridge,)) - self._run_commands([command]) - - result = self._docker_exec_mn('ovs-vsctl list-br') - ok_(bridge in result) - - def test_01_02_add_br_parent_vlan(self): - bridge = 'sub-s1-100' - parent = 's1' - vlan = '100' - command = vsctl.VSCtlCommand('add-br', (bridge, parent, vlan)) - self._run_commands([command]) - - result = self._docker_exec_mn('ovs-vsctl list-br') - ok_(bridge in result) - result = self._docker_exec_mn( - 'ovs-vsctl br-to-parent %s' % bridge) - eq_(parent, result[0]) - result = self._docker_exec_mn( - 'ovs-vsctl br-to-vlan %s' % bridge) - eq_(vlan, result[0]) - - def test_01_03_del_br(self): - bridge = 's1' - child = 'sub-s1-100' - - command = vsctl.VSCtlCommand('del-br', (bridge,)) - self._run_commands([command]) - - result = self._docker_exec_mn('ovs-vsctl list-br') - ok_(bridge not in result) - ok_(child not in result) - - def test_01_04_list_br(self): - bridge = 's1' - child = 'sub-s1-100' - vlan = '100' - self._docker_exec_mn('ovs-vsctl add-br %s' % bridge) - self._docker_exec_mn( - 'ovs-vsctl add-br %s %s %s' % (child, bridge, vlan)) - - command = vsctl.VSCtlCommand('list-br') - self._run_commands([command]) - - ok_(bridge in command.result) - ok_(child in command.result) - - def test_01_05_br_exists(self): - bridge = 's1' - - command = vsctl.VSCtlCommand('br-exists', (bridge, )) - self._run_commands([command]) - - eq_(True, command.result) - - def test_01_06_br_to_vlan(self): - bridge = 's1' - - command = vsctl.VSCtlCommand('br-to-vlan', (bridge, )) - self._run_commands([command]) - - eq_(0, command.result) - - def test_01_06_br_to_vlan_fake_bridge(self): - bridge = 'sub-s1-100' - - command = vsctl.VSCtlCommand('br-to-vlan', (bridge, )) - self._run_commands([command]) - - eq_(100, command.result) - - def test_01_07_br_to_parent(self): - bridge = 's1' - parent = bridge - - command = vsctl.VSCtlCommand('br-to-parent', (bridge, )) - self._run_commands([command]) - - # result = - eq_(parent, command.result.name) - - def test_01_07_br_to_parent_fake_bridge(self): - bridge = 'sub-s1-100' - parent = 's1' - - command = vsctl.VSCtlCommand('br-to-parent', (bridge, )) - self._run_commands([command]) - - # result = - eq_(parent, command.result.name) - - def test_01_08_br_set_external_id_add(self): - bridge = 's1' - key = 'ext_id_key' - value = 'ext_id_value' - - command = vsctl.VSCtlCommand( - 'br-set-external-id', (bridge, key, value)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl br-get-external-id %s %s' % (bridge, key)) - eq_(value, result[0]) - - def test_01_09_br_get_external_id_value(self): - bridge = 's1' - key = 'ext_id_key' - value = 'ext_id_value' - - command = vsctl.VSCtlCommand( - 'br-get-external-id', (bridge, key)) - self._run_commands([command]) - - eq_(value, command.result) - - def test_01_10_br_get_external_id_dict(self): - bridge = 's1' - key = 'ext_id_key' - value = 'ext_id_value' - - command = vsctl.VSCtlCommand( - 'br-get-external-id', (bridge,)) - self._run_commands([command]) - - eq_({key: value}, command.result) - - def test_01_11_br_set_external_id_clear(self): - bridge = 's1' - key = 'ext_id_key' - - command = vsctl.VSCtlCommand( - 'br-set-external-id', (bridge, key)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl br-get-external-id %s %s' % (bridge, key)) - eq_([], result) - - # Clean up - self._docker_exec_mn('mn --clean') - - # 02: Port commands - - def test_02_01_list_ports(self): - bridge = 's1' - interface_1 = 's1-eth1' - interface_2 = 's1-eth2' - - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_1) - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_2) - self._docker_exec_mn( - 'ovs-vsctl add-br %(bridge)s' - ' -- add-port %(bridge)s %(interface_1)s' - ' -- add-port %(bridge)s %(interface_2)s' % locals()) - - command = vsctl.VSCtlCommand('list-ports', (bridge,)) - self._run_commands([command]) - - ok_(interface_1 in command.result) - ok_(interface_2 in command.result) - - def test_02_02_add_port(self): - bridge = 's1' - interface_1 = 's1-eth1' - self._docker_exec_mn( - 'ovs-vsctl del-port %s %s' % (bridge, interface_1)) - - command = vsctl.VSCtlCommand('add-port', (bridge, interface_1)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl port-to-br %s' % interface_1) - eq_(bridge, result[0]) - - def test_02_03_add_bond(self): - bridge = 's1' - interface_1 = 's1-eth1' - interface_2 = 's1-eth2' - port = 's1-bond1' - interface_list = [interface_1, interface_2] - self._docker_exec_mn('ovs-vsctl del-br %s' % bridge) - self._docker_exec_mn('ovs-vsctl add-br %s' % bridge) - - command = vsctl.VSCtlCommand( - 'add-bond', (bridge, port, interface_list)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl port-to-br %s' % port) - eq_(bridge, result[0]) - - def test_02_04_del_port(self): - bridge = 's1' - port = 's1-bond1' - - command = vsctl.VSCtlCommand('del-port', (bridge, port)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl list-ports %s' % bridge) - eq_([], result) - - def test_02_05_port_to_br(self): - bridge = 's1' - port_1 = 's1-eth1' - port_2 = 's1-eth2' - self._docker_exec_mn('ovs-vsctl del-br %s' % bridge) - self._docker_exec_mn( - 'ovs-vsctl add-br %(bridge)s' - ' -- add-port %(bridge)s %(port_1)s' - ' -- add-port %(bridge)s %(port_2)s' % locals()) - - command = vsctl.VSCtlCommand('port-to-br', (port_1,)) - self._run_commands([command]) - - eq_(bridge, command.result) - - # Clean up - self._docker_exec_mn('mn --clean') - - # 03: Interface commands - - def test_03_01_list_ifaces(self): - bridge = 's1' - interface_1 = 's1-eth1' - interface_2 = 's1-eth2' - - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_1) - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_2) - self._docker_exec_mn( - 'ovs-vsctl add-br %(bridge)s' - ' -- add-port %(bridge)s %(interface_1)s' - ' -- add-port %(bridge)s %(interface_2)s' % locals()) - - command = vsctl.VSCtlCommand('list-ifaces', (bridge,)) - self._run_commands([command]) - - ok_(interface_1 in command.result) - ok_(interface_2 in command.result) - - def test_03_02_ifaces_to_br(self): - bridge = 's1' - interface_1 = 's1-eth1' - - command = vsctl.VSCtlCommand('iface-to-br', (interface_1,)) - self._run_commands([command]) - - eq_(bridge, command.result) - - # Clean up - self._docker_exec_mn('mn --clean') - - # 04: Controller commands - - def test_04_01_get_controller(self): - bridge = 's1' - controller = 'tcp:127.0.0.1:6653' - self._docker_exec_mn( - 'ovs-vsctl add-br %(bridge)s' - ' -- set-controller %(bridge)s %(controller)s' % locals()) - - command = vsctl.VSCtlCommand('get-controller', (bridge,)) - self._run_commands([command]) - - eq_(1, len(command.result)) - eq_(controller, command.result[0]) - - def test_04_02_del_controller(self): - bridge = 's1' - - command = vsctl.VSCtlCommand('del-controller', (bridge,)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get-controller %s' % bridge) - eq_([], result) - - def test_04_03_set_controller(self): - bridge = 's1' - controller = 'tcp:127.0.0.1:6653' - - command = vsctl.VSCtlCommand('set-controller', (bridge, controller)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get-controller %s' % bridge) - eq_(controller, result[0]) - - def test_04_04_get_fail_mode(self): - bridge = 's1' - fai_mode = 'secure' - self._docker_exec_mn( - 'ovs-vsctl set-fail-mode %s %s' % (bridge, fai_mode)) - - command = vsctl.VSCtlCommand('get-fail-mode', (bridge,)) - self._run_commands([command]) - - eq_(fai_mode, command.result) - - def test_04_05_del_fail_mode(self): - bridge = 's1' - - command = vsctl.VSCtlCommand('del-fail-mode', (bridge,)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get-fail-mode %s' % bridge) - eq_([], result) - - def test_04_06_set_fail_mode(self): - bridge = 's1' - fail_mode = 'secure' - - command = vsctl.VSCtlCommand('set-fail-mode', (bridge, fail_mode)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get-fail-mode %s' % bridge) - eq_(fail_mode, result[0]) - - # Clean up - self._docker_exec_mn('mn --clean') - - # 05: Manager commands (not implemented yet) - # 06: SSL commands (not implemented yet) - # 07: Switch commands (not implemented yet) - - # 08: Database commands - - def test_08_01_list(self): - table = 'Bridge' - bridge = 's1' - interface_1 = 's1-eth1' - interface_2 = 's1-eth2' - fail_mode = 'secure' - protocols = 'OpenFlow10,OpenFlow13' - datapath_id = '1111111111111111' - - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_1) - self._docker_exec_mn( - 'ip link add %s type dummy' % interface_2) - self._docker_exec_mn( - 'ovs-vsctl add-br %(bridge)s' - ' -- add-port %(bridge)s %(interface_1)s' - ' -- add-port %(bridge)s %(interface_2)s' % locals()) - self._docker_exec_mn( - 'ovs-vsctl set %(table)s %(bridge)s ' - 'fail_mode=%(fail_mode)s ' - 'protocols=%(protocols)s ' - 'other_config:datapath-id=%(datapath_id)s' % locals()) - - command = vsctl.VSCtlCommand('list', (table,)) - self._run_commands([command]) - - eq_(1, len(command.result)) - # command.result[0] = - eq_(bridge, command.result[0].name) - - def test_08_02_find(self): - table = 'Bridge' - bridge = 's1' - - command = vsctl.VSCtlCommand('find', (table, 'name=%s' % bridge)) - self._run_commands([command]) - - eq_(1, len(command.result)) - # command.result[0] = for Bridge - eq_(bridge, command.result[0].name) - - def test_08_02_find_complex(self): - table = 'Bridge' - bridge = 's1' - fail_mode = 'secure' - protocols = 'OpenFlow10,OpenFlow13' - datapath_id = '1111111111111111' - - command = vsctl.VSCtlCommand( - 'find', (table, 'fail_mode=%s' % fail_mode, - 'protocols=%s' % protocols, - 'other_config:datapath-id=%s' % datapath_id)) - self._run_commands([command]) - - eq_(1, len(command.result)) - # command.result[0] = for Bridge - eq_(bridge, command.result[0].name) - - def test_08_03_get_01_value(self): - table = 'Bridge' - bridge = 's1' - column = 'fail_mode' - value = 'secure' - - command = vsctl.VSCtlCommand('get', (table, bridge, column)) - self._run_commands([command]) - - # command.result[0] is a list of return values - eq_(value, command.result[0][0]) - - def test_08_03_get_02_set(self): - table = 'Bridge' - bridge = 's1' - column = 'protocols' - value = 'OpenFlow10,OpenFlow13'.split(',') - - command = vsctl.VSCtlCommand('get', (table, bridge, column)) - self._run_commands([command]) - - # command.result[0] is a list - eq_(value, command.result[0]) - - def test_08_03_get_03_map(self): - table = 'Bridge' - bridge = 's1' - column = 'other_config' - key = 'datapath-id' - datapath_id = '1111111111111111' - value = {key: datapath_id} - - command = vsctl.VSCtlCommand('get', (table, bridge, column)) - self._run_commands([command]) - - # command.result[0] is a dict - eq_(value, command.result[0]) - - def test_08_03_get_04_map_value(self): - table = 'Bridge' - bridge = 's1' - column = 'other_config' - key = 'datapath-id' - datapath_id = '1111111111111111' - value = datapath_id - - command = vsctl.VSCtlCommand( - 'get', (table, bridge, '%s:%s' % (column, key))) - self._run_commands([command]) - - # command.result[0] is a dict - eq_(value, command.result[0]) - - def test_08_04_set_01_value(self): - table = 'Bridge' - bridge = 's1' - column = 'fail_mode' - value = 'standalone' - - command = vsctl.VSCtlCommand( - 'set', (table, bridge, '%s=%s' % (column, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - eq_(value, result[0]) - - def test_08_04_set_02_set(self): - table = 'Bridge' - bridge = 's1' - column = 'protocols' - value = 'OpenFlow10,OpenFlow12,OpenFlow13' - - command = vsctl.VSCtlCommand( - 'set', (table, bridge, '%s=%s' % (column, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '["OpenFlow10", "OpenFlow12", "OpenFlow13"]' - eq_(expected_value, result[0]) - - def test_08_04_set_03_map(self): - table = 'Bridge' - bridge = 's1' - column = 'other_config' - key = 'datapath-id' - value = '0000000000000001' - - command = vsctl.VSCtlCommand( - 'set', (table, bridge, '%s:%s=%s' % (column, key, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s:%s' % (table, bridge, column, key)) - expected_value = '"0000000000000001"' - eq_(expected_value, result[0]) - - def test_08_05_add_01_value(self): - table = 'Port' - bridge = 's1' - column = 'tag' - value = '100' - - command = vsctl.VSCtlCommand( - 'add', (table, bridge, column, value)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - eq_(value, result[0]) - - def test_08_05_add_02_set(self): - table = 'Port' - bridge = 's1' - column = 'trunks' - value = '100,200' - - command = vsctl.VSCtlCommand( - 'add', (table, bridge, column, value)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '[100, 200]' - eq_(expected_value, result[0]) - - def test_08_05_add_03_map(self): - table = 'Bridge' - bridge = 's1' - column = 'other_config' - key = 'datapath-id' - value = '0000000000000011' - - command = vsctl.VSCtlCommand( - 'add', (table, bridge, column, '%s=%s' % (key, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s:%s' % (table, bridge, column, key)) - expected_value = '"0000000000000011"' - eq_(expected_value, result[0]) - - def test_08_06_remove_01_value(self): - table = 'Port' - bridge = 's1' - column = 'tag' - value = '100' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) - - command = vsctl.VSCtlCommand( - 'remove', (table, bridge, column, value)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '[]' - eq_(expected_value, result[0]) - - def test_08_06_remove_02_set(self): - table = 'Port' - bridge = 's1' - column = 'trunks' - init_value = '100,200,300' - value = '100,200' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, init_value)) - - command = vsctl.VSCtlCommand( - 'remove', (table, bridge, column, value)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '[300]' - eq_(expected_value, result[0]) - - def test_08_06_remove_03_map(self): - table = 'Port' - bridge = 's1' - column = 'other_config' - key = 'priority-tag' - value = 'true' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s:%s=%s' % - (table, bridge, column, key, value)) - - command = vsctl.VSCtlCommand( - 'remove', (table, bridge, column, '%s=%s' % (key, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '{}' - eq_(expected_value, result[0]) - - def test_08_07_clear_01_value(self): - table = 'Port' - bridge = 's1' - column = 'tag' - value = '100' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) - - command = vsctl.VSCtlCommand( - 'clear', (table, bridge, column)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '[]' - eq_(expected_value, result[0]) - - def test_08_07_clear_02_set(self): - table = 'Port' - bridge = 's1' - column = 'trunks' - value = '100,200' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s=%s' % (table, bridge, column, value)) - - command = vsctl.VSCtlCommand( - 'clear', (table, bridge, column)) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '[]' - eq_(expected_value, result[0]) - - def test_08_07_clear_03_map(self): - table = 'Port' - bridge = 's1' - column = 'other_config' - key = 'priority-tag' - value = 'true' - self._docker_exec_mn( - 'ovs-vsctl set %s %s %s:%s=%s' % - (table, bridge, column, key, value)) - - command = vsctl.VSCtlCommand( - 'clear', (table, bridge, column, '%s=%s' % (key, value))) - self._run_commands([command]) - - result = self._docker_exec_mn( - 'ovs-vsctl get %s %s %s' % (table, bridge, column)) - expected_value = '{}' - eq_(expected_value, result[0]) - - # Clean up - self._docker_exec_mn('mn --clean') diff --git a/ryu/tests/unit/lib/test_addrconv.py b/ryu/tests/unit/lib/test_addrconv.py deleted file mode 100644 index 77877038..00000000 --- a/ryu/tests/unit/lib/test_addrconv.py +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest -from nose.tools import eq_ - -from ryu.lib import addrconv - - -class Test_addrconv(unittest.TestCase): - """ Test case for ryu.lib.addrconv - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - @staticmethod - def _test_conv(conv, text_value, bin_value): - eq_(conv.text_to_bin(text_value), bin_value) - eq_(conv.bin_to_text(bin_value), text_value) - - def test_ipv4(self): - self._test_conv(addrconv.ipv4, '0.0.0.0', b'\x00\x00\x00\x00') - self._test_conv(addrconv.ipv4, '127.0.0.1', b'\x7f\x00\x00\x01') - self._test_conv(addrconv.ipv4, '255.255.0.0', b'\xff\xff\x00\x00') - - def test_ipv6(self): - self._test_conv(addrconv.ipv6, 'ff02::1', - (b'\xff\x02\x00\x00\x00\x00\x00\x00' - b'\x00\x00\x00\x00\x00\x00\x00\x01')) - self._test_conv(addrconv.ipv6, 'fe80::f00b:a4ff:fe7d:f8ea', - (b'\xfe\x80\x00\x00\x00\x00\x00\x00' - b'\xf0\x0b\xa4\xff\xfe\x7d\xf8\xea')) - self._test_conv(addrconv.ipv6, '::', - (b'\x00\x00\x00\x00\x00\x00\x00\x00' - b'\x00\x00\x00\x00\x00\x00\x00\x00')) - - def test_mac(self): - self._test_conv(addrconv.mac, 'f2:0b:a4:01:0a:23', - b'\xf2\x0b\xa4\x01\x0a\x23') diff --git a/ryu/tests/unit/lib/test_hub.py b/ryu/tests/unit/lib/test_hub.py deleted file mode 100644 index d8b75996..00000000 --- a/ryu/tests/unit/lib/test_hub.py +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import time -import unittest -from nose.tools import raises - -from ryu.lib import hub -hub.patch() - - -class MyException(BaseException): - pass - - -class Test_hub(unittest.TestCase): - """ Test case for ryu.lib.hub - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - # we want to test timeout first because the rest of tests rely on it. - # thus test_0_ prefix. - - @raises(hub.Timeout) - def test_0_timeout1(self): - with hub.Timeout(0.1): - hub.sleep(1) - - @raises(MyException) - def test_0_timeout2(self): - with hub.Timeout(0.1, MyException): - hub.sleep(1) - - def test_0_timeout3(self): - with hub.Timeout(1): - hub.sleep(0.1) - # sleep some more to ensure timer cancelation - hub.sleep(2) - - def test_spawn_event1(self): - def _child(ev, result): - hub.sleep(1) - result.append(1) - ev.set() - - ev = hub.Event() - result = [] - with hub.Timeout(2): - hub.spawn(_child, ev, result) - ev.wait() - assert len(result) == 1 - - def test_spawn_event2(self): - def _child(ev, result): - hub.sleep(1) - result.append(1) - ev.set() - - ev = hub.Event() - result = [] - with hub.Timeout(2): - t = hub.spawn(_child, ev, result) - ev.wait(timeout=0.5) - assert len(result) == 0 - ev.wait() - assert len(result) == 1 - - def test_spawn_event3(self): - def _child(ev, ev2, result): - ev2.wait() - hub.sleep(0.5) - result.append(1) - ev.set() - - ev = hub.Event() - ev2 = hub.Event() - result = [] - with hub.Timeout(2): - hub.spawn(_child, ev, ev2, result) - hub.spawn(_child, ev, ev2, result) - hub.sleep(0.5) - ev2.set() # this should wake up the above created two threads - ev.wait(timeout=1) - assert len(result) == 2 - - def test_spawn_select1(self): - import select - import socket - - def _child(s1): - hub.sleep(0.5) - s1.send(b"hoge") - - s1, s2 = socket.socketpair() - with hub.Timeout(1): - hub.spawn(_child, s1) - select.select([s2.fileno()], [], []) - select.select([s2.fileno()], [], []) # return immediately - - @raises(MyException) - def test_select1(self): - import select - import socket - - s1, s2 = socket.socketpair() - with hub.Timeout(1, MyException): - select.select([s2.fileno()], [], []) - - def test_select2(self): - import select - - with hub.Timeout(1, MyException): - select.select([], [], [], 0) # timeout immediately - - def test_select3(self): - import select - import socket - - s1, s2 = socket.socketpair() - with hub.Timeout(1, MyException): - list = [s1.fileno(), s2.fileno()] - rlist, wlist, xlist = select.select(list, list, list) - assert not s1.fileno() in rlist - assert not s2.fileno() in rlist - # the following two assertions are commented out because one of - # them fails with eventlet-patched select. - # assert s1.fileno() in wlist - # assert s2.fileno() in wlist - # note: eventlet-patched select returns at most one file. - assert (s1.fileno() in wlist) or (s2.fileno() in wlist) - assert not s1.fileno() in xlist - assert not s2.fileno() in xlist - - def test_spawn_joinall(self): - def _child(ev2, result): - ev2.wait() - hub.sleep(0.5) - result.append(1) - raise BaseException("this exception should not be propagated") - - ev2 = hub.Event() - threads = [] - result = [] - with hub.Timeout(2): - threads.append(hub.spawn(_child, ev2, result)) - threads.append(hub.spawn(_child, ev2, result)) - hub.sleep(0.5) - ev2.set() # this should wake up the above created two threads - hub.joinall(threads) - assert len(result) == 2 - - def test_spawn_kill_joinall(self): - def _child(ev2, result): - ev2.wait() - result.append(1) - - ev2 = hub.Event() - threads = [] - result = [] - with hub.Timeout(2): - threads.append(hub.spawn(_child, ev2, result)) - threads.append(hub.spawn(_child, ev2, result)) - hub.sleep(0.5) - for t in threads: - hub.kill(t) - hub.joinall(threads) - assert len(result) == 0 - - def test_spawn_kill_nowait_joinall(self): - # XXX this test relies on the scheduling behaviour. - # the intention here is, killing threads before they get active. - - def _child(result): - result.append(1) - - threads = [] - result = [] - with hub.Timeout(2): - threads.append(hub.spawn(_child, result)) - for t in threads: - hub.kill(t) - hub.joinall(threads) - assert len(result) == 0 - - def test_spawn_kill_die_joinall(self): - def _child(result): - result.append(1) - - threads = [] - result = [] - with hub.Timeout(2): - threads.append(hub.spawn(_child, result)) - threads.append(hub.spawn(_child, result)) - hub.sleep(0.5) - for t in threads: - hub.kill(t) - hub.joinall(threads) - assert len(result) == 2 - - def test_spawn_exception_joinall(self): - def _child(): - raise Exception("hoge") - - threads = [] - with hub.Timeout(2): - threads.append(hub.spawn(_child)) - threads.append(hub.spawn(_child)) - hub.sleep(0.5) - hub.joinall(threads) - - def test_event1(self): - ev = hub.Event() - ev.set() - with hub.Timeout(1): - ev.wait() # should return immediately - - def test_event2(self): - ev = hub.Event() - # allow multiple sets unlike eventlet Event - ev.set() - ev.set() diff --git a/ryu/tests/unit/lib/test_import_module.py b/ryu/tests/unit/lib/test_import_module.py deleted file mode 100644 index b8561d20..00000000 --- a/ryu/tests/unit/lib/test_import_module.py +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest -from nose.tools import eq_ - -from ryu.utils import import_module - - -class Test_import_module(unittest.TestCase): - """ - Test case for ryu.utils.import_module - """ - - @staticmethod - def _my_import(name): - mod = __import__(name) - components = name.split('.') - for c in components[1:]: - mod = getattr(mod, c) - return mod - - def test_import_module_with_same_basename(self): - aaa = import_module('ryu.tests.unit.lib.test_mod.aaa.mod') - eq_("this is aaa", aaa.name) - bbb = import_module('ryu.tests.unit.lib.test_mod.bbb.mod') - eq_("this is bbb", bbb.name) - - def test_import_module_by_filename(self): - ccc = import_module('./lib/test_mod/ccc/mod.py') - eq_("this is ccc", ccc.name) - ddd = import_module('./lib/test_mod/ddd/mod.py') - # Note: When importing a module by filename, if module file name - # is duplicated, import_module reload (override) a module instance. - eq_("this is ddd", ddd.name) - - def test_import_same_module1(self): - from ryu.tests.unit.lib.test_mod import eee as eee1 - eq_("this is eee", eee1.name) - eee2 = import_module('./lib/test_mod/eee.py') - eq_("this is eee", eee2.name) - - def test_import_same_module2(self): - fff1 = import_module('./lib/test_mod/fff.py') - eq_("this is fff", fff1.name) - fff2 = import_module('ryu.tests.unit.lib.test_mod.fff') - eq_("this is fff", fff2.name) - - def test_import_same_module3(self): - ggg1 = import_module('./lib/test_mod/ggg.py') - eq_("this is ggg", ggg1.name) - ggg2 = self._my_import('ryu.tests.unit.lib.test_mod.ggg') - eq_("this is ggg", ggg2.name) diff --git a/ryu/tests/unit/lib/test_ip.py b/ryu/tests/unit/lib/test_ip.py deleted file mode 100644 index 66d8f0c2..00000000 --- a/ryu/tests/unit/lib/test_ip.py +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright (C) 2015 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import logging -import struct -import unittest - -from nose.tools import eq_ -from nose.tools import raises - -from ryu.lib import ip - -LOG = logging.getLogger('test_ip') - - -class Test_ip(unittest.TestCase): - """ - test case for ip address module - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - def test_ipv4_to_bin(self): - ipv4_str = '10.28.197.1' - val = 0x0a1cc501 - - (res,) = struct.unpack('!I', ip.ipv4_to_bin(ipv4_str)) - eq_(val, res) - - def test_ipv4_to_int(self): - ipv4_str = '10.28.197.1' - val = 169657601 - - res = ip.ipv4_to_int(ipv4_str) - eq_(val, res) - - def test_ipv4_to_str_from_bin(self): - ipv4_bin = struct.pack('!I', 0x0a1cc501) - val = '10.28.197.1' - - res = ip.ipv4_to_str(ipv4_bin) - eq_(val, res) - - def test_ipv4_to_str_from_int(self): - ipv4_int = 169657601 - val = '10.28.197.1' - - res = ip.ipv4_to_str(ipv4_int) - eq_(val, res) - - def test_ipv6_to_bin(self): - ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - val = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, 0x66ff, - 0xfe4c, 0x9c3c) - res = ip.ipv6_to_bin(ipv6_str) - eq_(val, res) - - def test_ipv6_to_bin_with_shortcut(self): - ipv6_str = '3f:10::1:2' - val = struct.pack('!8H', 0x3f, 0x10, 0, 0, 0, 0, 0x1, 0x2) - - res = ip.ipv6_to_bin(ipv6_str) - eq_(val, res) - - def test_ipv6_to_int(self): - ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - val = 0x20130da8021508f2aa2066fffe4c9c3c - - res = ip.ipv6_to_int(ipv6_str) - eq_(val, res) - - def test_ipv6_to_int_with_shortcut(self): - ipv6_str = '3f:10::1:2' - val = 0x003f0010000000000000000000010002 - - res = ip.ipv6_to_int(ipv6_str) - eq_(val, res) - - def test_ipv6_to_str_from_bin(self): - ipv6_bin = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, - 0x66ff, 0xfe4c, 0x9c3c) - val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - - res = ip.ipv6_to_str(ipv6_bin) - eq_(val, res) - - def test_ipv6_to_str_from_int(self): - ipv6_int = 0x20130da8021508f2aa2066fffe4c9c3c - val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - - res = ip.ipv6_to_str(ipv6_int) - eq_(val, res) - - def test_text_to_bin_from_ipv4_text(self): - ipv4_str = '10.28.197.1' - val = struct.pack('!4B', 10, 28, 197, 1) - res = ip.text_to_bin(ipv4_str) - eq_(val, res) - - def test_text_to_bin_from_ipv6_text(self): - ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - val = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, - 0x66ff, 0xfe4c, 0x9c3c) - res = ip.text_to_bin(ipv6_str) - eq_(val, res) - - def test_text_to_int_from_ipv4_text(self): - ipv4_str = '10.28.197.1' # 0a.1c.c5.01 - val = 0x0a1cc501 - - res = ip.text_to_int(ipv4_str) - eq_(val, res) - - def test_text_to_int_from_ipv6_text(self): - ipv6_str = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - val = 0x20130da8021508f2aa2066fffe4c9c3c - - res = ip.text_to_int(ipv6_str) - eq_(val, res) - - def test_bin_to_text_from_ipv4_bin(self): - ipv4_bin = struct.pack('!4B', 10, 28, 197, 1) - val = '10.28.197.1' - res = ip.bin_to_text(ipv4_bin) - eq_(val, res) - - def test_bin_to_text_from_ipv6_bin(self): - ipv6_bin = struct.pack('!8H', 0x2013, 0xda8, 0x215, 0x8f2, 0xaa20, - 0x66ff, 0xfe4c, 0x9c3c) - val = '2013:da8:215:8f2:aa20:66ff:fe4c:9c3c' - res = ip.bin_to_text(ipv6_bin) - eq_(val, res) - - @raises(struct.error) - def test_bin_to_text_with_invalid_bin(self): - invalid_bin = b'invalid' - - ip.bin_to_text(invalid_bin) diff --git a/ryu/tests/unit/lib/test_mac.py b/ryu/tests/unit/lib/test_mac.py deleted file mode 100644 index 91839ead..00000000 --- a/ryu/tests/unit/lib/test_mac.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -import unittest -import logging -import struct -import netaddr -from struct import * -from nose.tools import * - -from ryu.lib import mac - -LOG = logging.getLogger('test_mac') - - -class Test_mac(unittest.TestCase): - """ Test case for mac - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - def test_mac_is_multicast(self): - addr = b'\x01\x23\x45\x67\x89\x0a' - val = True - - res = mac.is_multicast(addr) - - eq_(val, res) - - def test_mac_haddr_to_str(self): - addr = 'aa:aa:aa:aa:aa:aa' - val = b'\xaa\xaa\xaa\xaa\xaa\xaa' - - res = mac.haddr_to_str(val) - - eq_(addr, res) - - def test_mac_haddr_to_str_none(self): - """ addr is None - """ - addr = None - val = 'None' - res = mac.haddr_to_str(addr) - - eq_(val, res) - - @raises(AssertionError) - def test_mac_haddr_to_str_assert(self): - val = b'\xaa\xaa\xaa\xaa\xaa' - - res = mac.haddr_to_str(val) - - def test_mac_haddr_to_bin_false(self): - """ len(hexes) = 6 (False) - """ - addr = 'aa:aa:aa:aa:aa:aa' - val = b'\xaa\xaa\xaa\xaa\xaa\xaa' - - res = mac.haddr_to_bin(addr) - - eq_(val, res) - - @raises(ValueError) - def test_mac_haddr_to_bin_true(self): - """ len(hexes) != 6 (True) - """ - addr = 'aa:aa:aa:aa:aa' - res = mac.haddr_to_bin(addr) - - def test_mac_haddr_bitand(self): - addr = b'\xaa\xaa\xaa\xaa\xaa\xaa' - mask = b'\xff\xff\xff\x00\x00\x00' - val = b'\xaa\xaa\xaa\x00\x00\x00' - - res = mac.haddr_bitand(addr, mask) - - eq_(val, res) diff --git a/ryu/tests/unit/lib/test_mod/__init__.py b/ryu/tests/unit/lib/test_mod/__init__.py deleted file mode 100644 index ca8ef539..00000000 --- a/ryu/tests/unit/lib/test_mod/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/ryu/tests/unit/lib/test_mod/aaa/__init__.py b/ryu/tests/unit/lib/test_mod/aaa/__init__.py deleted file mode 100644 index ca8ef539..00000000 --- a/ryu/tests/unit/lib/test_mod/aaa/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/ryu/tests/unit/lib/test_mod/aaa/mod.py b/ryu/tests/unit/lib/test_mod/aaa/mod.py deleted file mode 100644 index a5eff136..00000000 --- a/ryu/tests/unit/lib/test_mod/aaa/mod.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is aaa" diff --git a/ryu/tests/unit/lib/test_mod/bbb/__init__.py b/ryu/tests/unit/lib/test_mod/bbb/__init__.py deleted file mode 100644 index ca8ef539..00000000 --- a/ryu/tests/unit/lib/test_mod/bbb/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/ryu/tests/unit/lib/test_mod/bbb/mod.py b/ryu/tests/unit/lib/test_mod/bbb/mod.py deleted file mode 100644 index 397c8554..00000000 --- a/ryu/tests/unit/lib/test_mod/bbb/mod.py +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is bbb" diff --git a/ryu/tests/unit/lib/test_mod/ccc/__init__.py b/ryu/tests/unit/lib/test_mod/ccc/__init__.py deleted file mode 100644 index ce07156d..00000000 --- a/ryu/tests/unit/lib/test_mod/ccc/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/ryu/tests/unit/lib/test_mod/ccc/mod.py b/ryu/tests/unit/lib/test_mod/ccc/mod.py deleted file mode 100644 index 5be826cf..00000000 --- a/ryu/tests/unit/lib/test_mod/ccc/mod.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is ccc" diff --git a/ryu/tests/unit/lib/test_mod/ddd/__init__.py b/ryu/tests/unit/lib/test_mod/ddd/__init__.py deleted file mode 100644 index ce07156d..00000000 --- a/ryu/tests/unit/lib/test_mod/ddd/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/ryu/tests/unit/lib/test_mod/ddd/mod.py b/ryu/tests/unit/lib/test_mod/ddd/mod.py deleted file mode 100644 index 31d31d53..00000000 --- a/ryu/tests/unit/lib/test_mod/ddd/mod.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is ddd" diff --git a/ryu/tests/unit/lib/test_mod/eee.py b/ryu/tests/unit/lib/test_mod/eee.py deleted file mode 100644 index ed21a8aa..00000000 --- a/ryu/tests/unit/lib/test_mod/eee.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is eee" diff --git a/ryu/tests/unit/lib/test_mod/fff.py b/ryu/tests/unit/lib/test_mod/fff.py deleted file mode 100644 index 5a565e38..00000000 --- a/ryu/tests/unit/lib/test_mod/fff.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is fff" diff --git a/ryu/tests/unit/lib/test_mod/ggg.py b/ryu/tests/unit/lib/test_mod/ggg.py deleted file mode 100644 index 29555e56..00000000 --- a/ryu/tests/unit/lib/test_mod/ggg.py +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name = "this is ggg" diff --git a/ryu/tests/unit/lib/test_mrtlib.py b/ryu/tests/unit/lib/test_mrtlib.py deleted file mode 100644 index e870f401..00000000 --- a/ryu/tests/unit/lib/test_mrtlib.py +++ /dev/null @@ -1,765 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import bz2 -import io -import logging -import os -import sys -import unittest - -try: - import mock # Python 2 -except ImportError: - from unittest import mock # Python 3 - -from nose.tools import eq_ -from nose.tools import ok_ - -from ryu.lib import addrconv -from ryu.lib import mrtlib -from ryu.lib.packet import bgp -from ryu.lib.packet import ospf -from ryu.utils import binary_str - - -LOG = logging.getLogger(__name__) - -MRT_DATA_DIR = os.path.join( - os.path.dirname(sys.modules[__name__].__file__), '../../packet_data/mrt/') - - -class TestMrtlib(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib. - """ - - def test_reader(self): - files = [ - 'rib.20161101.0000_pick.bz2', - 'updates.20161101.0000.bz2', - ] - - for f in files: - # print('\n*** testing mrtlib.Reader with %s ...' % f) - counter = 0 - input_file = os.path.join(MRT_DATA_DIR, f) - for record in mrtlib.Reader(bz2.BZ2File(input_file, 'rb')): - # print('* No.%d\n%s' % (counter, record)) - ok_(not isinstance(record, mrtlib.UnknownMrtRecord)) - counter += 1 - - def test_writer(self): - files = [ - 'rib.20161101.0000_pick.bz2', - 'updates.20161101.0000.bz2', - ] - - for f in files: - # print('\n*** testing mrtlib.Writer with %s ...' % f) - input_file = os.path.join(MRT_DATA_DIR, f) - input_buf = bz2.BZ2File(input_file, 'rb').read() - input_records = list(mrtlib.Reader(bz2.BZ2File(input_file, 'rb'))) - - counter = 0 - f = io.BytesIO() - mrt_writer = mrtlib.Writer(f) - for record in input_records: - # print('* No.%d\n%s' % (counter, record)) - mrt_writer.write(record) - counter += 1 - - output_buf = f.getvalue() - - eq_(binary_str(input_buf), binary_str(output_buf)) - - mrt_writer.close() - - eq_(True, mrt_writer._f.closed) - - -class TestMrtlibMrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.MrtRecord. - """ - - def test_init_without_type_subtype(self): - type_ = mrtlib.MrtRecord.TYPE_TABLE_DUMP - subtype = mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv4 - - message = mrtlib.TableDumpAfiIPv4MrtMessage( - view_num=1, - seq_num=2, - prefix='192.168.1.0', - prefix_len=24, - status=1, - originated_time=0, - peer_ip='10.0.0.1', - peer_as=65000, - bgp_attributes=[], - ) - record = mrtlib.TableDumpMrtRecord(message) - - eq_(type_, record.type) - eq_(subtype, record.subtype) - - def test_parse_pre_with_type_et(self): - buf = ( - b'\x00\x00\x00\x00' # timestamp - b'\x00\x11\x00\x00' # type=TYPE_BGP4MP_ET(17), subtype - b'\x00\x00\x00\xaa' # length - ) - - required_len = mrtlib.MrtRecord.parse_pre(buf) - - eq_(0xaa + mrtlib.ExtendedTimestampMrtRecord.HEADER_SIZE, - required_len) - - -# Note: MrtCommonRecord is tested in TestMrtlibMrtRecord. -# class TestMrtlibMrtCommonRecord(unittest.TestCase): - - -class TestMrtlibExtendedTimestampMrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.ExtendedTimestampMrtRecord. - """ - - def test_parse_extended_header(self): - body = b'test' - buf = ( - b'\x11\x11\x11\x11' # ms_timestamp - + body - ) - - (headers, - rest) = mrtlib.ExtendedTimestampMrtRecord.parse_extended_header(buf) - - ok_(isinstance(headers, list)) - eq_(1, len(headers)) - eq_(0x11111111, headers[0]) - eq_(body, rest) - - def test_serialize(self): - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x22\x22\x33\x33' # type, subtype - b'\x00\x00\x00\x04' # length=len(body) - b'\x44\x44\x44\x44' # ms_timestamp - + body - ) - - message_mock = mock.MagicMock(spec=mrtlib.MrtMessage) - message_mock.serialize.return_value = body - - record = mrtlib.ExtendedTimestampMrtRecord( - message=message_mock, - timestamp=0x11111111, - type_=0x2222, subtype=0x3333, - ms_timestamp=0x44444444, - length=0x00000004, - ) - - output = record.serialize() - - eq_(buf, output) - - -class TestMrtlibUnknownMrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.UnknownMrtRecord. - """ - - def test_parse(self): - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x22\x22\x33\x33' # type, subtype - b'\x00\x00\x00\x04' # length=len(body) - + body - ) - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(0x2222, record.type) - eq_(0x3333, record.subtype) - eq_(0x00000004, record.length) - eq_(body, record.message.buf) - eq_(b'', rest) - - def test_serialize(self): - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x22\x22\x33\x33' # type, subtype - b'\x00\x00\x00\x04' # length=len(body) - + body - ) - - message = mrtlib.UnknownMrtMessage(buf=body) - record = mrtlib.UnknownMrtRecord( - message=message, - timestamp=0x11111111, - type_=0x2222, subtype=0x3333, - length=0x00000004, - ) - - output = record.serialize() - - eq_(buf, output) - - -class TestMrtlibOspf2MrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.Ospf2MrtRecord. - """ - - @mock.patch('ryu.lib.packet.ospf.ospf.parser') - def test_parse(self, mock_ospf_parser): - remote_ip = '10.0.0.1' - local_ip = '10.0.0.2' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0b\x00\x00' # type=TYPE_OSPFv2(11), subtype - b'\x00\x00\x00\x0c' # length=len(remote_ip + local_ip + body) - + addrconv.ipv4.text_to_bin(remote_ip) # remote_ip - + addrconv.ipv4.text_to_bin(local_ip) # local_ip - + body # ospf_message - ) - - mock_ospf_message = mock.MagicMock(spec=ospf.OSPFMessage) - mock_ospf_parser.return_value = (mock_ospf_message, None, '') - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_OSPFv2, record.type) - eq_(0x0000, record.subtype) - eq_(0x0000000c, record.length) - eq_(remote_ip, record.message.remote_ip) - eq_(local_ip, record.message.local_ip) - eq_(mock_ospf_message, record.message.ospf_message) - eq_(b'', rest) - - def test_serialize(self): - remote_ip = '10.0.0.1' - local_ip = '10.0.0.2' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0b\x00\x00' # type=TYPE_OSPFv2(11), subtype - b'\x00\x00\x00\x0c' # length=len(remote_ip + local_ip + body) - + addrconv.ipv4.text_to_bin(remote_ip) # remote_ip - + addrconv.ipv4.text_to_bin(local_ip) # local_ip - + body # ospf_message - ) - - mock_ospf_message = mock.MagicMock(spec=ospf.OSPFMessage) - mock_ospf_message.serialize.return_value = body - - message = mrtlib.Ospf2MrtMessage( - remote_ip=remote_ip, - local_ip=local_ip, - ospf_message=mock_ospf_message, - ) - record = mrtlib.Ospf2MrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) - - -class TestMrtlibTableDumpMrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.TableDumpMrtRecord. - """ - - @mock.patch('ryu.lib.packet.bgp._PathAttribute.parser') - def test_parse_afi_ipv4(self, mock_bgp_attr_parser): - prefix = '10.0.0.0' - peer_ip = '172.16.0.1' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0c\x00\x01' # type=TYPE_TABLE_DUMP(12), - # subtype=SUBTYPE_AFI_IPv4(1) - b'\x00\x00\x00\x1a' # length=26 - b'\x22\x22\x33\x33' # view_num, seq_num - + addrconv.ipv4.text_to_bin(prefix) + # prefix - b'\x18\x01' # prefix_len=24, status=1 - b'\x44\x44\x44\x44' # originated_time - + addrconv.ipv4.text_to_bin(peer_ip) + # peer_ip - b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) - + body # bgp_attributes - ) - - mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) - mock_bgp_attr_parser.return_value = (mock_bgp_attr, b'') - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP, record.type) - eq_(mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv4, record.subtype) - eq_(0x0000001a, record.length) - eq_(0x2222, record.message.view_num) - eq_(0x3333, record.message.seq_num) - eq_(prefix, record.message.prefix) - eq_(24, record.message.prefix_len) - eq_(1, record.message.status) - eq_(0x44444444, record.message.originated_time) - eq_(peer_ip, record.message.peer_ip) - eq_(65000, record.message.peer_as) - eq_(0x0004, record.message.attr_len) - eq_([mock_bgp_attr], record.message.bgp_attributes) - eq_(b'', rest) - - def test_serialize_afi_ipv4(self): - prefix = '10.0.0.0' - peer_ip = '172.16.0.1' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0c\x00\x01' # type=TYPE_TABLE_DUMP(12), - # subtype=SUBTYPE_AFI_IPv4(1) - b'\x00\x00\x00\x1a' # length=26 - b'\x22\x22\x33\x33' # view_num, seq_num - + addrconv.ipv4.text_to_bin(prefix) + # prefix - b'\x18\x01' # prefix_len=24, status=1 - b'\x44\x44\x44\x44' # originated_time - + addrconv.ipv4.text_to_bin(peer_ip) + # peer_ip - b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) - + body # bgp_attributes - ) - - mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) - mock_bgp_attr.serialize.return_value = body - - message = mrtlib.TableDumpAfiIPv4MrtMessage( - view_num=0x2222, - seq_num=0x3333, - prefix=prefix, - prefix_len=24, - status=1, - originated_time=0x44444444, - peer_ip=peer_ip, - peer_as=65000, - bgp_attributes=[mock_bgp_attr], - # attr_len=4 - ) - record = mrtlib.TableDumpMrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) - - @mock.patch('ryu.lib.packet.bgp._PathAttribute.parser') - def test_parse_afi_ipv6(self, mock_bgp_attr_parser): - prefix = '2001:db8::1' - peer_ip = 'fe80::1' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0c\x00\x02' # type=TYPE_TABLE_DUMP(12), - # subtype=SUBTYPE_AFI_IPv6(2) - b'\x00\x00\x00\x32' # length=50 - b'\x22\x22\x33\x33' # view_num, seq_num - + addrconv.ipv6.text_to_bin(prefix) + # prefix - b'\x40\x01' # prefix_len=64, status=1 - b'\x44\x44\x44\x44' # originated_time - + addrconv.ipv6.text_to_bin(peer_ip) + # peer_ip - b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) - + body # bgp_attributes - ) - - mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) - mock_bgp_attr_parser.return_value = (mock_bgp_attr, b'') - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP, record.type) - eq_(mrtlib.TableDumpMrtRecord.SUBTYPE_AFI_IPv6, record.subtype) - eq_(0x00000032, record.length) - eq_(0x2222, record.message.view_num) - eq_(0x3333, record.message.seq_num) - eq_(prefix, record.message.prefix) - eq_(64, record.message.prefix_len) - eq_(1, record.message.status) - eq_(0x44444444, record.message.originated_time) - eq_(peer_ip, record.message.peer_ip) - eq_(65000, record.message.peer_as) - eq_(0x0004, record.message.attr_len) - eq_([mock_bgp_attr], record.message.bgp_attributes) - eq_(b'', rest) - - def test_serialize_afi_ipv6(self): - prefix = '2001:db8::1' - peer_ip = 'fe80::1' - body = b'test' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0c\x00\x02' # type=TYPE_TABLE_DUMP(12), - # subtype=SUBTYPE_AFI_IPv6(2) - b'\x00\x00\x00\x32' # length=50 - b'\x22\x22\x33\x33' # view_num, seq_num - + addrconv.ipv6.text_to_bin(prefix) + # prefix - b'\x40\x01' # prefix_len=64, status=1 - b'\x44\x44\x44\x44' # originated_time - + addrconv.ipv6.text_to_bin(peer_ip) + # peer_ip - b'\xfd\xe8\x00\x04' # peer_as=65000, attr_len=len(body) - + body # bgp_attributes - ) - - mock_bgp_attr = mock.MagicMock(spec=bgp._PathAttribute) - mock_bgp_attr.serialize.return_value = body - - message = mrtlib.TableDumpAfiIPv6MrtMessage( - view_num=0x2222, - seq_num=0x3333, - prefix=prefix, - prefix_len=64, - status=1, - originated_time=0x44444444, - peer_ip=peer_ip, - peer_as=65000, - bgp_attributes=[mock_bgp_attr], - # attr_len=4 - ) - record = mrtlib.TableDumpMrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) - - -class TestMrtlibTableDump2MrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.TableDump2MrtRecord. - """ - - # Note: The classes corresponding to the following subtypes are - # tested in TestMrtlibMrtRecord. - # - SUBTYPE_PEER_INDEX_TABLE = 1 - # - SUBTYPE_RIB_IPV4_UNICAST = 2 - # - SUBTYPE_RIB_IPV4_MULTICAST = 3 - # - SUBTYPE_RIB_IPV6_UNICAST = 4 - # - SUBTYPE_RIB_IPV6_MULTICAST = 5 - - @mock.patch('ryu.lib.mrtlib.MrtRibEntry.parse') - @mock.patch('ryu.lib.packet.bgp.BGPNLRI.parser') - def test_parse_rib_generic(self, mock_nlri_parser, mock_rib_entry_parser): - nlri_bin = b'nlri' # 4 bytes - rib_entries_bin = b'ribs' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0d\x00\x06' # type=TYPE_TABLE_DUMP_V2(13), - # subtype=SUBTYPE_RIB_GENERIC(6) - b'\x00\x00\x00\x11' # length=17 - b'\x22\x22\x22\x22' # seq_num - b'\x33\x33\x44' # afi, safi - + nlri_bin + # nlri - b'\x00\x01' # entry_count - + rib_entries_bin # rib_entries - ) - buf_entries = ( - b'\x00\x01' # entry_count - + rib_entries_bin # rib_entries - ) - - mock_bgp_nlri = mock.MagicMock(spec=bgp._AddrPrefix) - mock_nlri_parser.return_value = (mock_bgp_nlri, buf_entries) - - mock_rib_entry = mock.MagicMock(spec=mrtlib.MrtRibEntry) - mock_rib_entry_parser.return_value = (mock_rib_entry, b'') - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_TABLE_DUMP_V2, record.type) - eq_(mrtlib.TableDump2MrtRecord.SUBTYPE_RIB_GENERIC, record.subtype) - eq_(0x00000011, record.length) - eq_(0x22222222, record.message.seq_num) - eq_(0x3333, record.message.afi) - eq_(0x44, record.message.safi) - eq_(mock_bgp_nlri, record.message.nlri) - eq_(0x0001, record.message.entry_count) - eq_([mock_rib_entry], record.message.rib_entries) - eq_(b'', rest) - - def test_serialize_rib_generic(self): - nlri_bin = b'nlri' # 4 bytes - rib_entries_bin = b'ribs' # 4 bytes - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x0d\x00\x06' # type=TYPE_TABLE_DUMP_V2(13), - # subtype=SUBTYPE_RIB_GENERIC(6) - b'\x00\x00\x00\x11' # length=17 - b'\x22\x22\x22\x22' # seq_num - b'\x33\x33\x44' # afi, safi - + nlri_bin + # nlri - b'\x00\x01' # entry_count - + rib_entries_bin # rib_entries - ) - - mock_bgp_nlri = mock.MagicMock(spec=bgp._AddrPrefix) - mock_bgp_nlri.serialize.return_value = nlri_bin - - mock_rib_entry = mock.MagicMock(spec=mrtlib.MrtRibEntry) - mock_rib_entry.serialize.return_value = rib_entries_bin - - message = mrtlib.TableDump2RibGenericMrtMessage( - seq_num=0x22222222, - afi=0x3333, - safi=0x44, - nlri=mock_bgp_nlri, - rib_entries=[mock_rib_entry], - # entry_count=1, - ) - record = mrtlib.TableDump2MrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) - - -class TestMrtlibMrtPeer(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.MrtPeer. - """ - - def test_parse_two_octet_as(self): - bgp_id = '1.1.1.1' - ip_addr = '10.0.0.1' - buf = ( - b'\x00' # type - + addrconv.ipv4.text_to_bin(bgp_id) # bgp_id - + addrconv.ipv4.text_to_bin(ip_addr) + # ip_addr - b'\xfd\xe8' # as_num - ) - - peer, rest = mrtlib.MrtPeer.parse(buf) - - eq_(0, peer.type) - eq_(bgp_id, peer.bgp_id) - eq_(ip_addr, peer.ip_addr) - eq_(65000, peer.as_num) - eq_(b'', rest) - - def test_serialize_two_octet_as(self): - bgp_id = '1.1.1.1' - ip_addr = '10.0.0.1' - buf = ( - b'\x00' # type - + addrconv.ipv4.text_to_bin(bgp_id) # bgp_id - + addrconv.ipv4.text_to_bin(ip_addr) + # ip_addr - b'\xfd\xe8' # as_num - ) - - peer = mrtlib.MrtPeer( - bgp_id=bgp_id, - ip_addr=ip_addr, - as_num=65000, - # type_=0, - ) - - output = peer.serialize() - - eq_(buf, output) - - -class TestMrtlibBgp4MpMrtRecord(unittest.TestCase): - """ - Test case for ryu.lib.mrtlib.Bgp4MpMrtRecord. - """ - - # Note: The classes corresponding to the following subtypes are - # tested in TestMrtlibMrtRecord. - # - SUBTYPE_BGP4MP_MESSAGE = 1 - # - SUBTYPE_BGP4MP_MESSAGE_AS4 = 4 - # - SUBTYPE_BGP4MP_STATE_CHANGE_AS4 = 5 - # - SUBTYPE_BGP4MP_MESSAGE_LOCAL = 6 - # - SUBTYPE_BGP4MP_MESSAGE_AS4_LOCAL = 7 - - def test_parse_state_change_afi_ipv4(self): - peer_ip = '10.0.0.1' - local_ip = '10.0.0.2' - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), - # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) - b'\x00\x00\x00\x14' # length=20 - b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 - b'\x22\x22\x00\x01' # if_index, addr_family=AFI_IPv4(1) - + addrconv.ipv4.text_to_bin(peer_ip) # peer_ip - + addrconv.ipv4.text_to_bin(local_ip) + # local_ip - b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), - # new_state=STATE_CONNECT(2) - ) - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_BGP4MP, record.type) - eq_(mrtlib.Bgp4MpMrtRecord.SUBTYPE_BGP4MP_STATE_CHANGE, record.subtype) - eq_(0x00000014, record.length) - eq_(65001, record.message.peer_as) - eq_(65002, record.message.local_as) - eq_(0x2222, record.message.if_index) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, - record.message.afi) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, - record.message.old_state) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, - record.message.new_state) - eq_(b'', rest) - - def test_serialize_state_change_afi_ipv4(self): - peer_ip = '10.0.0.1' - local_ip = '10.0.0.2' - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), - # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) - b'\x00\x00\x00\x14' # length=20 - b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 - b'\x22\x22\x00\x01' # if_index, addr_family=AFI_IPv4(1) - + addrconv.ipv4.text_to_bin(peer_ip) # peer_ip - + addrconv.ipv4.text_to_bin(local_ip) + # local_ip - b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), - # new_state=STATE_CONNECT(2) - ) - - message = mrtlib.Bgp4MpStateChangeMrtMessage( - peer_as=65001, - local_as=65002, - if_index=0x2222, - peer_ip=peer_ip, - local_ip=local_ip, - old_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, - new_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, - # afi=mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, - ) - record = mrtlib.Bgp4MpMrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) - - def test_parse_state_change_afi_ipv6(self): - peer_ip = 'fe80::1' - local_ip = 'fe80::2' - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), - # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) - b'\x00\x00\x00\x2c' # length=44 - b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 - b'\x22\x22\x00\x02' # if_index, addr_family=AFI_IPv6(2) - + addrconv.ipv6.text_to_bin(peer_ip) # peer_ip - + addrconv.ipv6.text_to_bin(local_ip) + # local_ip - b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), - # new_state=STATE_CONNECT(2) - ) - - (record, rest) = mrtlib.MrtRecord.parse(buf) - - eq_(0x11111111, record.timestamp) - eq_(mrtlib.MrtRecord.TYPE_BGP4MP, record.type) - eq_(mrtlib.Bgp4MpMrtRecord.SUBTYPE_BGP4MP_STATE_CHANGE, record.subtype) - eq_(0x0000002c, record.length) - eq_(65001, record.message.peer_as) - eq_(65002, record.message.local_as) - eq_(0x2222, record.message.if_index) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv6, - record.message.afi) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, - record.message.old_state) - eq_(mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, - record.message.new_state) - eq_(b'', rest) - - def test_serialize_state_change_afi_ipv6(self): - peer_ip = 'fe80::1' - local_ip = 'fe80::2' - buf = ( - b'\x11\x11\x11\x11' # timestamp - b'\x00\x10\x00\x00' # type=TYPE_BGP4MP(16), - # subtype=SUBTYPE_BGP4MP_STATE_CHANGE(0) - b'\x00\x00\x00\x2c' # length=44 - b'\xfd\xe9\xfd\xea' # peer_as=65001, local_as=65002 - b'\x22\x22\x00\x02' # if_index, addr_family=AFI_IPv6(2) - + addrconv.ipv6.text_to_bin(peer_ip) # peer_ip - + addrconv.ipv6.text_to_bin(local_ip) + # local_ip - b'\x00\x01\x00\x02' # old_state=STATE_IDLE(1), - # new_state=STATE_CONNECT(2) - ) - - message = mrtlib.Bgp4MpStateChangeMrtMessage( - peer_as=65001, - local_as=65002, - if_index=0x2222, - peer_ip=peer_ip, - local_ip=local_ip, - old_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_IDLE, - new_state=mrtlib.Bgp4MpStateChangeMrtMessage.STATE_CONNECT, - # afi=mrtlib.Bgp4MpStateChangeMrtMessage.AFI_IPv4, - ) - record = mrtlib.Bgp4MpMrtRecord( - message=message, - timestamp=0x11111111, - # type_=None, - # subtype=None, - # length=None, - ) - - output = record.serialize() - - eq_(buf, output) diff --git a/ryu/tests/unit/lib/test_of_config_classes.py b/ryu/tests/unit/lib/test_of_config_classes.py deleted file mode 100644 index 5b0dd6d3..00000000 --- a/ryu/tests/unit/lib/test_of_config_classes.py +++ /dev/null @@ -1,442 +0,0 @@ -# Copyright (C) 2014 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2014 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest -from nose.tools import eq_ -from nose.tools import ok_ - -import sys -import lxml.etree as ET -from formencode.doctest_xml_compare import xml_compare - -from ryu.lib.of_config import classes as ofc - - -GET = """ - CapableSwitch0 - - - LogicalSwitch9-Port4 - 4 - Port4 - 5000 - 5000 - - up - false - false - false - - - up - false - true - - - - 100Mb-FD - true - copper - unsupported - - - other - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - - - LogicalSwitch9-Port3 - 3 - Port3 - 5000 - 5000 - - up - false - false - false - - - up - false - true - - - - 100Mb-FD - true - copper - unsupported - - - other - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - - - LogicalSwitch7-Port2 - 2 - Port2 - 5000 - 5000 - - up - false - false - false - - - up - false - true - - - - 100Mb-FD - true - copper - unsupported - - - other - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - - - LogicalSwitch7-Port1 - 1 - Port1 - 5000 - 5000 - - up - false - false - false - - - up - false - true - - - - 100Mb-FD - true - copper - unsupported - - - other - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - 100Mb-FD - true - copper - unsupported - - - - - LogicalSwitch9-Port4-Queue992 - 992 - 4 - - 10 - 130 - - - - LogicalSwitch9-Port4-Queue991 - 991 - 4 - - 10 - 120 - - - - LogicalSwitch7-Port2-Queue994 - 994 - 2 - - 400 - 900 - - - - LogicalSwitch7-Port2-Queue993 - 993 - 2 - - 200 - 300 - - - - - - LogicalSwitch9 - - 0 - 255 - 16777216 - true - true - true - true - true - false - false - - all - controller - table - inport - any - - - all - select - indirect - fast-failover - - - select-weight - select-liveness - chaining - - - output - group - set-queue - set-mpls-ttl - dec-mpls-ttl - set-nw-ttl - dec-nw-ttl - copy-ttl-out - copy-ttl-in - push-vlan - pop-vlan - push-mpls - pop-mpls - push-pbb - pop-pbb - set-field - - - goto-table - write-metadata - write-actions - apply-actions - clear-actions - meter - - - 08:60:6E:7F:74:E7:00:09 - true - false - - failSecureMode - - - - Switch9-Controller - equal - 127.0.0.1 - 6633 - tcp - - down - 1.3 - - - - - LogicalSwitch9-Port4 - LogicalSwitch9-Port3 - LogicalSwitch9-Port4-Queue992 - LogicalSwitch9-Port4-Queue991 - - - - LogicalSwitch7 - - 0 - 255 - 16777216 - true - true - true - true - true - false - false - - all - controller - table - inport - any - - - all - select - indirect - fast-failover - - - select-weight - select-liveness - chaining - - - output - group - set-queue - set-mpls-ttl - dec-mpls-ttl - set-nw-ttl - dec-nw-ttl - copy-ttl-out - copy-ttl-in - push-vlan - pop-vlan - push-mpls - pop-mpls - set-field - - - goto-table - write-metadata - write-actions - apply-actions - clear-actions - - - 08:60:6E:7F:74:E7:00:07 - true - false - - failSecureMode - - - - Switch7-Controller - equal - 127.0.0.1 - 6633 - tcp - - down - 1.2 - - - - - LogicalSwitch7-Port2 - LogicalSwitch7-Port1 - LogicalSwitch7-Port2-Queue994 - LogicalSwitch7-Port2-Queue993 - - - - -""" - - -class Test_of_config_classes(unittest.TestCase): - """ Test case for ryu.lib.of_config.classes - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - def test_parse(self): - for xml0 in [GET]: - o = ofc.OFCapableSwitchType.from_xml(xml0) - xml1 = o.to_xml('capable-switch') - ok_(xml_compare(ET.fromstring(xml0), ET.fromstring(xml1), - reporter=sys.stderr.write)) - - def test_alt_names(self): - xml0 = GET - o = ofc.OFCapableSwitchType.from_xml(xml0) - eq_(o.logical_switches, getattr(o, 'logical_switches')) - eq_(o.logical_switches, getattr(o, 'logical-switches')) - - def test_iterate(self): - xml0 = GET - o = ofc.OFCapableSwitchType.from_xml(xml0) - for lsw in o.logical_switches.switch: - ok_(str(lsw.id).startswith('LogicalSwitch')) diff --git a/ryu/tests/unit/lib/test_ofctl.py b/ryu/tests/unit/lib/test_ofctl.py deleted file mode 100644 index 862ce1d3..00000000 --- a/ryu/tests/unit/lib/test_ofctl.py +++ /dev/null @@ -1,642 +0,0 @@ -# Copyright (C) 2015 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import functools -import json -import logging -from nose.tools import eq_ -import os -import sys -import unittest - -from ryu.lib import ofctl_v1_0 -from ryu.lib import ofctl_v1_2 -from ryu.lib import ofctl_v1_3 -from ryu.lib import ofctl_v1_4 -from ryu.lib import ofctl_v1_5 -from ryu.ofproto import ofproto_parser -from ryu.ofproto.ofproto_protocol import ProtocolDesc -from ryu.tests import test_lib - -LOG = logging.getLogger(__name__) - - -class DummyDatapath(ProtocolDesc): - - def __init__(self, version): - super(DummyDatapath, self).__init__(version) - self.id = 1 # XXX - self.request_msg = None - self.reply_msg = None - self.waiters = None - - @staticmethod - def set_xid(msg): - msg.set_xid(0) - return 0 - - def send_msg(self, msg): - msg.serialize() - self.request_msg = msg - - if self.reply_msg: - lock, msgs = self.waiters[self.id][msg.xid] - msgs.append(self.reply_msg) - del self.waiters[self.id][msg.xid] - lock.set() - - def set_reply(self, msg, waiters): - self.reply_msg = msg - self.waiters = waiters - - -class Test_ofctl(unittest.TestCase): - - def _test(self, name, dp, method, args, request, reply, expected): - print('processing %s ...' % name) - waiters = {} - dp.set_reply(reply, waiters) - if reply: - output = method(dp=dp, waiters=waiters, **args) - else: - output = method(dp=dp, **args) - - # expected message <--> sent message - request.serialize() - try: - eq_(json.dumps(request.to_jsondict(), sort_keys=True), - json.dumps(dp.request_msg.to_jsondict(), sort_keys=True)) - except AssertionError as e: - # For debugging - json.dump(dp.request_msg.to_jsondict(), - open('/tmp/' + name + '_request.json', 'w'), - indent=3, sort_keys=True) - raise e - - # expected output <--> return of ofctl - def _remove(d, names): - def f(x): - return _remove(x, names) - - if isinstance(d, list): - return list(map(f, d)) - if isinstance(d, dict): - d2 = {} - for k, v in d.items(): - if k in names: - continue - d2[k] = f(v) - return d2 - return d - - expected = _remove(expected, ['len', 'length']) - output = _remove(output, ['len', 'length']) - try: - eq_(json.dumps(expected, sort_keys=True), - json.dumps(output, sort_keys=True)) - except AssertionError as e: - # For debugging - json.dump(output, open('/tmp/' + name + '_reply.json', 'w'), - indent=4) - raise e - - -def _add_tests(): - _ofp_vers = { - 'of10': 0x01, - 'of12': 0x03, - 'of13': 0x04, - 'of14': 0x05, - 'of15': 0x06, - } - - _test_cases = { - 'of10': [ - { - 'method': ofctl_v1_0.mod_flow_entry, - 'request': '1-2-ofp_flow_mod.packet.json', - 'reply': None - }, - ], - 'of12': [ - { - 'method': ofctl_v1_2.get_desc_stats, - 'request': '3-24-ofp_desc_stats_request.packet.json', - 'reply': '3-0-ofp_desc_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_stats, - 'request': '3-37-ofp_queue_stats_request.packet.json', - 'reply': '3-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet1.json', - 'reply': '3-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet2.json', - 'reply': '3-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet3.json', - 'reply': '3-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_config, - 'request': '3-35-ofp_queue_get_config_request.packet.json', - 'reply': '3-36-ofp_queue_get_config_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_queue_config, - 'request': 'lib-ofctl-ofp_queue_get_config_request.packet.json', - 'reply': '3-36-ofp_queue_get_config_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_flow_stats, - 'request': '3-11-ofp_flow_stats_request.packet.json', - 'reply': '3-12-ofp_flow_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_aggregate_flow_stats, - 'request': '3-25-ofp_aggregate_stats_request.packet.json', - 'reply': '3-26-ofp_aggregate_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_table_stats, - 'request': '3-27-ofp_table_stats_request.packet.json', - 'reply': '3-28-ofp_table_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_port_stats, - 'request': '3-29-ofp_port_stats_request.packet.json', - 'reply': '3-30-ofp_port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_port_stats, - 'request': 'lib-ofctl-ofp_port_stats_request.packet.json', - 'reply': '3-30-ofp_port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_group_stats, - 'request': '3-61-ofp_group_stats_request.packet.json', - 'reply': '3-62-ofp_group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_group_stats, - 'request': 'lib-ofctl-ofp_group_stats_request.packet.json', - 'reply': '3-62-ofp_group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_group_features, - 'request': '3-31-ofp_group_features_stats_request.packet.json', - 'reply': '3-32-ofp_group_features_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_2.get_group_desc, - 'request': '3-33-ofp_group_desc_stats_request.packet.json', - 'reply': '3-34-ofp_group_desc_stats_reply.packet.json' - }, - # In OpenFlow 1.2, ofp_port_desc is not defined. - # We use ofp_features_request to get ports description instead. - { - 'method': ofctl_v1_2.get_port_desc, - 'request': '3-5-ofp_features_request.packet.json', - 'reply': '3-6-ofp_features_reply.packet.json' - }, - { - 'method': ofctl_v1_2.mod_flow_entry, - 'request': '3-2-ofp_flow_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_2.mod_group_entry, - 'request': '3-21-ofp_group_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_2.mod_port_behavior, - 'request': '3-22-ofp_port_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_2.send_experimenter, - 'request': '3-16-ofp_experimenter.packet.json', - 'reply': None - }, - ], - 'of13': [ - { - 'method': ofctl_v1_3.get_desc_stats, - 'request': '4-24-ofp_desc_request.packet.json', - 'reply': '4-0-ofp_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_stats, - 'request': '4-37-ofp_queue_stats_request.packet.json', - 'reply': '4-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet1.json', - 'reply': '4-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet2.json', - 'reply': '4-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet3.json', - 'reply': '4-38-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_config, - 'request': '4-35-ofp_queue_get_config_request.packet.json', - 'reply': '4-36-ofp_queue_get_config_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_queue_config, - 'request': 'lib-ofctl-ofp_queue_get_config_request.packet.json', - 'reply': '4-36-ofp_queue_get_config_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_flow_stats, - 'request': '4-11-ofp_flow_stats_request.packet.json', - 'reply': '4-12-ofp_flow_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_aggregate_flow_stats, - 'request': '4-25-ofp_aggregate_stats_request.packet.json', - 'reply': '4-26-ofp_aggregate_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_table_stats, - 'request': '4-27-ofp_table_stats_request.packet.json', - 'reply': '4-28-ofp_table_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_table_features, - 'request': 'lib-ofctl-ofp_table_features_request.packet.json', - 'reply': '4-56-ofp_table_features_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_port_stats, - 'request': '4-29-ofp_port_stats_request.packet.json', - 'reply': '4-30-ofp_port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_port_stats, - 'request': 'lib-ofctl-ofp_port_stats_request.packet.json', - 'reply': '4-30-ofp_port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_meter_stats, - 'request': '4-49-ofp_meter_stats_request.packet.json', - 'reply': '4-50-ofp_meter_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_meter_stats, - 'request': 'lib-ofctl-ofp_meter_stats_request.packet.json', - 'reply': '4-50-ofp_meter_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_meter_features, - 'request': '4-51-ofp_meter_features_request.packet.json', - 'reply': '4-52-ofp_meter_features_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_meter_config, - 'request': '4-47-ofp_meter_config_request.packet.json', - 'reply': '4-48-ofp_meter_config_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_meter_config, - 'request': 'lib-ofctl-ofp_meter_config_request.packet.json', - 'reply': '4-48-ofp_meter_config_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_group_stats, - 'request': '4-57-ofp_group_stats_request.packet.json', - 'reply': '4-58-ofp_group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_group_stats, - 'request': 'lib-ofctl-ofp_group_stats_request.packet.json', - 'reply': '4-58-ofp_group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_group_features, - 'request': '4-31-ofp_group_features_request.packet.json', - 'reply': '4-32-ofp_group_features_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_group_desc, - 'request': '4-33-ofp_group_desc_request.packet.json', - 'reply': '4-34-ofp_group_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_3.get_port_desc, - 'request': '4-53-ofp_port_desc_request.packet.json', - 'reply': '4-54-ofp_port_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_3.mod_flow_entry, - 'request': '4-2-ofp_flow_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_3.mod_meter_entry, - 'request': '4-45-ofp_meter_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_3.mod_group_entry, - 'request': '4-21-ofp_group_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_3.mod_port_behavior, - 'request': '4-22-ofp_port_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_3.send_experimenter, - 'request': '4-16-ofp_experimenter.packet.json', - 'reply': None - }, - ], - 'of14': [ - { - 'method': ofctl_v1_4.get_desc_stats, - 'request': '5-24-ofp_desc_request.packet.json', - 'reply': '5-0-ofp_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_queue_stats, - 'request': '5-35-ofp_queue_stats_request.packet.json', - 'reply': '5-36-ofp_queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_queue_desc, - 'request': '5-63-ofp_queue_desc_request.packet.json', - 'reply': '5-64-ofp_queue_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_flow_stats, - 'request': '5-11-ofp_flow_stats_request.packet.json', - 'reply': '5-12-ofp_flow_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_aggregate_flow_stats, - 'request': '5-25-ofp_aggregate_stats_request.packet.json', - 'reply': '5-26-ofp_aggregate_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_table_stats, - 'request': '5-27-ofp_table_stats_request.packet.json', - 'reply': '5-28-ofp_table_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_table_features, - 'request': 'lib-ofctl-ofp_table_features_request.packet.json', - 'reply': '5-54-ofp_table_features_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_port_stats, - 'request': '5-29-ofp_port_stats_request.packet.json', - 'reply': '5-30-ofp_port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_meter_stats, - 'request': '5-47-ofp_meter_stats_request.packet.json', - 'reply': '5-48-ofp_meter_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_meter_features, - 'request': '5-49-ofp_meter_features_request.packet.json', - 'reply': '5-50-ofp_meter_features_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_meter_config, - 'request': '5-45-ofp_meter_config_request.packet.json', - 'reply': '5-46-ofp_meter_config_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_group_stats, - 'request': '5-55-ofp_group_stats_request.packet.json', - 'reply': '5-56-ofp_group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_group_features, - 'request': '5-31-ofp_group_features_request.packet.json', - 'reply': '5-32-ofp_group_features_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_group_desc, - 'request': '5-33-ofp_group_desc_request.packet.json', - 'reply': '5-34-ofp_group_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_4.get_port_desc, - 'request': '5-51-ofp_port_desc_request.packet.json', - 'reply': '5-52-ofp_port_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_4.mod_flow_entry, - 'request': '5-2-ofp_flow_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_4.mod_meter_entry, - 'request': '5-43-ofp_meter_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_4.mod_group_entry, - 'request': '5-21-ofp_group_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_4.mod_port_behavior, - 'request': '5-22-ofp_port_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_4.send_experimenter, - 'request': '5-16-ofp_experimenter.packet.json', - 'reply': None - }, - ], - 'of15': [ - { - 'method': ofctl_v1_5.get_desc_stats, - 'request': 'libofproto-OFP15-desc_request.packet.json', - 'reply': 'libofproto-OFP15-desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_queue_stats, - 'request': 'lib-ofctl-ofp_queue_stats_request.packet.json', - 'reply': 'libofproto-OFP15-queue_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_queue_desc, - 'request': 'libofproto-OFP15-queue_desc_request.packet.json', - 'reply': 'libofproto-OFP15-queue_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_flow_stats, - 'request': 'libofproto-OFP15-flow_stats_request.packet.json', - 'reply': 'libofproto-OFP15-flow_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_flow_desc_stats, - 'request': 'libofproto-OFP15-flow_desc_request.packet.json', - 'reply': 'libofproto-OFP15-flow_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_flow_desc_stats, - 'request': 'lib-ofctl-OFP15-flow_desc_request.packet.json', - 'reply': 'lib-ofctl-OFP15-flow_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_aggregate_flow_stats, - 'request': 'libofproto-OFP15-aggregate_stats_request.packet.json', - 'reply': 'libofproto-OFP15-aggregate_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_table_stats, - 'request': 'libofproto-OFP15-table_stats_request.packet.json', - 'reply': 'libofproto-OFP15-table_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_table_features, - 'request': 'lib-ofctl-ofp_table_features_request.packet.json', - 'reply': 'libofproto-OFP15-table_features_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_port_stats, - 'request': 'libofproto-OFP15-port_stats_request.packet.json', - 'reply': 'libofproto-OFP15-port_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_meter_stats, - 'request': 'libofproto-OFP15-meter_stats_request.packet.json', - 'reply': 'libofproto-OFP15-meter_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_meter_features, - 'request': 'libofproto-OFP15-meter_features_request.packet.json', - 'reply': 'libofproto-OFP15-meter_features_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_meter_desc, - 'request': 'libofproto-OFP15-meter_desc_request.packet.json', - 'reply': 'libofproto-OFP15-meter_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_group_stats, - 'request': 'libofproto-OFP15-group_stats_request.packet.json', - 'reply': 'libofproto-OFP15-group_stats_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_group_features, - 'request': 'libofproto-OFP15-group_features_request.packet.json', - 'reply': 'libofproto-OFP15-group_features_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_group_desc, - 'request': 'libofproto-OFP15-group_desc_request.packet.json', - 'reply': 'libofproto-OFP15-group_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.get_port_desc, - 'request': 'libofproto-OFP15-port_desc_request.packet.json', - 'reply': 'libofproto-OFP15-port_desc_reply.packet.json' - }, - { - 'method': ofctl_v1_5.mod_flow_entry, - 'request': 'libofproto-OFP15-flow_mod_no_nx.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_5.mod_flow_entry, - 'request': 'lib-ofctl-OFP15-flow_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_5.mod_meter_entry, - 'request': 'libofproto-OFP15-meter_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_5.mod_group_entry, - 'request': 'libofproto-OFP15-group_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_5.mod_port_behavior, - 'request': 'libofproto-OFP15-port_mod.packet.json', - 'reply': None - }, - { - 'method': ofctl_v1_5.send_experimenter, - 'request': 'libofproto-OFP15-experimenter.packet.json', - 'reply': None - } - ], - } - - def _jsonfile_to_msg(datapath, jsonfile): - return ofproto_parser.ofp_msg_from_jsondict( - datapath, json.load(open(jsonfile))) - - this_dir = os.path.dirname(sys.modules[__name__].__file__) - parser_json_root = os.path.join(this_dir, '../ofproto/json/') - ofctl_json_root = os.path.join(this_dir, 'ofctl_json/') - - for ofp_ver, tests in _test_cases.items(): - dp = DummyDatapath(_ofp_vers[ofp_ver]) - parser_json_dir = os.path.join(parser_json_root, ofp_ver) - ofctl_json_dir = os.path.join(ofctl_json_root, ofp_ver) - for test in tests: - name = 'test_ofctl_' + ofp_ver + '_' + test['request'] - print('adding %s ...' % name) - args = {} - args_json_path = os.path.join(ofctl_json_dir, test['request']) - if os.path.exists(args_json_path): - args = json.load(open(args_json_path)) - request = _jsonfile_to_msg( - dp, os.path.join(parser_json_dir, test['request'])) - reply = None - expected = None - if test['reply']: - reply = _jsonfile_to_msg( - dp, os.path.join(parser_json_dir, test['reply'])) - expected = json.load( - open(os.path.join(ofctl_json_dir, test['reply']))) - f = functools.partial( - Test_ofctl._test, name=name, dp=dp, method=test['method'], - args=args, request=request, reply=reply, expected=expected) - test_lib.add_method(Test_ofctl, name, f) - - -_add_tests() - -if __name__ == "__main__": - unittest.main() diff --git a/ryu/tests/unit/lib/test_ofctl_action_match.py b/ryu/tests/unit/lib/test_ofctl_action_match.py deleted file mode 100644 index 11e27f78..00000000 --- a/ryu/tests/unit/lib/test_ofctl_action_match.py +++ /dev/null @@ -1,868 +0,0 @@ -# Copyright (C) 2014 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import unittest -import logging -import netaddr -import functools -import inspect - -from nose.tools import * - -from ryu.lib import addrconv -from ryu.lib import ofctl_v1_0 -from ryu.ofproto import ofproto_v1_0, ofproto_v1_0_parser -from ryu.lib import ofctl_v1_2 -from ryu.ofproto import ofproto_v1_2, ofproto_v1_2_parser -from ryu.lib import ofctl_v1_3 -from ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parser -from ryu.ofproto import ofproto_protocol -from ryu.ofproto import inet -from ryu.tests import test_lib - -LOG = logging.getLogger('test_ofctl_v1_2, v1_3') - -""" Common Functions """ - - -def _str_to_int(v): - try: - return int(v, 0) - except (ValueError, TypeError): - return v - - -def _to_match_eth(value): - if '/' in value: - value = value.split('/') - return value[0], value[1] - else: - return value, None - - -def _to_match_ip(value): - if '/' in value: - ip = netaddr.ip.IPNetwork(value) - ip_addr = str(ip.network) - ip_mask = str(ip.netmask) - return ip_addr, ip_mask - else: - return value, None - - -def _to_match_masked_int(value): - if isinstance(value, str) and '/' in value: - value = value.split('/') - return _str_to_int(value[0]), _str_to_int(value[1]) - else: - return _str_to_int(value), None - - -def _to_masked_int_str(value): - v, m = _to_match_masked_int(value) - v &= m - return '%d/%d' % (v, m) - - -conv_of10_to_of12_dict = { - 'dl_dst': 'eth_dst', - 'dl_src': 'eth_src', - 'dl_type': 'eth_type', - 'dl_vlan': 'vlan_vid', - 'nw_src': 'ipv4_src', - 'nw_dst': 'ipv4_dst', - 'nw_proto': 'ip_proto' -} - - -conv_of12_to_of10_dict = { - 'eth_src': 'dl_src', - 'eth_dst': 'dl_dst', - 'eth_type': 'dl_type', - 'ipv4_dst': 'nw_dst', - 'ipv4_src': 'nw_src', - 'ip_proto': 'nw_proto', - 'vlan_vid': 'dl_vlan', - 'tcp_src': 'tp_src', - 'tcp_dst': 'tp_dst', - 'udp_src': 'tp_src', - 'udp_dst': 'tp_dst' -} - -""" Test_ofctl """ - - -class Test_ofctl(unittest.TestCase): - - def __init__(self, methodName): - super(Test_ofctl, self).__init__(methodName) - - def setUp(self): - pass - - def tearDown(self): - pass - - def _test_actions(self, act, test): - dp = ofproto_protocol.ProtocolDesc(version=test.ver) - act_type = act["type"] - - # str -> action - insts = test.to_actions(dp, [act]) - - if test.ver == ofproto_v1_0.OFP_VERSION: - action = insts[0] - self._equal_str_to_act(action, act, act_type, test) - else: - inst = insts[0] - self._equal_str_to_inst(inst, act, act_type, test) - - # action -> str - inst_str = test.actions_to_str(insts) - if test.ver == ofproto_v1_0.OFP_VERSION: - act_str = inst_str - self._equal_act_to_str(act_str, act, act_type, test) - else: - self._equal_inst_to_str(inst_str, act, act_type, test) - - def _test_match(self, attrs, test): - dp = ofproto_protocol.ProtocolDesc(version=test.ver) - - # str -> match - match = test.to_match(dp, attrs) - - for key, value in attrs.items(): - key = self._conv_key(test, key, attrs) - self._equal_str_to_match(key, value, match, test) - - # match -> str - match_str = test.match_to_str(match) - - for key, value in attrs.items(): - if key in conv_of12_to_of10_dict: - key_old = conv_of12_to_of10_dict[key] - else: - key_old = key - self._equal_match_to_str(key_old, value, match_str, test) - - def _equal_str_to_inst(self, inst, act, act_type, test): - if act_type in test.supported_action: - cls = test.supported_action[act_type] - else: - cls = None - if act_type == 'GOTO_TABLE': - ok_(isinstance(inst, cls)) - eq_(inst.table_id, act["table_id"]) - elif act_type == 'WRITE_METADATA': - ok_(isinstance(inst, cls)) - eq_(inst.metadata, act["metadata"]) - eq_(inst.metadata_mask, act["metadata_mask"]) - elif act_type == 'METER': - ok_(isinstance(inst, cls)) - eq_(inst.meter_id, act["meter_id"]) - elif act_type == 'WRITE_ACTIONS': - ok_(isinstance(inst, cls)) - eq_(inst.type, test._ofproto.OFPIT_WRITE_ACTIONS) - self._equal_str_to_act(inst.actions[0], - act["actions"][0], - act["actions"][0]["type"], - test) - elif act_type == 'CLEAR_ACTIONS': - ok_(isinstance(inst, cls)) - eq_(inst.type, test._ofproto.OFPIT_CLEAR_ACTIONS) - else: - # APPLY_ACTIONS or Uknown Action Type - ok_(isinstance(inst, test._parser.OFPInstructionActions)) - eq_(inst.type, test._ofproto.OFPIT_APPLY_ACTIONS) - self._equal_str_to_act(inst.actions[0], act, - act_type, test) - - def _equal_str_to_act(self, action, act, act_type, test): - if act_type in test.supported_action: - cls = test.supported_action[act_type] - else: - cls = None - ok_(isinstance(action, cls)) - if act_type == 'OUTPUT': - eq_(action.port, act["port"]) - elif act_type == 'SET_VLAN_VID': - eq_(action.vlan_vid, act["vlan_vid"]) - elif act_type == 'SET_VLAN_PCP': - eq_(action.vlan_pcp, act["vlan_pcp"]) - elif act_type == 'SET_DL_SRC': - eq_(addrconv.mac.bin_to_text(action.dl_addr), - act["dl_src"]) - elif act_type == 'SET_DL_DST': - eq_(addrconv.mac.bin_to_text(action.dl_addr), - act["dl_dst"]) - elif act_type == 'SET_NW_SRC': - ip = netaddr.ip.IPAddress(action.nw_addr) - eq_(str(ip), act["nw_src"]) - elif act_type == 'SET_NW_DST': - ip = netaddr.ip.IPAddress(action.nw_addr) - eq_(str(ip), act["nw_dst"]) - elif act_type == 'SET_NW_TOS': - eq_(action.tos, act["nw_tos"]) - elif act_type == 'SET_TP_SRC': - eq_(action.tp, act["tp_src"]) - elif act_type == 'SET_TP_DST': - eq_(action.tp, act["tp_dst"]) - elif act_type == 'ENQUEUE': - eq_(action.queue_id, act["queue_id"]) - eq_(action.port, act["port"]) - elif act_type == 'SET_MPLS_TTL': - eq_(action.mpls_ttl, act["mpls_ttl"]) - elif act_type in ['PUSH_VLAN', 'PUSH_MPLS', - 'POP_MPLS', 'PUSH_PBB']: - eq_(action.ethertype, act["ethertype"]) - elif act_type == 'SET_QUEUE': - eq_(action.queue_id, act["queue_id"]) - elif act_type == 'GROUP': - eq_(action.group_id, act["group_id"]) - elif act_type == 'SET_NW_TTL': - eq_(action.nw_ttl, act["nw_ttl"]) - elif act_type == 'SET_FIELD': - eq_(action.key, act['field']) - eq_(action.value, act['value']) - elif act_type in ['STRIP_VLAN', 'COPY_TTL_OUT', - 'COPY_TTL_IN', 'DEC_MPLS_TTL', - 'POP_VLAN', 'DEC_NW_TTL', 'POP_PBB']: - pass - else: # Uknown Action Type - assert False - - def _equal_inst_to_str(self, inst_str, act, act_type, test): - if act_type == 'WRITE_ACTIONS': - act_str = inst_str[0]["WRITE_ACTIONS"] - act = act["actions"][0] - act_type = act["type"] - self._equal_act_to_str(act_str, act, act_type, test) - else: - inst_str_list = inst_str[0].split(':', 1) - eq_(inst_str_list[0], act_type) - if act_type == 'GOTO_TABLE': - eq_(int(inst_str_list[1]), act["table_id"]) - elif act_type == 'WRITE_METADATA': - met = inst_str_list[1].split('/') - eq_(int(met[0], 16), act["metadata"]) - eq_(int(met[1], 16), act["metadata_mask"]) - elif act_type == 'METER': - eq_(int(inst_str_list[1]), act["meter_id"]) - elif act_type == 'CLEAR_ACTIONS': - pass - else: - # APPLY_ACTIONS - act_str = inst_str - self._equal_act_to_str(act_str, act, act_type, test) - - def _equal_act_to_str(self, act_str, act, act_type, test): - act_str_list = act_str[0].split(':', 1) - eq_(act_str_list[0], act_type) - if act_type == 'OUTPUT': - eq_(int(act_str_list[1]), act["port"]) - elif act_type == 'SET_VLAN_VID': - eq_(int(act_str_list[1]), act["vlan_vid"]) - elif act_type == 'SET_VLAN_PCP': - eq_(int(act_str_list[1]), act["vlan_pcp"]) - elif act_type == 'SET_DL_SRC': - eq_(act_str_list[1], act["dl_src"]) - elif act_type == 'SET_DL_DST': - eq_(act_str_list[1], act["dl_dst"]) - elif act_type == 'SET_NW_SRC': - eq_(act_str_list[1], act["nw_src"]) - elif act_type == 'SET_NW_DST': - eq_(act_str_list[1], act["nw_dst"]) - elif act_type == 'SET_NW_TOS': - eq_(int(act_str_list[1]), act["nw_tos"]) - elif act_type == 'SET_TP_SRC': - eq_(int(act_str_list[1]), act["tp_src"]) - elif act_type == 'SET_TP_DST': - eq_(int(act_str_list[1]), act["tp_dst"]) - elif act_type == 'ENQUEUE': - enq = act_str_list[1].split(':') - eq_(int(enq[0], 10), act["port"]) - eq_(int(enq[1], 10), act["queue_id"]) - elif act_type == 'SET_MPLS_TTL': - eq_(int(act_str_list[1]), act["mpls_ttl"]) - elif act_type == 'PUSH_VLAN': - eq_(int(act_str_list[1]), act["ethertype"]) - elif act_type == 'PUSH_MPLS': - eq_(int(act_str_list[1]), act["ethertype"]) - elif act_type == 'POP_MPLS': - eq_(int(act_str_list[1]), act["ethertype"]) - elif act_type == 'SET_QUEUE': - eq_(int(act_str_list[1]), act["queue_id"]) - elif act_type == 'GROUP': - eq_(int(act_str_list[1]), act["group_id"]) - elif act_type == 'SET_NW_TTL': - eq_(int(act_str_list[1]), act["nw_ttl"]) - elif act_type == 'SET_FIELD': - field, value = act_str_list[1].split(':') - eq_(field.strip(' {'), act["field"]) - eq_(int(value.strip('} ')), act["value"]) - elif act_type == 'PUSH_PBB': - eq_(int(act_str_list[1]), act["ethertype"]) - elif act_type in ['STRIP_VLAN', 'COPY_TTL_OUT', - 'COPY_TTL_IN', 'DEC_MPLS_TTL', - 'POP_VLAN', 'DEC_NW_TTL', 'POP_PBB']: - pass - else: - assert False - - def _equal_str_to_match(self, key, value, match, test): - field_value = self._get_field_value(test, key, match) - - if key in ['eth_src', 'eth_dst', 'arp_sha', 'arp_tha']: - # MAC address - eth, mask = _to_match_eth(value) - if mask is not None: - # with mask - for i in range(0, len(mask)): - if mask[i] == 'f': - eq_(eth[i], field_value[0][i]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(eth, field_value) - return - elif key in ['dl_src', 'dl_dst']: - eth, mask = _to_match_eth(value) - field_value = addrconv.mac.bin_to_text(field_value) - eq_(eth, field_value) - return - elif key in ['ipv4_src', 'ipv4_dst', 'arp_spa', 'arp_tpa']: - # IPv4 address - ipv4, mask = _to_match_ip(value) - if mask is not None: - # with mask - eq_(ipv4, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv4, field_value) - return - elif key in ['nw_src', 'nw_dst']: - # IPv4 address - ipv4, mask = _to_match_ip(value) - field_value = _to_match_ip(field_value) - if mask is not None: - # with mask - eq_(ipv4, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv4, field_value[0]) - return - elif key in ['ipv6_src', 'ipv6_dst']: - # IPv6 address - ipv6, mask = _to_match_ip(value) - if mask is not None: - # with mask - eq_(ipv6, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv6, field_value) - return - elif key == 'vlan_vid': - if test.ver == ofproto_v1_0.OFP_VERSION: - eq_(value, field_value) - else: - eq_(test.expected_value['vlan_vid'][ - value]['to_match'], field_value) - return - else: - if isinstance(value, str) and '/' in value: - # with mask - value, mask = _to_match_masked_int(value) - value &= mask - eq_(value, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(_str_to_int(value), field_value) - return - - def _equal_match_to_str(self, key, value, match_str, test): - field_value = match_str[key] - if key in ['dl_src', 'dl_dst', 'arp_sha', 'arp_tha']: - # MAC address - eth, mask = _to_match_eth(value) - if mask is not None: - # with mask - field_value = field_value.split('/') - for i in range(0, len(mask)): - if mask[i] == 'f': - eq_(eth[i], field_value[0][i]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(eth, field_value) - return - elif key in['nw_src', 'nw_dst', 'arp_spa', 'arp_tpa']: - # IPv4 address - if test.ver == ofproto_v1_0.OFP_VERSION: - ipv4, mask = _to_match_ip(value) - field_value = _to_match_ip(field_value) - if mask is not None: - # with mask - eq_(ipv4, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv4, field_value[0]) - else: - ipv4, mask = _to_match_ip(value) - if mask is not None: - # with mask - field_value = field_value.split('/') - eq_(ipv4, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv4, field_value) - return - elif key in ['ipv6_src', 'ipv6_dst']: - # IPv6 address - ipv6, mask = _to_match_ip(value) - if mask is not None: - # with mask - field_value = field_value.split('/') - eq_(ipv6, field_value[0]) - eq_(mask, field_value[1]) - else: - # without mask - eq_(ipv6, field_value) - return - elif key == 'dl_vlan': - if test.ver == ofproto_v1_0.OFP_VERSION: - eq_(value, field_value) - else: - eq_(test.expected_value['vlan_vid'][ - value]['to_str'], field_value) - return - else: - if isinstance(value, str) and '/' in value: - # with mask - value = _to_masked_int_str(value) - eq_(value, field_value) - else: - # without mask - eq_(_str_to_int(value), field_value) - return - - def _conv_key(self, test, key, attrs): - if test.ver != ofproto_v1_0.OFP_VERSION: - if key in conv_of10_to_of12_dict: - # For old field name - key = conv_of10_to_of12_dict[key] - elif key == 'tp_src' or key == 'tp_dst': - # TCP/UDP port - conv = {inet.IPPROTO_TCP: {'tp_src': 'tcp_src', - 'tp_dst': 'tcp_dst'}, - inet.IPPROTO_UDP: {'tp_src': 'udp_src', - 'tp_dst': 'udp_dst'}} - ip_proto = attrs.get('nw_proto', attrs.get('ip_proto', 0)) - key = conv[ip_proto][key] - - return key - - def _get_field_value(self, test, key, match): - if test.ver == ofproto_v1_0.OFP_VERSION: - members = inspect.getmembers(match) - for member in members: - if member[0] == key: - field_value = member[1] - elif member[0] == 'wildcards': - wildcards = member[1] - if key == 'nw_src': - field_value = test.nw_src_to_str(wildcards, field_value) - elif key == 'nw_dst': - field_value = test.nw_dst_to_str(wildcards, field_value) - else: - field_value = match[key] - - return field_value - - -class test_data_base(object): - # followings must be an attribute of subclass. - # _ofctl - # _ofproto - - def __init__(self): - self.ver = self._ofproto.OFP_VERSION - self.to_match = self._ofctl.to_match - self.match_to_str = self._ofctl.match_to_str - self.to_actions = self._ofctl.to_actions - self.actions_to_str = self._ofctl.actions_to_str - - -class test_data_v1_0(test_data_base): - """ Test_data for of_v1_0 """ - _ofctl = ofctl_v1_0 - _ofproto = ofproto_v1_0 - _parser = ofproto_v1_0_parser - - def __init__(self): - super(test_data_v1_0, self).__init__() - self.nw_src_to_str = self._ofctl.nw_src_to_str - self.nw_dst_to_str = self._ofctl.nw_dst_to_str - self.supported_action = {} - self.act_list = [ - {'type': 'OUTPUT', 'port': 3}, - {'type': 'SET_VLAN_VID', 'vlan_vid': 5}, - {'type': 'SET_VLAN_PCP', 'vlan_pcp': 3}, - {'type': 'STRIP_VLAN'}, - {'type': 'SET_DL_SRC', 'dl_src': 'aa:bb:cc:11:22:33'}, - {'type': 'SET_DL_DST', 'dl_dst': 'aa:bb:cc:11:22:33'}, - {'type': 'SET_NW_SRC', 'nw_src': '10.0.0.1'}, - {'type': 'SET_NW_DST', 'nw_dst': '10.0.0.1'}, - {'type': 'SET_NW_TOS', 'nw_tos': 184}, - {'type': 'SET_TP_SRC', 'tp_src': 8080}, - {'type': 'SET_TP_DST', 'tp_dst': 8080}, - {'type': 'ENQUEUE', 'queue_id': 3, 'port': 1} - ] - self.attr_list = [ - {'in_port': 7}, - {'dl_src': 'aa:bb:cc:11:22:33'}, - {'dl_dst': 'aa:bb:cc:11:22:33'}, - {'dl_vlan': 5}, - {'dl_vlan_pcp': 3}, - {'dl_type': 123}, - {'nw_tos': 16}, - {'nw_proto': 5}, - {'nw_src': '192.168.0.1'}, - {'nw_src': '192.168.0.1/24'}, - {'nw_dst': '192.168.0.1'}, - {'nw_dst': '192.168.0.1/24'}, - {'tp_src': 1}, - {'tp_dst': 2} - ] - self.set_action() - - def set_action(self): - self.supported_action.update( - { - 'OUTPUT': self._parser.OFPActionOutput, - 'SET_VLAN_VID': self._parser.OFPActionVlanVid, - 'SET_VLAN_PCP': self._parser.OFPActionVlanPcp, - 'STRIP_VLAN': self._parser.OFPActionStripVlan, - 'SET_DL_SRC': self._parser.OFPActionSetDlSrc, - 'SET_DL_DST': self._parser.OFPActionSetDlDst, - 'SET_NW_SRC': self._parser.OFPActionSetNwSrc, - 'SET_NW_DST': self._parser.OFPActionSetNwDst, - 'SET_NW_TOS': self._parser.OFPActionSetNwTos, - 'SET_TP_SRC': self._parser.OFPActionSetTpSrc, - 'SET_TP_DST': self._parser.OFPActionSetTpDst, - 'ENQUEUE': self._parser.OFPActionEnqueue - }) - - -class test_data_v1_2(test_data_base): - """ Test_data for of_v1_2 """ - _ofctl = ofctl_v1_2 - _ofproto = ofproto_v1_2 - _parser = ofproto_v1_2_parser - - def __init__(self): - super(test_data_v1_2, self).__init__() - self.supported_action = {} - self.act_list = [ - {'type': 'OUTPUT', 'port': 3}, - {'type': 'COPY_TTL_OUT'}, - {'type': 'COPY_TTL_IN'}, - {'type': 'SET_MPLS_TTL', 'mpls_ttl': 64}, - {'type': 'DEC_MPLS_TTL'}, - {'type': 'PUSH_VLAN', 'ethertype': 0x0800}, - {'type': 'POP_VLAN'}, - {'type': 'PUSH_MPLS', 'ethertype': 0x0800}, - {'type': 'POP_MPLS', 'ethertype': 0x0800}, - {'type': 'SET_QUEUE', 'queue_id': 7}, - {'type': 'GROUP', 'group_id': 5}, - {'type': 'SET_NW_TTL', 'nw_ttl': 64}, - {'type': 'DEC_NW_TTL'}, - {"type": "CLEAR_ACTIONS"}, - {"type": "WRITE_ACTIONS", - "actions": [{"type": "OUTPUT", "port": 4}]}, - {'type': 'GOTO_TABLE', 'table_id': 8}, - {'type': 'WRITE_METADATA', 'metadata': 8, - 'metadata_mask': (1 << 64) - 1}, - ] - self.attr_list = [ - {'in_port': 7}, - {'in_phy_port': 5, 'in_port': 3}, - {'metadata': 12345}, - {'metadata': '0x1212121212121212'}, - {'metadata': '0x19af28be37fa91b/0x1010101010101010'}, - {'dl_src': "aa:bb:cc:11:22:33"}, - {'dl_src': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, - {'dl_dst': "aa:bb:cc:11:22:33"}, - {'dl_dst': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, - {'dl_type': 123}, - {'eth_src': "aa:bb:cc:11:22:33"}, - {'eth_src': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, - {'eth_dst': "aa:bb:cc:11:22:33"}, - {'eth_dst': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff"}, - {'eth_type': 0x800}, - {'dl_vlan': 0}, - {'dl_vlan': 3}, - {'dl_vlan': 4095}, - {'dl_vlan': "0"}, - {'dl_vlan': "3"}, - {'dl_vlan': "4095"}, - {'dl_vlan': "0x0000"}, - {'dl_vlan': "0x0003"}, - {'dl_vlan': "0x0fff"}, - {'dl_vlan': "0x1000"}, - {'dl_vlan': "0x1003"}, - {'dl_vlan': "0x1fff"}, - {'dl_vlan': "4096/4096"}, - {'dl_vlan': "4096/4097"}, - {'dl_vlan': "2744/2748"}, - {'dl_vlan': "2748/2748"}, - {'dl_vlan': "2748/2749"}, - {'dl_vlan': "0x1000/0x1000"}, - {'dl_vlan': "0x1000/0x1001"}, - {'dl_vlan': "0x0ab8/0x0abc"}, - {'dl_vlan': "0x0abc/0x0abc"}, - {'dl_vlan': "0x0abc/0x0abd"}, - {'vlan_pcp': 3, 'vlan_vid': 3}, - {'ip_dscp': 3, 'eth_type': 0x0800}, - {'ip_ecn': 4, 'eth_type': 0x86dd}, - {'nw_src': "192.168.0.1", 'eth_type': 0x0800}, - {'nw_src': "192.168.0.1/24", 'eth_type': 0x0800}, - {'nw_src': "192.168.10.10/255.255.0.0", 'eth_type': 0x0800}, - {'nw_dst': "192.168.0.1", 'eth_type': 0x0800}, - {'nw_dst': "192.168.0.1/24", 'eth_type': 0x0800}, - {'nw_dst': "192.168.10.10/255.255.255.0"}, - {'nw_proto': 5, 'eth_type': 0x0800}, - {'ip_proto': 5, 'eth_type': 0x86dd}, - {'ipv4_src': "192.168.0.1", 'eth_type': 0x0800}, - {'ipv4_src': "192.168.0.1/24", 'eth_type': 0x0800}, - {'ipv4_src': "192.168.10.10/255.255.0.0", 'eth_type': 0x0800}, - {'ipv4_dst': "192.168.0.1", 'eth_type': 0x0800}, - {'ipv4_dst': "192.168.0.1/24", 'eth_type': 0x0800}, - {'ipv4_dst': "192.168.10.10/255.255.255.0", 'eth_type': 0x0800}, - {'tp_src': 1, 'ip_proto': 6}, - {'tp_dst': 2, 'ip_proto': 6}, - {'tp_src': 3, 'ip_proto': 17}, - {'tp_dst': 4, 'ip_proto': 17}, - {'vlan_vid': 0}, - {'vlan_vid': 3}, - {'vlan_vid': 4095}, - {'vlan_vid': "0"}, - {'vlan_vid': "3"}, - {'vlan_vid': "4095"}, - {'vlan_vid': "0x0000"}, - {'vlan_vid': "0x0003"}, - {'vlan_vid': "0x0fff"}, - {'vlan_vid': "0x1000"}, - {'vlan_vid': "0x1003"}, - {'vlan_vid': "0x1fff"}, - {'vlan_vid': "4096/4096"}, - {'vlan_vid': "4096/4097"}, - {'vlan_vid': "2744/2748"}, - {'vlan_vid': "2748/2748"}, - {'vlan_vid': "2748/2749"}, - {'vlan_vid': "0x1000/0x1000"}, - {'vlan_vid': "0x1000/0x1001"}, - {'vlan_vid': "0x0ab8/0x0abc"}, - {'vlan_vid': "0x0abc/0x0abc"}, - {'vlan_vid': "0x0abc/0x0abd"}, - {'tcp_src': 3, 'ip_proto': 6}, - {'tcp_dst': 5, 'ip_proto': 6}, - {'udp_src': 2, 'ip_proto': 17}, - {'udp_dst': 6, 'ip_proto': 17}, - {'sctp_src': 99, 'ip_proto': 132}, - {'sctp_dst': 99, 'ip_proto': 132}, - {'icmpv4_type': 5, 'ip_proto': 1}, - {'icmpv4_code': 6, 'ip_proto': 1}, - {'arp_op': 3, 'eth_type': 0x0806}, - {'arp_spa': "192.168.0.11", 'eth_type': 0x0806}, - {'arp_spa': "192.168.0.22/24", 'eth_type': 0x0806}, - {'arp_tpa': "192.168.0.33", 'eth_type': 0x0806}, - {'arp_tpa': "192.168.0.44/24", 'eth_type': 0x0806}, - {'arp_sha': "aa:bb:cc:11:22:33", 'eth_type': 0x0806}, - {'arp_sha': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff", - 'eth_type': 0x0806}, - {'arp_tha': "aa:bb:cc:11:22:33", 'eth_type': 0x0806}, - {'arp_tha': "aa:bb:cc:11:22:33/00:00:00:00:ff:ff", - 'eth_type': 0x0806}, - {'ipv6_src': '2001::aaaa:bbbb:cccc:1111', 'eth_type': 0x86dd}, - {'ipv6_src': '2001::aaaa:bbbb:cccc:1111/64', 'eth_type': 0x86dd}, - {'ipv6_dst': '2001::ffff:cccc:bbbb:1111', 'eth_type': 0x86dd}, - {'ipv6_dst': '2001::ffff:cccc:bbbb:1111/64', 'eth_type': 0x86dd}, - {'ipv6_flabel': 2, 'eth_type': 0x86dd}, - {'icmpv6_type': 3, 'ip_proto': 58}, - {'icmpv6_code': 4, 'ip_proto': 58}, - {'ipv6_nd_target': '2001::ffff:cccc:bbbb:1111', - 'icmpv6_type': 135, 'ip_proto': 58}, - {'ipv6_nd_sll': "aa:bb:cc:11:22:33", - 'icmpv6_type': 135, 'ip_proto': 58}, - {'ipv6_nd_tll': "aa:bb:cc:11:22:33", - 'icmpv6_type': 136, 'ip_proto': 58}, - {'mpls_label': 3, 'eth_type': 0x8848}, - {'mpls_tc': 2, 'eth_type': 0x8848} - ] - self.supported_action.update( - { - 'OUTPUT': self._parser.OFPActionOutput, - 'COPY_TTL_OUT': self._parser.OFPActionCopyTtlOut, - 'COPY_TTL_IN': self._parser.OFPActionCopyTtlIn, - 'SET_MPLS_TTL': self._parser.OFPActionSetMplsTtl, - 'DEC_MPLS_TTL': self._parser.OFPActionDecMplsTtl, - 'PUSH_VLAN': self._parser.OFPActionPushVlan, - 'POP_VLAN': self._parser.OFPActionPopVlan, - 'PUSH_MPLS': self._parser.OFPActionPushMpls, - 'POP_MPLS': self._parser.OFPActionPopMpls, - 'SET_QUEUE': self._parser.OFPActionSetQueue, - 'GROUP': self._parser.OFPActionGroup, - 'SET_NW_TTL': self._parser.OFPActionSetNwTtl, - 'DEC_NW_TTL': self._parser.OFPActionDecNwTtl, - 'SET_FIELD': self._parser.OFPActionSetField, - 'GOTO_TABLE': self._parser.OFPInstructionGotoTable, - 'WRITE_METADATA': self._parser.OFPInstructionWriteMetadata, - 'WRITE_ACTIONS': self._parser.OFPInstructionActions, - 'CLEAR_ACTIONS': self._parser.OFPInstructionActions, - }) - self.set_expected_value() - - def set_expected_value(self): - vid_present = self._ofproto.OFPVID_PRESENT - self.expected_value = { - "vlan_vid": { - 0: {"to_match": 0 | vid_present, "to_str": "0"}, - 3: {"to_match": 3 | vid_present, "to_str": "3"}, - 4095: {"to_match": 4095 | vid_present, "to_str": "4095"}, - "0": {"to_match": 0 | vid_present, "to_str": "0"}, - "3": {"to_match": 3 | vid_present, "to_str": "3"}, - "4095": {"to_match": 4095 | vid_present, "to_str": "4095"}, - "0x0000": {"to_match": 0x0000, "to_str": "0x0000"}, - "0x0003": {"to_match": 0x0003, "to_str": "0x0003"}, - "0x0fff": {"to_match": 0x0fff, "to_str": "0x0fff"}, - "0x1000": {"to_match": 0x1000, "to_str": "0"}, - "0x1003": {"to_match": 0x1003, "to_str": "3"}, - "0x1fff": {"to_match": 0x1fff, "to_str": "4095"}, - "4096/4096": {"to_match": (4096, 4096), - "to_str": "0x1000/0x1000"}, - "4096/4097": {"to_match": (4096, 4097), - "to_str": "0x1000/0x1001"}, - "2744/2748": {"to_match": (2744, 2748), - "to_str": "0x0ab8/0x0abc"}, - "2748/2748": {"to_match": (2748, 2748), - "to_str": "0x0abc/0x0abc"}, - "2748/2749": {"to_match": (2748, 2749), - "to_str": "0x0abc/0x0abd"}, - "0x1000/0x1000": {"to_match": (0x1000, 0x1000), - "to_str": "0x1000/0x1000"}, - "0x1000/0x1001": {"to_match": (0x1000, 0x1001), - "to_str": "0x1000/0x1001"}, - "0x0ab8/0x0abc": {"to_match": (0x0ab8, 0x0abc), - "to_str": "0x0ab8/0x0abc"}, - "0x0abc/0x0abc": {"to_match": (0x0abc, 0x0abc), - "to_str": "0x0abc/0x0abc"}, - "0x0abc/0x0abd": {"to_match": (0x0abc, 0x0abd), - "to_str": "0x0abc/0x0abd"} - } - } - - -class test_data_v1_3(test_data_v1_2): - """ Test_data for of_v1_3 """ - _ofctl = ofctl_v1_3 - _ofproto = ofproto_v1_3 - _parser = ofproto_v1_3_parser - - def __init__(self): - super(test_data_v1_3, self).__init__() - self.act_list.extend( - [ - {'type': 'PUSH_PBB', 'ethertype': 0x0800}, - {'type': 'POP_PBB'}, - {'type': 'METER', 'meter_id': 3}, - ] - ) - self.attr_list.extend( - [ - {'mpls_bos': 3, 'eth_type': 0x8848}, - {'pbb_isid': 5, 'eth_type': 0x88E7}, - {'pbb_isid': "0x05", 'eth_type': 0x88E7}, - {'pbb_isid': "0x05/0xff", 'eth_type': 0x88E7}, - {'tunnel_id': 7}, - {'tunnel_id': "0x07"}, - {'tunnel_id': "0x07/0xff"}, - {'ipv6_exthdr': 3, 'eth_type': 0x86dd}, - {'ipv6_exthdr': "0x40", 'eth_type': 0x86dd}, - {'ipv6_exthdr': "0x40/0x1F0", 'eth_type': 0x86dd}, - ] - ) - self.supported_action.update( - { - 'PUSH_PBB': self._parser.OFPActionPushPbb, - 'POP_PBB': self._parser.OFPActionPopPbb, - 'METER': self._parser.OFPInstructionMeter, - }) - self.set_expected_value() - - -def _add_tests_actions(cls): - for act in cls.act_list: - method_name = 'test_' + str(cls.ver) + '_' + act["type"] + '_action' - - def _run(self, name, act, cls): - print('processing %s ...' % name) - cls_ = Test_ofctl(name) - cls_._test_actions(act, cls) - print('adding %s ...' % method_name) - func = functools.partial(_run, name=method_name, act=act, cls=cls) - test_lib.add_method(Test_ofctl, method_name, func) - - -def _add_tests_match(cls): - for attr in cls.attr_list: - for key, value in attr.items(): - method_name = 'test_' + \ - str(cls.ver) + '_' + key + '_' + str( - value) + str(type(value)) + '_match' - - def _run(self, name, attr, cls): - print('processing %s ...' % name) - cls_ = Test_ofctl(name) - cls_._test_match(attr, cls) - print('adding %s ...' % method_name) - func = functools.partial( - _run, name=method_name, attr=attr, cls=cls) - test_lib.add_method(Test_ofctl, method_name, func) - - -""" Test case """ - -# for of10 -cls = test_data_v1_0() -_add_tests_actions(cls) -_add_tests_match(cls) - -# for of12 -cls = test_data_v1_2() -_add_tests_actions(cls) -_add_tests_match(cls) - -# for of13 -cls = test_data_v1_3() -_add_tests_actions(cls) -_add_tests_match(cls) diff --git a/ryu/tests/unit/lib/test_ofctl_string.py b/ryu/tests/unit/lib/test_ofctl_string.py deleted file mode 100644 index cc0ce9f2..00000000 --- a/ryu/tests/unit/lib/test_ofctl_string.py +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright (C) 2017 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest - -from ryu.lib import ofctl_string -from ryu.ofproto import ofproto_parser -from ryu.ofproto.ofproto_protocol import ProtocolDesc -from ryu.ofproto import ofproto_v1_5 - - -class Test_OfctlString(unittest.TestCase): - """Test cases for ryu.ofproto.ofp_instruction_from_str. - """ - - def __init__(self, methodName): - print('init %s' % methodName) - self.fake_dp_of15 = ProtocolDesc(ofproto_v1_5.OFP_VERSION) - self.maxDiff = None - super(Test_OfctlString, self).__init__(methodName) - - def _test_str(self, dp, ofctl_str, *jsondict): - json = ofctl_string.ofp_instruction_from_str( - ofproto_v1_5, ofctl_str) - inst = ofproto_parser.ofp_instruction_from_jsondict(dp, json) - self.assertEqual(len(inst), len(jsondict)) - for i in range(len(inst)): - self.assertEqual(jsondict[i], inst[i].to_jsondict()) - - def test_drop(self): - inst = ofctl_string.ofp_instruction_from_str( - ofproto_v1_5, 'drop') - self.assertEqual(inst, []) - - def test_conjunction(self): - self._test_str(self.fake_dp_of15, - 'conjunction(0x234, 1/3),conjunction(0xdea, 2/2)', - {'OFPInstructionActions': { - 'actions': [ - {'NXActionConjunction': {'clause': 0, - 'experimenter': 8992, - 'id': 0x234, - 'len': None, - 'n_clauses': 3, - 'subtype': 34, - 'type': 65535}}, - {'NXActionConjunction': {'clause': 1, - 'experimenter': 8992, - 'id': 0xdea, - 'len': None, - 'n_clauses': 2, - 'subtype': 34, - 'type': 65535}}], - 'type': 4}}) - - def test_ct(self): - self._test_str(self.fake_dp_of15, - 'ct(commit)', - {'OFPInstructionActions': { - 'actions': [{'NXActionCT': {'actions': [], - 'alg': 0, - 'experimenter': 8992, - 'flags': 1, - 'len': None, - 'recirc_table': 255, - 'subtype': 35, - 'type': 65535, - 'zone_ofs_nbits': 0, - 'zone_src': u''}}], - 'type': 4}}) - - def test_ct_2(self): - self._test_str(self.fake_dp_of15, - 'ct(commit,zone=NXM_NX_REG8[0..15],' - 'exec(set_field:1->ct_mark))', - {'OFPInstructionActions': { - 'actions': [{'NXActionCT': { - 'actions': [ - {'OFPActionSetField': { - 'field': {'OXMTlv': {'field': 'ct_mark', - 'mask': None, - 'value': 1}}, - 'len': 8, - 'type': 25}}], - 'alg': 0, - 'experimenter': 8992, - 'flags': 1, - 'len': None, - 'recirc_table': 255, - 'subtype': 35, - 'type': 65535, - 'zone_ofs_nbits': 15, - 'zone_src': u'reg8'}}], - 'type': 4}}) - - def test_resubmit(self): - self._test_str(self.fake_dp_of15, - 'resubmit(,10)', - {'OFPInstructionActions': - {'actions': [{'NXActionResubmitTable': { - 'experimenter': 8992, - 'in_port': 65528, - 'len': None, - 'subtype': 14, - 'table_id': 10, - 'type': 65535}}], - 'type': 4}}) - - def test_set_field(self): - self._test_str(self.fake_dp_of15, - 'set_field:10/0xff->tun_id', - {'OFPInstructionActions': - {'actions': [{'OFPActionSetField': { - 'field': {'OXMTlv': {'field': 'tunnel_id', - 'mask': 255, - 'value': 10}}, - 'len': 8, - 'type': 25}}], - 'type': 4}}) - - def test_pop_vlan(self): - self._test_str(self.fake_dp_of15, - 'pop_vlan', - {'OFPInstructionActions': - {'actions': [{'OFPActionPopVlan': {'len': 8, - 'type': 18}}], - 'type': 4}}) - - def test_multi(self): - self._test_str(self.fake_dp_of15, - 'pop_vlan,goto_table:33', - {'OFPInstructionActions': - {'actions': [{'OFPActionPopVlan': {'len': 8, - 'type': 18}}], - 'type': 4}}, - {'OFPInstructionGotoTable': - {'len': 8, - 'table_id': 33, - 'type': 1}}) - - def test_multi_unordered(self): - self._test_str(self.fake_dp_of15, - 'pop_vlan,goto_table:33,output:1', - {'OFPInstructionActions': - {'actions': [{'OFPActionPopVlan': {'len': 8, - 'type': 18}}, - {'OFPActionOutput': {'len': 16, - 'max_len': 65509, - 'port': 1, - 'type': 0}}], - 'type': 4}}, - {'OFPInstructionGotoTable': - {'len': 8, - 'table_id': 33, - 'type': 1}}) diff --git a/ryu/tests/unit/lib/test_ofctl_utils.py b/ryu/tests/unit/lib/test_ofctl_utils.py deleted file mode 100644 index 2f02f43b..00000000 --- a/ryu/tests/unit/lib/test_ofctl_utils.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import logging -import unittest - -from ryu.lib import ofctl_utils -from ryu.ofproto import ofproto_v1_3 - - -LOG = logging.getLogger(__name__) - - -class Test_ofctl_utils(unittest.TestCase): - # prepare test target - util = ofctl_utils.OFCtlUtil(ofproto_v1_3) - - def _test_str_to_int(self, input_value, expected_value): - output_value = ofctl_utils.str_to_int(input_value) - self.assertEqual(expected_value, output_value) - - def test_str_to_int(self): - self._test_str_to_int(1, 1) # int - self._test_str_to_int('0b10', 2) # binary digit - self._test_str_to_int('0o10', 8) # octal digit - self._test_str_to_int('0x10', 16) # hexadecimal digit - - def test_ofp_port_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPP_CONTROLLER, - self.util.ofp_port_from_user(ofproto_v1_3.OFPP_CONTROLLER) # int - ) - self.assertEqual( - ofproto_v1_3.OFPP_CONTROLLER, - self.util.ofp_port_from_user('CONTROLLER') # str without prefix - ) - self.assertEqual( - ofproto_v1_3.OFPP_CONTROLLER, - self.util.ofp_port_from_user('OFPP_CONTROLLER') # str with prefix - ) - - def test_ofp_port_to_user(self): - self.assertEqual( - 'CONTROLLER', - self.util.ofp_port_to_user(ofproto_v1_3.OFPP_CONTROLLER) - ) - self.assertEqual( - 1, - self.util.ofp_port_to_user(1) # not matched - ) - - def test_ofp_table_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPTT_ALL, - self.util.ofp_table_from_user('ALL') - ) - - def test_ofp_table_to_user(self): - self.assertEqual( - 'ALL', - self.util.ofp_table_to_user(ofproto_v1_3.OFPTT_ALL) - ) - - def test_ofp_cml_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPCML_NO_BUFFER, - self.util.ofp_cml_from_user('NO_BUFFER') - ) - - def test_ofp_cml_to_user(self): - self.assertEqual( - 'NO_BUFFER', - self.util.ofp_cml_to_user(ofproto_v1_3.OFPCML_NO_BUFFER) - ) - - def test_ofp_group_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPG_ANY, - self.util.ofp_group_from_user('ANY') - ) - - def test_ofp_group_to_user(self): - self.assertEqual( - 'ANY', - self.util.ofp_group_to_user(ofproto_v1_3.OFPG_ANY) - ) - - def test_ofp_buffer_from_user(self): - self.assertEqual( - ofproto_v1_3.OFP_NO_BUFFER, - self.util.ofp_buffer_from_user('NO_BUFFER') - ) - self.assertEqual( - 1, - self.util.ofp_buffer_from_user(1) # not matched - ) - - def test_ofp_buffer_to_user(self): - self.assertEqual( - 'NO_BUFFER', - self.util.ofp_buffer_to_user(ofproto_v1_3.OFP_NO_BUFFER) - ) - self.assertEqual( - 1, - self.util.ofp_buffer_to_user(1) # not matched - ) - - def test_ofp_meter_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPM_ALL, - self.util.ofp_meter_from_user('ALL') - ) - - def test_ofp_meter_to_user(self): - self.assertEqual( - 'ALL', - self.util.ofp_meter_to_user(ofproto_v1_3.OFPM_ALL) - ) - - def test_ofp_queue_from_user(self): - self.assertEqual( - ofproto_v1_3.OFPQ_ALL, - self.util.ofp_queue_from_user('ALL') - ) - - def test_ofp_queue_to_user(self): - self.assertEqual( - 'ALL', - self.util.ofp_queue_to_user(ofproto_v1_3.OFPQ_ALL) - ) diff --git a/ryu/tests/unit/lib/test_ofctl_v1_3.py b/ryu/tests/unit/lib/test_ofctl_v1_3.py deleted file mode 100644 index 81cfacbf..00000000 --- a/ryu/tests/unit/lib/test_ofctl_v1_3.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (C) 2013 Stratosphere Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -import unittest -import logging -from nose.tools import * - -from ryu.lib import ofctl_v1_3 -from ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parser -from ryu.ofproto import ofproto_protocol -from ryu.ofproto.ofproto_v1_3_parser import OFPActionPopMpls - -LOG = logging.getLogger('test_ofctl_v1_3') - - -class Test_ofctl_v1_3(unittest.TestCase): - - """ Test case for ofctl_v1_3 - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - def test_to_actions_pop_mpls(self): - dp = ofproto_protocol.ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) - - acts = [ - { - 'type': 'POP_MPLS', - 'ethertype': 0x0800 - } - ] - result = ofctl_v1_3.to_actions(dp, acts) - insts = result[0] - act = insts.actions[0] - ok_(isinstance(act, OFPActionPopMpls)) - eq_(act.ethertype, 0x0800) diff --git a/ryu/tests/unit/lib/test_ofp_pktinfilter.py b/ryu/tests/unit/lib/test_ofp_pktinfilter.py deleted file mode 100644 index 2c037737..00000000 --- a/ryu/tests/unit/lib/test_ofp_pktinfilter.py +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright (C) 2013 Stratosphere Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -import unittest -import logging -import six - -from nose.tools import * - -from ryu.controller import ofp_event -from ryu.controller.handler import ( - set_ev_cls, - MAIN_DISPATCHER, -) -from ryu.lib.packet import vlan, ethernet, ipv4 -from ryu.lib.ofp_pktinfilter import packet_in_filter, RequiredTypeFilter -from ryu.lib import mac -from ryu.ofproto import ether, ofproto_v1_3, ofproto_v1_3_parser -from ryu.ofproto.ofproto_protocol import ProtocolDesc - - -LOG = logging.getLogger('test_pktinfilter') - - -class _PacketInFilterApp(object): - @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) - @packet_in_filter(RequiredTypeFilter, {'types': [ - vlan.vlan, - ]}) - def packet_in_handler(self, ev): - return True - - -class Test_packet_in_filter(unittest.TestCase): - - """ Test case for pktinfilter - """ - - def setUp(self): - self.app = _PacketInFilterApp() - - def tearDown(self): - pass - - def test_pkt_in_filter_pass(self): - datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) - e = ethernet.ethernet(mac.BROADCAST_STR, - mac.BROADCAST_STR, - ether.ETH_TYPE_8021Q) - v = vlan.vlan() - i = ipv4.ipv4() - pkt = (e / v / i) - pkt.serialize() - pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, - data=six.binary_type(pkt.data)) - ev = ofp_event.EventOFPPacketIn(pkt_in) - ok_(self.app.packet_in_handler(ev)) - - def test_pkt_in_filter_discard(self): - datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) - e = ethernet.ethernet(mac.BROADCAST_STR, - mac.BROADCAST_STR, - ether.ETH_TYPE_IP) - i = ipv4.ipv4() - pkt = (e / i) - pkt.serialize() - pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, - data=six.binary_type(pkt.data)) - ev = ofp_event.EventOFPPacketIn(pkt_in) - ok_(not self.app.packet_in_handler(ev)) - - def test_pkt_in_filter_truncated(self): - datapath = ProtocolDesc(version=ofproto_v1_3.OFP_VERSION) - truncated_data = '' - pkt_in = ofproto_v1_3_parser.OFPPacketIn(datapath, - data=truncated_data) - ev = ofp_event.EventOFPPacketIn(pkt_in) - ok_(not self.app.packet_in_handler(ev)) diff --git a/ryu/tests/unit/lib/test_pack_utils.py b/ryu/tests/unit/lib/test_pack_utils.py deleted file mode 100644 index 5bc99513..00000000 --- a/ryu/tests/unit/lib/test_pack_utils.py +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest -import six -import struct - -from nose.tools import ok_, eq_ - -from ryu.lib import pack_utils - - -class TestMsgPackInto(unittest.TestCase): - """ Test case for msg_pack_into - """ - - def _test_msg_pack_into(self, offset_type='e'): - fmt = '!HH' - len_ = struct.calcsize(fmt) - buf = bytearray(len_) - offset = len_ - arg1 = 1 - arg2 = 2 - - if offset_type == 'l': - offset += 1 - elif offset_type == 'g': - offset -= 1 - - pack_utils.msg_pack_into(fmt, buf, offset, arg1, arg2) - - check_offset = len(buf) - len_ - res = struct.unpack_from(fmt, six.binary_type(buf), check_offset) - - eq_(arg1, res[0]) - eq_(arg2, res[1]) - - return True - - def test_msg_pack_into(self): - ok_(self._test_msg_pack_into()) - - def test_msg_pack_into_less(self): - ok_(self._test_msg_pack_into('l')) - - def test_msg_pack_into_greater(self): - ok_(self._test_msg_pack_into('g')) diff --git a/ryu/tests/unit/lib/test_pcaplib.py b/ryu/tests/unit/lib/test_pcaplib.py deleted file mode 100644 index ac86904e..00000000 --- a/ryu/tests/unit/lib/test_pcaplib.py +++ /dev/null @@ -1,230 +0,0 @@ -# Copyright (C) 2016 Nippon Telegraph and Telephone Corporation. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import logging -import os -import struct -import sys -import unittest - -try: - import mock # Python 2 -except ImportError: - from unittest import mock # Python 3 - -from nose.tools import eq_ -from nose.tools import raises - -from ryu.utils import binary_str -from ryu.lib import pcaplib - -LOG = logging.getLogger(__name__) - -PCAP_PACKET_DATA_DIR = os.path.join( - os.path.dirname(sys.modules[__name__].__file__), - '../../packet_data/pcap/') - - -class Test_PcapFileHdr(unittest.TestCase): - """ - Test case for pcaplib.PcapFileHdr class - """ - hdr = pcaplib.PcapFileHdr( - magic=None, # temporary default - version_major=2, - version_minor=4, - thiszone=0x11223344, - sigfigs=0x22334455, - snaplen=0x33445566, - network=0x44556677, - ) - - buf_big = ( - b'\xa1\xb2\xc3\xd4' # magic (Big Endian) - b'\x00\x02\x00\x04' # version_major, version_minor - b'\x11\x22\x33\x44' # thiszone - b'\x22\x33\x44\x55' # sigfigs - b'\x33\x44\x55\x66' # snaplen - b'\x44\x55\x66\x77' # network - ) - - buf_little = ( - b'\xd4\xc3\xb2\xa1' # magic (Little Endian) - b'\x02\x00\x04\x00' # version_major, version_minor - b'\x44\x33\x22\x11' # thiszone - b'\x55\x44\x33\x22' # sigfigs - b'\x66\x55\x44\x33' # snaplen - b'\x77\x66\x55\x44' # network - ) - - buf_invalid = ( - b'\xff\xff\xff\xff' # magic (Invalid) - b'\x02\x00\x04\x00' # version_major, version_minor - b'\x44\x33\x22\x11' # thiszone - b'\x55\x44\x33\x22' # sigfigs - b'\x66\x55\x44\x33' # snaplen - b'\x77\x66\x55\x44' # network - ) - - def _assert(self, magic, ret): - self.hdr.magic = magic - eq_(self.hdr.__dict__, ret.__dict__) - - def test_parser_with_big_endian(self): - ret, byteorder = pcaplib.PcapFileHdr.parser(self.buf_big) - self._assert(pcaplib.PcapFileHdr.MAGIC_NUMBER_IDENTICAL, ret) - eq_('big', byteorder) - - def test_parser_with_little_endian(self): - ret, byteorder = pcaplib.PcapFileHdr.parser(self.buf_little) - self._assert(pcaplib.PcapFileHdr.MAGIC_NUMBER_SWAPPED, ret) - eq_('little', byteorder) - - @mock.patch('sys.byteorder', 'big') - def test_serialize_with_big_endian(self): - buf = self.hdr.serialize() - eq_(binary_str(self.buf_big), binary_str(buf)) - - @mock.patch('sys.byteorder', 'little') - def test_serialize_with_little_endian(self): - buf = self.hdr.serialize() - eq_(binary_str(self.buf_little), binary_str(buf)) - - @raises(struct.error) - def test_parser_with_invalid_magic_number(self): - pcaplib.PcapFileHdr.parser(self.buf_invalid) - - -class Test_PcapPktHdr(unittest.TestCase): - """ - Test case for pcaplib.PcapPktHdr class - """ - expected_buf = b'test_data' - - hdr = pcaplib.PcapPktHdr( - ts_sec=0x11223344, - ts_usec=0x22334455, - incl_len=len(expected_buf), - orig_len=0x44556677, - ) - - buf_big = ( - b'\x11\x22\x33\x44' # ts_sec - b'\x22\x33\x44\x55' # ts_usec - b'\x00\x00\x00\x09' # incl_len = len(expected_buf) - b'\x44\x55\x66\x77' # orig_len - ) - - buf_little = ( - b'\x44\x33\x22\x11' # ts_sec - b'\x55\x44\x33\x22' # ts_usec - b'\x09\x00\x00\x00' # incl_len = len(expected_buf) - b'\x77\x66\x55\x44' # orig_len - ) - - def test_parser_with_big_endian(self): - ret, buf = pcaplib.PcapPktHdr.parser( - self.buf_big + self.expected_buf, 'big') - eq_(self.hdr.__dict__, ret.__dict__) - eq_(self.expected_buf, buf) - - def test_parser_with_little_endian(self): - ret, buf = pcaplib.PcapPktHdr.parser( - self.buf_little + self.expected_buf, 'little') - eq_(self.hdr.__dict__, ret.__dict__) - eq_(self.expected_buf, buf) - - @mock.patch('sys.byteorder', 'big') - def test_serialize_with_big_endian(self): - buf = self.hdr.serialize() - eq_(binary_str(self.buf_big), binary_str(buf)) - - @mock.patch('sys.byteorder', 'little') - def test_serialize_with_little_endian(self): - buf = self.hdr.serialize() - eq_(binary_str(self.buf_little), binary_str(buf)) - - -class Test_pcaplib_Reader(unittest.TestCase): - """ - Test case for pcaplib.Reader class - """ - - expected_outputs = [ - (0x1234 + (0x5678 / 1e6), b'test_data_1'), # sec=0x1234, usec=0x5678 - (0x2345 + (0x6789 / 1e6), b'test_data_2'), # sec=0x2345, usec=0x6789 - ] - - def _test(self, file_name): - outputs = [] - for ts, buf in pcaplib.Reader(open(file_name, 'rb')): - outputs.append((ts, buf)) - - eq_(self.expected_outputs, outputs) - - def test_with_big_endian(self): - self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'big_endian.pcap')) - - def test_with_little_endian(self): - self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'little_endian.pcap')) - - -class DummyFile(object): - - def __init__(self): - self.buf = b'' - - def write(self, buf): - self.buf += buf - - def close(self): - pass - - -class Test_pcaplib_Writer(unittest.TestCase): - """ - Test case for pcaplib.Writer class - """ - - @staticmethod - def _test(file_name): - expected_buf = open(file_name, 'rb').read() - f = DummyFile() - w = pcaplib.Writer(f) - w.write_pkt(b'test_data_1', ts=(0x1234 + (0x5678 / 1e6))) - w.write_pkt(b'test_data_2', ts=(0x2345 + (0x6789 / 1e6))) - eq_(expected_buf, f.buf) - - @mock.patch('sys.byteorder', 'big') - def test_with_big_endian(self): - self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'big_endian.pcap')) - - @mock.patch('sys.byteorder', 'little') - def test_with_little_endian(self): - self._test(os.path.join(PCAP_PACKET_DATA_DIR, 'little_endian.pcap')) - - @staticmethod - @mock.patch.object(pcaplib.Writer, '_write_pcap_file_hdr', mock.MagicMock) - @mock.patch.object(pcaplib.Writer, '_write_pkt_hdr', mock.MagicMock) - def test_with_longer_buf(): - f = DummyFile() - snaplen = 4 - w = pcaplib.Writer(f, snaplen=snaplen) - w.write_pkt(b'hogehoge', ts=0) - expected_buf = b'hoge' # b'hogehoge'[:snaplen] - eq_(expected_buf, f.buf) - eq_(snaplen, len(f.buf)) diff --git a/ryu/tests/unit/lib/test_rpc.py b/ryu/tests/unit/lib/test_rpc.py deleted file mode 100644 index 4fba5068..00000000 --- a/ryu/tests/unit/lib/test_rpc.py +++ /dev/null @@ -1,365 +0,0 @@ -# Copyright (C) 2013-2015 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013-2015 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import numbers -import socket -import struct -import unittest - -from nose.tools import raises -import six - -from ryu.lib import hub -from ryu.lib import rpc - - -class MyException(BaseException): - pass - - -class Test_rpc(unittest.TestCase): - """ Test case for ryu.lib.rpc - """ - - def _handle_request(self, m): - e = self._server_endpoint - msgid, method, params = m - if method == 'resp': - e.send_response(msgid, result=params[0]) - elif method == 'err': - e.send_response(msgid, error=params[0]) - elif method == 'callback': - n, cb, v = params - assert n > 0 - self._requests.add(e.send_request(cb, [msgid, n, cb, v])) - elif method == 'notify1': - e.send_notification(params[1], params[2]) - e.send_response(msgid, result=params[0]) - elif method == 'shutdown': - how = getattr(socket, params[0]) - self._server_sock.shutdown(how) - e.send_response(msgid, result=method) - else: - raise Exception("unknown method %s" % method) - - def _handle_notification(self, m): - e = self._server_endpoint - method, params = m - if method == 'notify2': - e.send_notification(params[0], params[1]) - - def _handle_response(self, m): - e = self._server_endpoint - msgid, error, result = m - assert error is None - self._requests.remove(msgid) - omsgid, n, cb, v = result - assert n >= 0 - if n == 0: - e.send_response(omsgid, result=v) - else: - self._requests.add(e.send_request(cb, [omsgid, n, cb, v])) - - def setUp(self): - self._server_sock, self._client_sock = socket.socketpair() - table = { - rpc.MessageType.REQUEST: self._handle_request, - rpc.MessageType.RESPONSE: self._handle_response, - rpc.MessageType.NOTIFY: self._handle_notification - } - self._requests = set() - self._server_sock.setblocking(0) - self._server_endpoint = rpc.EndPoint(self._server_sock, - disp_table=table) - self._server_thread = hub.spawn(self._server_endpoint.serve) - - def tearDown(self): - hub.kill(self._server_thread) - hub.joinall([self._server_thread]) - - def test_0_call_str(self): - c = rpc.Client(self._client_sock) - obj = 'hoge' - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, str) - - def test_0_call_int(self): - c = rpc.Client(self._client_sock) - obj = 12345 - assert isinstance(obj, int) - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, numbers.Integral) - - def test_0_call_int2(self): - c = rpc.Client(self._client_sock) - obj = six.MAXSIZE - assert isinstance(obj, int) - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, numbers.Integral) - - def test_0_call_int3(self): - c = rpc.Client(self._client_sock) - obj = - six.MAXSIZE - 1 - assert isinstance(obj, int) - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, numbers.Integral) - - def test_0_call_long(self): - c = rpc.Client(self._client_sock) - obj = 0xffffffffffffffff # max value for msgpack - assert isinstance(obj, numbers.Integral) - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, numbers.Integral) - - def test_0_call_long2(self): - c = rpc.Client(self._client_sock) - # Note: the python type of this value is int for 64-bit arch - obj = -0x8000000000000000 # min value for msgpack - assert isinstance(obj, numbers.Integral) - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, numbers.Integral) - - def test_0_call_bytearray(self): - c = rpc.Client(self._client_sock) - obj = bytearray(b'foo') - # Note: msgpack-python version 0.50 or later supports bytearray - # objects, here ignores TypeError for the backward compatibility. - try: - result = c.call('resp', [obj]) - except TypeError: - # Case with msgpack-python version 0.4.x or earlier. - return - self.assertEqual(obj, result) - self.assertIsInstance(result, six.binary_type) - - def test_1_shutdown_wr(self): - # test if the server shutdown on disconnect - self._client_sock.shutdown(socket.SHUT_WR) - hub.joinall([self._server_thread]) - - @raises(EOFError) - def test_1_client_shutdown_wr(self): - c = rpc.Client(self._client_sock) - c.call('shutdown', ['SHUT_WR']) - - def test_1_call_True(self): - c = rpc.Client(self._client_sock) - obj = True - assert c.call('resp', [obj]) == obj - - def test_2_call_None(self): - c = rpc.Client(self._client_sock) - obj = None - assert c.call('resp', [obj]) is None - - def test_2_call_False(self): - c = rpc.Client(self._client_sock) - obj = False - assert c.call('resp', [obj]) == obj - - def test_2_call_dict(self): - c = rpc.Client(self._client_sock) - obj = {'hoge': 1, 'fuga': 2} - assert c.call('resp', [obj]) == obj - - def test_2_call_empty_dict(self): - c = rpc.Client(self._client_sock) - obj = {} - assert c.call('resp', [obj]) == obj - - def test_2_call_array(self): - c = rpc.Client(self._client_sock) - obj = [1, 2, 3, 4] - assert c.call('resp', [obj]) == obj - - def test_2_call_empty_array(self): - c = rpc.Client(self._client_sock) - obj = [] - assert c.call('resp', [obj]) == obj - - def test_2_call_tuple(self): - c = rpc.Client(self._client_sock) - # Note: msgpack library implicitly convert a tuple into a list - obj = (1, 2, 3) - assert c.call('resp', [obj]) == list(obj) - - def test_2_call_unicode(self): - c = rpc.Client(self._client_sock) - # Note: We use encoding='utf-8' option in msgpack.Packer/Unpacker - # in order to support Python 3. - # With this option, utf-8 encoded bytes will be decoded into unicode - # type in Python 2 and str type in Python 3. - obj = u"hoge" - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, six.text_type) - - def test_2_call_small_binary(self): - c = rpc.Client(self._client_sock) - obj = struct.pack("100x") - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, six.binary_type) - - def test_3_call_complex(self): - c = rpc.Client(self._client_sock) - obj = [1, 'hoge', {'foo': 1, 3: 'bar'}] - assert c.call('resp', [obj]) == obj - - @unittest.skip("doesn't work with eventlet 0.18 and later") - def test_4_call_large_binary(self): - c = rpc.Client(self._client_sock) - obj = struct.pack("10000000x") - result = c.call('resp', [obj]) - assert result == obj - assert isinstance(result, six.binary_type) - - def test_0_notification1(self): - l = [] - - def callback(n): - l.append(n) - c = rpc.Client(self._client_sock, notification_callback=callback) - obj = 'hogehoge' - robj = 'fugafuga' - assert c.call('notify1', [robj, 'notify_hoge', [obj]]) == robj - c.receive_notification() - assert len(l) == 1 - n = l.pop(0) - assert n is not None - method, params = n - assert method == 'notify_hoge' - assert params[0] == obj - - def test_0_notification2(self): - l = [] - - def callback(n): - l.append(n) - c = rpc.Client(self._client_sock, notification_callback=callback) - obj = 'hogehogehoge' - c.send_notification('notify2', ['notify_hoge', [obj]]) - c.receive_notification() - assert len(l) == 1 - n = l.pop(0) - assert n is not None - method, params = n - assert method == 'notify_hoge' - assert params[0] == obj - - def test_0_call_error(self): - c = rpc.Client(self._client_sock) - obj = 'hoge' - try: - c.call('err', [obj]) - raise Exception("unexpected") - except rpc.RPCError as e: - assert e.get_value() == obj - - def test_0_call_error_notification(self): - l = [] - - def callback(n): - l.append(n) - c = rpc.Client(self._client_sock, notification_callback=callback) - c.send_notification('notify2', ['notify_foo', []]) - hub.sleep(0.5) # give the peer a chance to run - obj = 'hoge' - try: - c.call('err', [obj]) - raise Exception("unexpected") - except rpc.RPCError as e: - assert e.get_value() == obj - assert len(l) == 1 - n = l.pop(0) - method, params = n - assert method == 'notify_foo' - assert params == [] - - def test_4_async_call(self): - """send a bunch of requests and then wait for responses - """ - num_calls = 9999 - old_blocking = self._client_sock.setblocking(0) - try: - e = rpc.EndPoint(self._client_sock) - s = set() - for i in range(1, num_calls + 1): - s.add(e.send_request('resp', [i])) - sum = 0 - while s: - e.block() - e.process() - done = set() - for x in s: - r = e.get_response(x) - if r is None: - continue - res, error = r - assert error is None - sum += res - done.add(x) - assert done.issubset(s) - s -= done - assert sum == (1 + num_calls) * num_calls / 2 - finally: - self._client_sock.setblocking(old_blocking) - - def test_4_async_call2(self): - """both sides act as rpc client and server - """ - assert not self._requests - num_calls = 100 - old_blocking = self._client_sock.setblocking(0) - try: - e = rpc.EndPoint(self._client_sock) - s = set() - for i in range(1, num_calls + 1): - s.add(e.send_request('callback', [i, 'ourcallback', 0])) - sum = 0 - while s: - e.block() - e.process() - done = set() - for x in s: - r = e.get_response(x) - if r is None: - continue - res, error = r - assert error is None - sum += res - done.add(x) - assert done.issubset(s) - s -= done - r = e.get_request() - if r is not None: - msgid, method, params = r - assert method == 'ourcallback' - omsgid, n, cb, v = params - assert omsgid in s - assert cb == 'ourcallback' - assert n > 0 - e.send_response(msgid, result=[omsgid, n - 1, cb, v + 1]) - assert sum == (1 + num_calls) * num_calls / 2 - finally: - self._client_sock.setblocking(old_blocking) - assert not self._requests diff --git a/ryu/tests/unit/lib/test_stringify.py b/ryu/tests/unit/lib/test_stringify.py deleted file mode 100644 index 46fb21f0..00000000 --- a/ryu/tests/unit/lib/test_stringify.py +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright (C) 2013-2015 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013-2015 YAMAMOTO Takashi -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from __future__ import print_function - -import base64 -import six -import unittest -from nose.tools import eq_ - -from ryu.lib import stringify - - -class C1(stringify.StringifyMixin): - def __init__(self, a, c): - print("init %s %s" % (a, c)) - self.a = a - self._b = 'B' - self.c = c - - -class Test_stringify(unittest.TestCase): - """ Test case for ryu.lib.stringify - """ - - def setUp(self): - pass - - def tearDown(self): - pass - - def test_jsondict(self): - if six.PY3: - def b64encode(s): - return base64.b64encode(s).decode('ascii') - else: - b64encode = base64.b64encode - j = {'C1': {'a': 'QUFB', 'c': 'Q0ND'}} - eq_(j['C1']['a'], b64encode(b'AAA')) - eq_(j['C1']['c'], b64encode(b'CCC')) - c = C1(a=b'AAA', c=b'CCC') - c2 = C1.from_jsondict(j['C1']) - eq_(c.__class__, c2.__class__) - eq_(c.__dict__, c2.__dict__) - eq_(j, c.to_jsondict()) - - def test_jsondict2(self): - - def my_encode(x): - return x.lower() - - def my_decode(x): - return x.upper() - - j = {'C1': {'a': 'aaa', 'c': 'ccc'}} - eq_(j['C1']['a'], my_encode('AAA')) - eq_(j['C1']['c'], my_encode('CCC')) - c = C1(a='AAA', c='CCC') - c2 = C1.from_jsondict(j['C1'], decode_string=my_decode) - eq_(c.__class__, c2.__class__) - eq_(c.__dict__, c2.__dict__) - eq_(j, c.to_jsondict(encode_string=my_encode)) diff --git a/ryu/tests/unit/ofproto/test_ofproto.py b/ryu/tests/unit/ofproto/test_ofproto.py deleted file mode 100644 index 47f1e544..00000000 --- a/ryu/tests/unit/ofproto/test_ofproto.py +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (C) 2013 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2013 Isaku Yamahata -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -try: - # Python 3 - from imp import reload -except ImportError: - # Python 2 - pass - -import unittest -import logging -from nose.tools import eq_ - - -LOG = logging.getLogger('test_ofproto') - - -class TestOfprotCommon(unittest.TestCase): - """ Test case for ofproto - """ - - def test_ofp_event(self): - import ryu.ofproto - reload(ryu.ofproto) - import ryu.controller.ofp_event - reload(ryu.controller.ofp_event) - - def test_ofproto(self): - # When new version of OFP support is added, - # this test must be updated. - import ryu.ofproto - reload(ryu.ofproto) - ofp_modules = ryu.ofproto.get_ofp_modules() - - import ryu.ofproto.ofproto_v1_0 - import ryu.ofproto.ofproto_v1_2 - import ryu.ofproto.ofproto_v1_3 - import ryu.ofproto.ofproto_v1_4 - import ryu.ofproto.ofproto_v1_5 - eq_(set(ofp_modules.keys()), set([ryu.ofproto.ofproto_v1_0.OFP_VERSION, - ryu.ofproto.ofproto_v1_2.OFP_VERSION, - ryu.ofproto.ofproto_v1_3.OFP_VERSION, - ryu.ofproto.ofproto_v1_4.OFP_VERSION, - ryu.ofproto.ofproto_v1_5.OFP_VERSION, - ])) - consts_mods = set([ofp_mod[0] for ofp_mod in ofp_modules.values()]) - eq_(consts_mods, set([ryu.ofproto.ofproto_v1_0, - ryu.ofproto.ofproto_v1_2, - ryu.ofproto.ofproto_v1_3, - ryu.ofproto.ofproto_v1_4, - ryu.ofproto.ofproto_v1_5, - ])) - - parser_mods = set([ofp_mod[1] for ofp_mod in ofp_modules.values()]) - import ryu.ofproto.ofproto_v1_0_parser - import ryu.ofproto.ofproto_v1_2_parser - import ryu.ofproto.ofproto_v1_3_parser - import ryu.ofproto.ofproto_v1_4_parser - import ryu.ofproto.ofproto_v1_5_parser - eq_(parser_mods, set([ryu.ofproto.ofproto_v1_0_parser, - ryu.ofproto.ofproto_v1_2_parser, - ryu.ofproto.ofproto_v1_3_parser, - ryu.ofproto.ofproto_v1_4_parser, - ryu.ofproto.ofproto_v1_5_parser, - ])) diff --git a/ryu/tests/unit/services/protocols/bgp/__init__.py b/ryu/tests/unit/services/protocols/bgp/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ryu/tests/unit/services/protocols/bgp/core_managers/__init__.py b/ryu/tests/unit/services/protocols/bgp/core_managers/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ryu/tests/unit/services/protocols/bgp/utils/__init__.py b/ryu/tests/unit/services/protocols/bgp/utils/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ryu/topology/__init__.py b/ryu/topology/__init__.py deleted file mode 100644 index 66323335..00000000 --- a/ryu/topology/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -Switch and link discovery module. Planned to replace ryu/controller/dpset. -"""