Started testing create_subnet function. Still WIP!!!
This commit is contained in:
		@@ -1,5 +1,7 @@
 | 
			
		||||
use std::{io};
 | 
			
		||||
 | 
			
		||||
use crate::networking::Network;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
mod networking;
 | 
			
		||||
 | 
			
		||||
@@ -23,5 +25,7 @@ fn main() {
 | 
			
		||||
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let networks = Network::create_subnet(&ip_and_cidr.0, ip_and_cidr.1);
 | 
			
		||||
    println!("IP: {}, CIDR: {}", ip_and_cidr.0.to_string(), ip_and_cidr.1);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -55,6 +55,12 @@ impl Network {
 | 
			
		||||
        //Get number of bits available for host in specific octet
 | 
			
		||||
        let mut most_sig_octet: usize = Default::default();
 | 
			
		||||
        for (i, oct) in subnet_mask.iter().enumerate(){
 | 
			
		||||
            if *oct == 0 {
 | 
			
		||||
                most_sig_octet = i-1;
 | 
			
		||||
                network_bits = subnet_mask[most_sig_octet].count_ones() as u8;
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if *oct < 255 {
 | 
			
		||||
                most_sig_octet = i;
 | 
			
		||||
                network_bits = oct.count_ones() as u8;
 | 
			
		||||
@@ -82,7 +88,7 @@ impl Network {
 | 
			
		||||
        //Generate base address
 | 
			
		||||
        let mut base_address =  network_address;
 | 
			
		||||
        base_address[most_sig_octet] = 255 - num_networks;
 | 
			
		||||
        for i in most_sig_octet+1..=4 {
 | 
			
		||||
        for i in most_sig_octet+1..4 {
 | 
			
		||||
            base_address[i] = 0;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user