diff options
Diffstat (limited to 'rustables/src/expr/masquerade.rs')
-rw-r--r-- | rustables/src/expr/masquerade.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/rustables/src/expr/masquerade.rs b/rustables/src/expr/masquerade.rs new file mode 100644 index 0000000..66e9e0e --- /dev/null +++ b/rustables/src/expr/masquerade.rs @@ -0,0 +1,12 @@ +use super::{Expression, Rule}; +use rustables_sys as sys; +use std::os::raw::c_char; + +/// Sets the source IP to that of the output interface. +pub struct Masquerade; + +impl Expression for Masquerade { + fn to_expr(&self, _rule: &Rule) -> *mut sys::nftnl_expr { + try_alloc!(unsafe { sys::nftnl_expr_alloc(b"masq\0" as *const _ as *const c_char) }) + } +} |