123456789101112131415161718192021222324252627282930313233 |
- //! ```cargo
- //! [dependencies]
- //! log = "0.4"
- //! simplelog = "0.11"
- //! aya = { path = "../../../../aya" }
- //! ```
- use aya::{
- Bpf,
- programs::{Xdp, XdpFlags},
- };
- use log::info;
- use std::convert::TryInto;
- use simplelog::{ColorChoice, ConfigBuilder, LevelFilter, TermLogger, TerminalMode};
- fn main() {
- TermLogger::init(
- LevelFilter::Debug,
- ConfigBuilder::new()
- .set_target_level(LevelFilter::Error)
- .set_location_level(LevelFilter::Error)
- .build(),
- TerminalMode::Mixed,
- ColorChoice::Auto,
- ).unwrap();
- info!("Loading XDP program");
- let mut bpf = Bpf::load_file("multimap.o").unwrap();
- let pass: &mut Xdp = bpf.program_mut("stats").unwrap().try_into().unwrap();
- pass.load().unwrap();
- pass.attach("eth0", XdpFlags::default()).unwrap();
- info!("Success...");
- }
|