Difference between revisions of "Neutron/OFAgent/FlowTable"
(Created page with "OpenFlow1.3 flow table for OFAgent * todo: VXLAN (same as GRE?) * legends xxx: network id yyy: segment id a,b,c: tunnel port i,j,k: vm port x,y,z: physical port N: tun...") |
|||
Line 94: | Line 94: | ||
default drop | default drop | ||
+ | |||
+ | * references | ||
+ | ** ovs version https://wiki.openstack.org/wiki/Ovs-flow-logic | ||
+ | *** we use metadata instead of "internal" VLANs | ||
+ | *** we don't want to use NX learn action |
Revision as of 04:11, 14 April 2014
OpenFlow1.3 flow table for OFAgent
- todo: VXLAN (same as GRE?)
- legends
xxx: network id yyy: segment id a,b,c: tunnel port i,j,k: vm port x,y,z: physical port N: tunnel type uuu: unicast address
- tables (in order)
CHECK_IN_PORT CHECK_NETWORK+N ARP_PROXY TUNNEL_OUT TUNNEL_OUT_FLOOD+N LOCAL_OUT LOCAL_OUT_FLOOD
- CHECK_IN_PORT
for each vm ports: in_port=i, write_metadata(xxx),goto(ARP_PROXY)
TYPE_GRE for each tunnel ports: in_port=a, goto(CHECK_NETWORK+N)
TYPE_VLAN for each physical ports: in_port=x, goto(CHECK_NETWORK+N)
TYPE_FLAT in_port=x, goto(CHECK_NETWORK+N)
default drop
- CHECK_NETWORK+N. (per tunnel types) tunnel/vlan -> network
TYPE_GRE for each networks: tun_id=yyy, write_metadata(xxx),goto(LOCAL_OUT)
TYPE_VLAN for each networks: vlan_vid=present|yyy, write_metadata(xxx),pop_vlan,goto(LOCAL_OUT)
TYPE_FLAT vlan_vid=none, write_metadata(xxx),pop_vlan,goto(LOCAL_OUT)
default drop
- ARP_PROXY
- todo: local arp responder
goto(TUNNEL_OUT)
- TUNNEL_OUT
- todo: learning and/or l2 pop
goto(TUNNEL_OUT_FLOOD+0)
- TUNNEL_OUT_FLOOD+N. (per tunnel types)
network -> tunnel/vlan output to tunnel/physical ports "next table" might be LOCAL_OUT
TYPE_GRE for each networks: metadata=xxx, set_tunnel(yyy),output:a,b,c,goto(next table)
TYPE_VLAN for each networks: metadata=xxx, push_vlan:0x8100,set_field:present|yyy->vlan_vid,output:x,y,z,goto(next table)
TYPE_FLAT metadata=xxx, output:x,y,z,goto(next table)
default goto(next table)
- LOCAL_OUT
- todo: learning and/or l2 pop
goto(LOCAL_OUT_FLOOD)
- LOCAL_OUT_FLOOD
- todo: learning and/or l2 pop
for each networks: metadata=xxx, output:i,j,k
default drop
- references
- ovs version https://wiki.openstack.org/wiki/Ovs-flow-logic
- we use metadata instead of "internal" VLANs
- we don't want to use NX learn action
- ovs version https://wiki.openstack.org/wiki/Ovs-flow-logic