diff --git a/cargo-generate.toml b/cargo-generate.toml index efee760..493fb1c 100644 --- a/cargo-generate.toml +++ b/cargo-generate.toml @@ -28,6 +28,10 @@ choices = [ ] default = "xdp" +[conditional.'program_type == "classifier" || program_type == "xdp"'.placeholders.default_iface] +type = "string" +prompt = "Which interface to attach to by default? (e.g eth0)" + [conditional.'program_type == "kprobe" || program_type == "kretprobe"'.placeholders.kprobe] type = "string" prompt = "Where to attach the (k|kret)probe? (e.g try_to_wake_up)" diff --git a/test.sh b/test.sh index 76076ef..d9a2dd8 100755 --- a/test.sh +++ b/test.sh @@ -18,9 +18,15 @@ case ${PROG_TYPE} in "cgroup_sockopt") ADDITIONAL_ARGS=(-d sockopt_target=getsockopt) ;; -"classifier" | "cgroup_skb") +"cgroup_skb") ADDITIONAL_ARGS=(-d direction=Ingress) ;; +"classifier") + ADDITIONAL_ARGS=(-d direction=Ingress -d default_iface=eth0) + ;; +"xdp") + ADDITIONAL_ARGS=(-d default_iface=eth0) + ;; "fentry" | "fexit") ADDITIONAL_ARGS=(-d fn_name=try_to_wake_up) ;; diff --git a/{{project-name}}/src/main.rs b/{{project-name}}/src/main.rs index b558ec8..86cf0cf 100644 --- a/{{project-name}}/src/main.rs +++ b/{{project-name}}/src/main.rs @@ -58,7 +58,7 @@ use tokio::signal; struct Opt { {%- case program_type -%} {%- when "xdp", "classifier" %} - #[clap(short, long, default_value = "eth0")] + #[clap(short, long, default_value = "{{default_iface}}")] iface: String, {%- when "sock_ops", "cgroup_skb", "cgroup_sysctl", "cgroup_sockopt" %} #[clap(short, long, default_value = "/sys/fs/cgroup")]