Skip to content

Commit

Permalink
Add medium-ip, medium-ethernet feature flags.
Browse files Browse the repository at this point in the history
  • Loading branch information
Dirbaio committed Oct 15, 2020
1 parent f7fc639 commit eeab246
Show file tree
Hide file tree
Showing 12 changed files with 198 additions and 167 deletions.
30 changes: 18 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,41 @@ matrix:
env: FEATURES='default' MODE='test'
### Test select feature permutations, chosen to be as orthogonal as possible
- rust: nightly
env: FEATURES='std ethernet phy-raw_socket proto-ipv6 socket-udp' MODE='test'
env: FEATURES='std medium-ethernet phy-raw_socket proto-ipv6 socket-udp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet phy-tap_interface proto-ipv6 socket-udp' MODE='test'
env: FEATURES='std medium-ethernet phy-tap_interface proto-ipv6 socket-udp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv4 proto-igmp socket-raw' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv4 proto-igmp socket-raw' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv4 socket-udp socket-tcp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv4 socket-udp socket-tcp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv4 proto-dhcpv4 socket-udp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv4 proto-dhcpv4 socket-udp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv6 socket-udp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv6 socket-udp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv6 socket-tcp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv6 socket-tcp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv4 socket-icmp socket-tcp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv4 socket-icmp socket-tcp' MODE='test'
- rust: nightly
env: FEATURES='std ethernet proto-ipv6 socket-icmp socket-tcp' MODE='test'
env: FEATURES='std medium-ethernet proto-ipv6 socket-icmp socket-tcp' MODE='test'
### Test select feature permutations, chosen to be as aggressive as possible
- rust: nightly
env: FEATURES='ethernet proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp std'
env: FEATURES='medium-ethernet medium-ip proto-ipv4 proto-ipv6 proto-dhcpv4 proto-igmp socket-raw socket-udp socket-tcp socket-icmp std'
MODE='test'
- rust: nightly
env: FEATURES='ethernet proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp alloc'
env: FEATURES='medium-ip proto-ipv4 proto-ipv6 proto-igmp socket-raw socket-udp socket-tcp socket-icmp std'
MODE='test'
- rust: nightly
env: FEATURES='medium-ethernet proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp std'
MODE='test'
- rust: nightly
env: FEATURES='medium-ethernet proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp alloc'
MODE='test'
- rust: nightly
env: FEATURES='proto-ipv4 proto-ipv6 socket-raw socket-udp socket-tcp socket-icmp alloc'
MODE='test'
- rust: nightly
env: FEATURES='ethernet proto-ipv4 proto-ipv6 proto-igmp proto-dhcpv4 socket-raw socket-udp socket-tcp socket-icmp'
env: FEATURES='medium-ethernet proto-ipv4 proto-ipv6 proto-igmp proto-dhcpv4 socket-raw socket-udp socket-tcp socket-icmp'
MODE='build'
- rust: nightly
env: MODE='fuzz run' ARGS='packet_parser -- -max_len=1536 -max_total_time=30'
Expand Down
5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ url = "1.0"
std = ["managed/std"]
alloc = ["managed/alloc"]
verbose = []
ethernet = []
"medium-ethernet" = []
"medium-ip" = []
"phy-raw_socket" = ["std", "libc"]
"phy-tap_interface" = ["std", "libc"]
"phy-tun_interface" = ["std", "libc"]
Expand All @@ -45,7 +46,7 @@ ethernet = []
"socket-icmp" = []
default = [
"std", "log", # needed for `cargo test --no-default-features --features default` :/
"ethernet",
"medium-ethernet", "medium-ip",
"phy-raw_socket", "phy-tap_interface", "phy-tun_interface",
"proto-ipv4", "proto-igmp", "proto-ipv6",
"socket-raw", "socket-icmp", "socket-udp", "socket-tcp"
Expand Down
4 changes: 2 additions & 2 deletions fuzz/fuzz_targets/tcp_headers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use std as core;
extern crate getopts;

use core::cmp;
use smoltcp::phy::Loopback;
use smoltcp::phy::{Loopback, Medium};
use smoltcp::wire::{EthernetAddress, EthernetFrame, EthernetProtocol};
use smoltcp::wire::{IpAddress, IpCidr, Ipv4Packet, Ipv6Packet, TcpPacket};
use smoltcp::iface::{NeighborCache, InterfaceBuilder};
Expand Down Expand Up @@ -118,7 +118,7 @@ fuzz_target!(|data: &[u8]| {
utils::add_middleware_options(&mut opts, &mut free);

let mut matches = utils::parse_options(&opts, free);
let device = utils::parse_middleware_options(&mut matches, Loopback::new(),
let device = utils::parse_middleware_options(&mut matches, Loopback::new(Medium::Ethernet),
/*loopback=*/true);

smoltcp::phy::FuzzInjector::new(device,
Expand Down
Loading

0 comments on commit eeab246

Please sign in to comment.