Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add --icmp command line shortcut #649

Closed
fujiapple852 opened this issue Aug 19, 2023 · 2 comments · Fixed by #788
Closed

Add --icmp command line shortcut #649

fujiapple852 opened this issue Aug 19, 2023 · 2 comments · Fixed by #788
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers icmp
Milestone

Comments

@fujiapple852
Copy link
Owner

fujiapple852 commented Aug 19, 2023

Users may specify --udp and --tcp as shortcuts to --protocol udp (-p udp) and --protocol tcp (-p tcp) respectively.

For example for udp:

/// Trace using the UDP protocol
#[arg(
    long,
    display_order = 3,
    conflicts_with = "protocol",
    conflicts_with = "tcp"
)]
pub udp: bool,

If neither is specified then the icmp protocol is chosen by default:

/// The default value for `protocol`.
pub const DEFAULT_STRATEGY_PROTOCOL: Protocol = Protocol::Icmp;
let protocol = cfg_layer(
    args.protocol,
    cfg_file_strategy.protocol,
    constants::DEFAULT_STRATEGY_PROTOCOL,
);

However the protocol may also be specified in the config file:

#
# Tracing strategy configuration.
#
[strategy]

# The tracing protocol.
#
# Allowed values are:
#   icmp [default]
#   udp
#   tcp
protocol = "icmp"

The user may wish to override the value from the config file with another protocol specified via the command line. To do so for icmp the user must use the longer --protocol icmp (-p icmp) form as there is no --icmp shortcut. Therefore it would be useful to add a --icmp command line shortcut.

@fujiapple852 fujiapple852 added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers icmp labels Aug 19, 2023
trkelly23 added a commit to trkelly23/trippy that referenced this issue Nov 12, 2023
@trkelly23
Copy link
Collaborator

I will be testing the changes and might need a few questions answered. Where should I post them, here?

@fujiapple852
Copy link
Owner Author

@trkelly23 here is fine or you can find me on discord or matrix (same username)

@fujiapple852 fujiapple852 added this to the 0.9.0 milestone Nov 13, 2023
trkelly23 added a commit to trkelly23/trippy that referenced this issue Nov 13, 2023
@fujiapple852 fujiapple852 removed the help wanted Extra attention is needed label Nov 13, 2023
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Dec 1, 2023
[0.9.0] - 2023-11-30

Added

- Added support for tracing flows
  ([#776](fujiapple852/trippy#776))
- Added support for `icmp` extensions
  ([#33](fujiapple852/trippy#33))
- Added support for `MPLS` label stack class `icmp` extension
  objects ([#753](fujiapple852/trippy#753))
- Added support for [paris]
  (https://github.com/libparistraceroute/libparistraceroute) ECMP routing
  for `IPv6/udp` ([#749](fujiapple852/trippy#749))
- Added `--unprivileged` (`-u`) flag to allow tracing without elevated
  privileges (macOS
  only) ([#101](fujiapple852/trippy#101))
- Added `--tui-privacy-max-ttl` flag to hide host and IP details for low ttl
  hops ([#766](fujiapple852/trippy#766))
- Added `toggle-privacy` (default: `p`) key binding to show or hide private
  hops ([#823](fujiapple852/trippy#823))
- Added `toggle-flows` (default: `f`) key binding to show or hide tracing
  flows ([#777](fujiapple852/trippy#777))
- Added `--dns-resolve-all` (`-y`) flag to allow tracing to all IPs resolved
  from DNS lookup
  entry ([#743](fujiapple852/trippy#743))
- Added `dot` report mode (`-m dot`) to output hop graph in Graphviz `DOT`
  format ([#582](fujiapple852/trippy#582))
- Added `flows` report mode (`-m flows`) to output a list of all unique tracing
  flows ([#770](fujiapple852/trippy#770))
- Added `--icmp-extensions` (`-e`) flag for parsing `IPv4`/`IPv6` `icmp`
  extensions ([#751](fujiapple852/trippy#751))
- Added `--tui-icmp-extension-mode` flag to control how `icmp` extensions are
  rendered ([#752](fujiapple852/trippy#752))
- Added `--print-config-template` flag to output a template config
  file ([#792](fujiapple852/trippy#792))
- Added `--icmp` flag as a shortcut for `--protocol icmp`
  ([#649](fujiapple852/trippy#649))
- Added `toggle-help-alt` (default: `?`) key binding to show or hide
  help ([#694](fujiapple852/trippy#694))
- Added panic handing to Tui
  ([#784](fujiapple852/trippy#784))
- Added official Windows `scoop` package
  ([#462](fujiapple852/trippy#462))
- Added official Windows `winget` package
  ([#460](fujiapple852/trippy#460))
- Release `musl` Debian `deb` binary asset
  ([#568](fujiapple852/trippy#568))
- Release `armv7` Linux binary assets
  ([#712](fujiapple852/trippy#712))
- Release `aarch64-apple-darwin` (aka macOS Apple Silicon) binary
  assets ([#801](fujiapple852/trippy#801))
- Added additional Rust Tier 1 and Tier 2 binary assets
  ([#811](fujiapple852/trippy#811))

Changed

- [BREAKING CHANGE] `icmp` extension object data added to `json` and `stream`
  reports ([#806](fujiapple852/trippy#806))
- [BREAKING CHANGE] IPs field added to `csv` and all tabular
  reports ([#597](fujiapple852/trippy#597))
- [BREAKING CHANGE] Command line flags `--dns-lookup-as-info` and
  `--tui-preserve-screen` no longer require a boolean
  argument ([#708](fujiapple852/trippy#708))
- [BREAKING CHANGE] Default key binding for `ToggleFreeze` changed from `f`
  to `ctrl+f` ([#785](fujiapple852/trippy#785))
- Always render AS lines in hop details mode
  ([#825](fujiapple852/trippy#825))
- Expose DNS resolver module as part of `trippy` library
  ([#754](fujiapple852/trippy#754))
- Replaced unmaintained `tui-rs` crate with `ratatui` crate
  ([#569](fujiapple852/trippy#569))

Fixed

- Reverse DNS lookup not working in reports
  ([#509](fujiapple852/trippy#509))
- Crash on NetBSD during window resizing
  ([#276](fujiapple852/trippy#276))
- Protocol mismatch causes tracer panic
  ([#745](fujiapple852/trippy#745))
- Incorrect row height in Tui hop detail navigation view for hops with no
  responses ([#765](fujiapple852/trippy#765))
- Unnecessary socket creation in certain tracing modes
  ([#647](fujiapple852/trippy#647))
- Incorrect byte order in `IPv4` packet length calculation
  ([#686](fujiapple852/trippy#686))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers icmp
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants