11//! Command-line interface definition.
22
33use ant_node:: config:: {
4- BootstrapCacheConfig , BootstrapPeersConfig , BootstrapSource , EvmNetworkConfig , IpVersion ,
5- NetworkMode , NodeConfig , PaymentConfig , UpgradeChannel ,
4+ BootstrapCacheConfig , BootstrapPeersConfig , BootstrapSource , EvmNetworkConfig , NetworkMode ,
5+ NodeConfig , PaymentConfig , UpgradeChannel ,
66} ;
77use clap:: { Parser , ValueEnum } ;
88use std:: net:: SocketAddr ;
@@ -21,9 +21,11 @@ pub struct Cli {
2121 #[ arg( long, short, default_value = "0" , env = "ANT_PORT" ) ]
2222 pub port : u16 ,
2323
24- /// IP version to use.
25- #[ arg( long, value_enum, default_value = "dual" , env = "ANT_IP_VERSION" ) ]
26- pub ip_version : CliIpVersion ,
24+ /// Force IPv4-only mode (disable dual-stack).
25+ /// Use on hosts without working IPv6 to avoid advertising
26+ /// unreachable addresses to the DHT.
27+ #[ arg( long, env = "ANT_IPV4_ONLY" ) ]
28+ pub ipv4_only : bool ,
2729
2830 /// Bootstrap peer addresses.
2931 #[ arg( long, short, env = "ANT_BOOTSTRAP" ) ]
@@ -112,17 +114,6 @@ pub struct Cli {
112114 pub bootstrap_cache_capacity : usize ,
113115}
114116
115- /// IP version CLI enum.
116- #[ derive( Debug , Clone , Copy , ValueEnum ) ]
117- pub enum CliIpVersion {
118- /// IPv4 only.
119- Ipv4 ,
120- /// IPv6 only.
121- Ipv6 ,
122- /// Dual-stack (both IPv4 and IPv6).
123- Dual ,
124- }
125-
126117/// Upgrade channel CLI enum.
127118#[ derive( Debug , Clone , Copy , ValueEnum ) ]
128119pub enum CliUpgradeChannel {
@@ -215,7 +206,7 @@ impl Cli {
215206 }
216207
217208 config. port = self . port ;
218- config. ip_version = self . ip_version . into ( ) ;
209+ config. ipv4_only = self . ipv4_only ;
219210 config. log_level = self . log_level . into ( ) ;
220211 config. network_mode = self . network_mode . into ( ) ;
221212
@@ -266,16 +257,6 @@ impl Cli {
266257 }
267258}
268259
269- impl From < CliIpVersion > for IpVersion {
270- fn from ( v : CliIpVersion ) -> Self {
271- match v {
272- CliIpVersion :: Ipv4 => Self :: Ipv4 ,
273- CliIpVersion :: Ipv6 => Self :: Ipv6 ,
274- CliIpVersion :: Dual => Self :: Dual ,
275- }
276- }
277- }
278-
279260impl From < CliUpgradeChannel > for UpgradeChannel {
280261 fn from ( c : CliUpgradeChannel ) -> Self {
281262 match c {
0 commit comments