diff options
author | William Tu <u9012063@gmail.com> | 2019-10-04 13:48:58 -0700 |
---|---|---|
committer | William Tu <u9012063@gmail.com> | 2019-11-21 09:19:59 -0800 |
commit | 27501802d09f782b8133031c1eae3394ae5ce147 (patch) | |
tree | 93fa74d893f9a0b57cd86eeed9504044a87e424c /ofproto/ofproto-provider.h | |
parent | acb691e15e3110bd2c063c740ae8d9a5e271238d (diff) | |
download | openvswitch-27501802d09f782b8133031c1eae3394ae5ce147.tar.gz |
ofproto-dpif: Expose datapath capability to ovsdb.
The patch adds support for fetching the datapath's capabilities
from the result of 'check_support()', and write the supported capability
to a new database column, called 'capabilities' under Datapath table.
To see how it works, run:
# ovs-vsctl -- add-br br0 -- set Bridge br0 datapath_type=netdev
# ovs-vsctl -- --id=@m create Datapath datapath_version=0 \
'ct_zones={}' 'capabilities={}' \
-- set Open_vSwitch . datapaths:"netdev"=@m
# ovs-vsctl list-dp-cap netdev
ufid=true sample_nesting=true clone=true tnl_push_pop=true \
ct_orig_tuple=true ct_eventmask=true ct_state=true \
ct_clear=true max_vlan_headers=1 recirc=true ct_label=true \
max_hash_alg=1 ct_state_nat=true ct_timeout=true \
ct_mark=true ct_orig_tuple6=true check_pkt_len=true \
masked_set_action=true max_mpls_depth=3 trunc=true ct_zone=true
Signed-off-by: William Tu <u9012063@gmail.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Reviewed-by: Greg Rose <gvrose8192@gmail.com>
---
v5:
Add improved documentation from Ben and
fix checkpatch error (tab and line 79 char)
v4:
rebase to master
v3:
fix 32-bit build, reported by Greg
travis: https://travis-ci.org/williamtu/ovs-travis/builds/599276267
v2:
rebase to master
Diffstat (limited to 'ofproto/ofproto-provider.h')
-rw-r--r-- | ofproto/ofproto-provider.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h index c980e6bff..80c4fee06 100644 --- a/ofproto/ofproto-provider.h +++ b/ofproto/ofproto-provider.h @@ -1889,6 +1889,8 @@ struct ofproto_class { /* Deletes the timeout policy associated with 'zone' in datapath type * 'dp_type'. */ void (*ct_del_zone_timeout_policy)(const char *dp_type, uint16_t zone); + /* Get the datapath's capabilities. */ + void (*get_datapath_cap)(const char *dp_type, struct smap *caps); }; extern const struct ofproto_class ofproto_dpif_class; |