11[workspace ]
22
33members = [
4+ " acl" ,
45 " args" ,
6+ " cascade" ,
57 " cli" ,
68 " common" ,
79 " concurrency" ,
@@ -11,7 +13,9 @@ members = [
1113 " dpdk" ,
1214 " dpdk-sys" ,
1315 " dpdk-sysroot-helper" ,
16+ " dpdk-test-macros" ,
1417 " errno" ,
18+ " fixed-size" ,
1519 " flow-entry" ,
1620 " flow-filter" ,
1721 " hardware" ,
@@ -22,7 +26,10 @@ members = [
2226 " k8s-less" ,
2327 " left-right-tlcache" ,
2428 " lifecycle" ,
29+ " lookup" ,
2530 " lpm" ,
31+ " match-action" ,
32+ " match-action-derive" ,
2633 " mgmt" ,
2734 " nat" ,
2835 " net" ,
@@ -59,7 +66,9 @@ repository = "https://github.com/githedgehog/dataplane/"
5966# justifying why it is workspace-wide.
6067
6168# Internal
69+ acl = { path = " ./acl" , package = " dataplane-acl" , features = [] }
6270args = { path = " ./args" , package = " dataplane-args" , features = [] }
71+ cascade = { path = " ./cascade" , package = " dataplane-cascade" , features = [] }
6372cli = { path = " ./cli" , package = " dataplane-cli" , features = [] }
6473common = { path = " ./common" , package = " dataplane-common" , features = [] }
6574concurrency = { path = " ./concurrency" , package = " dataplane-concurrency" , features = [] }
@@ -68,8 +77,10 @@ config = { path = "./config", package = "dataplane-config", features = [] }
6877dpdk = { path = " ./dpdk" , package = " dataplane-dpdk" , features = [] }
6978dpdk-sys = { path = " ./dpdk-sys" , package = " dataplane-dpdk-sys" , features = [] }
7079dpdk-sysroot-helper = { path = " ./dpdk-sysroot-helper" , package = " dataplane-dpdk-sysroot-helper" , features = [] }
80+ dpdk-test-macros = { path = " ./dpdk-test-macros" , package = " dataplane-dpdk-test-macros" , features = [] }
7181dplane-rpc = { git = " https://github.com/githedgehog/dplane-rpc.git" , rev = " e8fc33db10e1d00785f2a2b90cbadcad7900f200" , features = [] }
7282errno = { path = " ./errno" , package = " dataplane-errno" , features = [] }
83+ fixed-size = { path = " ./fixed-size" , package = " dataplane-fixed-size" , features = [] }
7384flow-entry = { path = " ./flow-entry" , package = " dataplane-flow-entry" , features = [] }
7485flow-filter = { path = " ./flow-filter" , package = " dataplane-flow-filter" , features = [] }
7586hardware = { path = " ./hardware" , package = " dataplane-hardware" , features = [] }
@@ -80,7 +91,10 @@ k8s-intf = { path = "./k8s-intf", package = "dataplane-k8s-intf", default-featur
8091k8s-less = { path = " ./k8s-less" , package = " dataplane-k8s-less" , features = [] }
8192left-right-tlcache = { path = " ./left-right-tlcache" , package = " dataplane-left-right-tlcache" , features = [] }
8293lifecycle = { path = " ./lifecycle" , package = " dataplane-lifecycle" , features = [] }
94+ lookup = { path = " ./lookup" , package = " dataplane-lookup" , features = [] }
8395lpm = { path = " ./lpm" , package = " dataplane-lpm" , features = [] }
96+ match-action = { path = " ./match-action" , package = " dataplane-match-action" , features = [] }
97+ match-action-derive = { path = " ./match-action-derive" , package = " dataplane-match-action-derive" , features = [] }
8498mgmt = { path = " ./mgmt" , package = " dataplane-mgmt" , features = [] }
8599nat = { path = " ./nat" , package = " dataplane-nat" , features = [] }
86100net = { path = " ./net" , package = " dataplane-net" , features = [] }
@@ -113,6 +127,7 @@ bytes = { version = "1.11.1", default-features = false, features = [] }
113127caps = { version = " 0.5.6" , default-features = false , features = [] }
114128chrono = { version = " 0.4.44" , default-features = false , features = [] }
115129clap = { version = " 4.6.1" , default-features = true , features = [] }
130+ criterion = { version = " 0.5.1" , default-features = false , features = [" cargo_bench_support" ] }
116131color-eyre = { version = " 0.6.5" , default-features = false , features = [] }
117132colored = { version = " 3.1.1" , default-features = false , features = [] }
118133crossbeam-utils = { version = " 0.8.21" , default-features = false , features = [] }
@@ -249,6 +264,15 @@ overflow-checks = true
249264# modified to use conditional compilation to work in wasm/miri.
250265# miss: packages that are not logically hopeless, or pointless in wasm/miri, but which currently just happen to contain
251266# logic which can and should eventually be factored out or abstracted into something suitable for wasm/miri.
267+ [workspace .metadata .package .acl ]
268+ package = " dataplane-acl"
269+ # Default features enable the DPDK `rte_acl` backend, which pulls in
270+ # `dpdk-sys` (bindgen against the system DPDK headers). miri can't
271+ # build that path on the cross target, and the reference backend's
272+ # unit tests run fine outside the miri profile.
273+ miri = false # hopeless + pointless
274+ wasm = false # hopeless + pointless
275+
252276[workspace .metadata .package .args ]
253277package = " dataplane-args"
254278miri = true
@@ -259,6 +283,11 @@ package = "dataplane-cli"
259283miri = true
260284wasm = false # split
261285
286+ [workspace .metadata .package .cascade ]
287+ package = " dataplane-cascade"
288+ miri = true
289+ wasm = false # split
290+
262291[workspace .metadata .package .concurrency ]
263292package = " dataplane-concurrency"
264293miri = true # must ALWAYS work
@@ -280,6 +309,11 @@ package = "dataplane-dpdk-sys"
280309miri = false # hopeless + pointless
281310wasm = false # hopeless + pointless
282311
312+ [workspace .metadata .package .fixed-size ]
313+ package = " dataplane-fixed-size"
314+ miri = true
315+ wasm = true
316+
283317[workspace .metadata .package .flow-entry ]
284318package = " dataplane-flow-entry"
285319miri = true
@@ -315,6 +349,23 @@ package = "dataplane-k8s-less"
315349miri = true
316350wasm = false # split
317351
352+ [workspace .metadata .package .lookup ]
353+ package = " dataplane-lookup"
354+ miri = true
355+ wasm = false # split (std collections)
356+
357+ [workspace .metadata .package .match-action ]
358+ package = " dataplane-match-action"
359+ miri = true
360+ wasm = true
361+
362+ [workspace .metadata .package .match-action-derive ]
363+ package = " dataplane-match-action-derive"
364+ # Proc-macro crate: runs at the host toolchain, not the miri target.
365+ # Excluded from miri to keep the target dep graph clean.
366+ miri = false # hopeless + pointless
367+ wasm = false # hopeless + pointless
368+
318369[workspace .metadata .package .mgmt ]
319370package = " dataplane-mgmt"
320371miri = false
0 commit comments