Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
727 changes: 727 additions & 0 deletions crates/stackforge-core/src/layer/ipv4/builder.rs

Large diffs are not rendered by default.

435 changes: 435 additions & 0 deletions crates/stackforge-core/src/layer/ipv4/checksum.rs

Large diffs are not rendered by default.

740 changes: 740 additions & 0 deletions crates/stackforge-core/src/layer/ipv4/fragmentation.rs

Large diffs are not rendered by default.

1,007 changes: 1,007 additions & 0 deletions crates/stackforge-core/src/layer/ipv4/header.rs

Large diffs are not rendered by default.

24 changes: 24 additions & 0 deletions crates/stackforge-core/src/layer/ipv4/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
//! IPv4 layer module.
//!
//! This module implements the IPv4 protocol, providing packet parsing (via `Ipv4Layer`),
//! construction (via `Ipv4Builder`), fragmentation, options handling, and checksum verification.

// Register submodules
pub mod builder;
pub mod checksum;
pub mod fragmentation;
pub mod header;
pub mod options;
pub mod protocol;
pub mod routing;
pub mod ttl;

// Re-export primary types for easier access
pub use builder::Ipv4Builder;
pub use checksum::ipv4_checksum;
pub use fragmentation::{DEFAULT_MTU, Fragment, FragmentInfo, Ipv4Fragmenter};
pub use header::{
IPV4_MAX_HEADER_LEN, IPV4_MIN_HEADER_LEN, Ipv4Flags, Ipv4Layer, offsets as ipv4_offsets,
};
pub use options::{Ipv4Option, Ipv4OptionClass, Ipv4OptionType, Ipv4Options, Ipv4OptionsBuilder};
pub use routing::Ipv4Route;
Loading