]>
git.ipfire.org Git - network.git/log
Jonatan Schlag [Tue, 11 Jul 2017 14:43:02 +0000 (16:43 +0200)]
dhcp: merge hooks ipv4-dhcp and ipv6-dhcp
Fixes: #11404
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 11 Jul 2017 15:05:42 +0000 (17:05 +0200)]
zone: make edit syntax clear
Fixes: #11422
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 10 Jul 2017 13:33:47 +0000 (15:33 +0200)]
zone: add new command config list
With the new command
network <zone> config list
a user can get all configured configs with id and hook.
Fixes: #11407
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:53 +0000 (16:19 +0200)]
zone: Check early if a id is valid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:52 +0000 (16:19 +0200)]
zone: change edit syntax for config.
The syntax to edit a config is now
network zone upl0 config <id> edit
similar to the syntax if a zone is edited.
The cmd variable is setted to the content of ${1},
because we need the content in this variable if the ${id} is not valid, to print a nice error message.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:51 +0000 (16:19 +0200)]
header-zone: refactor hook_config_edit
With the new id function this function gets a zone name and a id,
but hook_config_cmd needs also the name of the hook.
So this function now calls zone_config_get_hook_from_id to get the hook
and calls then hook_config_cmd with the correct argument order.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:50 +0000 (16:19 +0200)]
header-zone: refactor hook_config_destroy
With the new id function this function gets a zone name and a id,
but hook_config_cmd needs also the name of the hook.
So this function now calls zone_config_get_hook_from_id to get the hook
and calls then hook_config_cmd with the correct argument order.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:49 +0000 (16:19 +0200)]
zone: Introduce id feature
When we write a config for the frist time a unique id is generated and appended to the filename.
So it is possible to identify a config clearly.
The variable config is rename to hook because this function takes now
the name of the hook and the id. The name of the config is no more suitable.
If no id is passed we generate one.
This should only happen when we write the file for the first time.
Fixes: #11405
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:48 +0000 (16:19 +0200)]
zone: new function zone_config_get_hook_from_id
This function is needed to implement the id feature
described in #11405
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:47 +0000 (16:19 +0200)]
zone: new function zone_config_id_is_valid
This function is needed to implement the id feature
described in #11405
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:19:46 +0000 (16:19 +0200)]
zone: new function zone_config_get_new_id
This functions is needed to implement the new id feature
described in #11405
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:02:36 +0000 (16:02 +0200)]
config: remove old hashes
With the new id feature the old hashes are not necessary anymore.
The ipv6_hash function is dropped because we need this function no more.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 5 Jul 2017 14:02:35 +0000 (16:02 +0200)]
settings: remove dot from log message
The dots at the end of log messages can be confusing.
Especially behind variables,it is often unclear if the dot was part of the variable or not
which make debugging much harder.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:11 +0000 (17:46 +0200)]
pppoe-server: prevent multiple configs for the same zone
It is senseless to configure the ppoe-server hook
multiple times for a zone.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:10 +0000 (17:46 +0200)]
ipv6-auto: prevent multiple configs for the same zone
It is senseless to configure the ipv6-auto hook
multiple times for a zone.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:09 +0000 (17:46 +0200)]
ipv6-dhcp: prevent multiple configs for the same zone
It is senseless to configure the ipv6-dhcp hook
multiple times for a zone.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:08 +0000 (17:46 +0200)]
ipv4-dhcp: prevent multiple configs for the same zone
It is senseless to configure the ipv4-dhcp hook
multiple times for a zone.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:07 +0000 (17:46 +0200)]
zone: add function to avoid multiple configs which are senseless
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 4 Jul 2017 15:46:06 +0000 (17:46 +0200)]
inetcalc: do not print the default prefix
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 21 Jun 2017 07:45:28 +0000 (09:45 +0200)]
network check if a zone exist before executing commands
We checked if a zone name was valid so
network zone net0 ... fails when theres was no zone net0.
net0 is a valid zone name so we jumped into the wrong if part.
We now check if a zone exist and when now
network zone net0 ... is called when no zone net0 exists
we print an error message.
This behaviour is similar to network port .., there we do the same thing with port_exists
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 19 Jun 2017 19:20:50 +0000 (21:20 +0200)]
autocompletion: add description support
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 19 Jun 2017 19:20:49 +0000 (21:20 +0200)]
network: add description commands
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 19 Jun 2017 19:20:48 +0000 (21:20 +0200)]
cli: print the description title
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 19 Jun 2017 19:20:47 +0000 (21:20 +0200)]
ports/zones: Add higher level function to get the description title
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 21 Jun 2017 12:07:14 +0000 (14:07 +0200)]
Add editor functions
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 21 Jun 2017 12:07:13 +0000 (14:07 +0200)]
Add new description functions
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 21 Jun 2017 12:07:12 +0000 (14:07 +0200)]
lock: refactoring functions
lock_acquire:
Refactor function to set the timeout manually
and to avoid the sleep of 0,25s when the timeout value is zero.
lock_exists:
Provides an easier to check if a lock exists
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Thu, 15 Jun 2017 16:18:53 +0000 (18:18 +0200)]
autocompletion: add color commands
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Thu, 15 Jun 2017 16:18:52 +0000 (18:18 +0200)]
network: add color commands
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Thu, 15 Jun 2017 16:18:51 +0000 (18:18 +0200)]
cli: print the color of a zone/port
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Mon, 19 Jun 2017 15:39:31 +0000 (17:39 +0200)]
color: add colors to zone and ports
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Thu, 15 Jun 2017 16:18:49 +0000 (18:18 +0200)]
ports: Change ports settings file to /etc/network/${port}/settings
The configuration of a port was stored in a file called:
/etc/network/${port}
This is bad because it is very hard to add further information
which belong primary not to the configuration to this file.
So we change the settings file to /etc/network/${port}/settings like for the zones.
This make it possible to store other configurations like the color in other files in the directory
/etc/network/${port}.
A workaround to move the config file into the new directory scheme is:
port=p1 && mv /etc/network/ports/${port} /etc/network/ports/${port}-save \
&& mkdir -p /etc/network/ports/${port} \
&& mv /etc/network/ports/${port}-save /etc/network/ports/${port}/settings
where port is the name of the port like p1 or p0.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Fri, 9 Jun 2017 10:17:27 +0000 (12:17 +0200)]
util: new function abs
This function return the absolute value of a given number.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 7 Jun 2017 06:24:34 +0000 (08:24 +0200)]
util: add function mtu_is_valid
This function checks if an mtu is valid for a given IP protocol.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jun 2017 18:28:46 +0000 (19:28 +0100)]
hotplug: Don't handle any events for loopback
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jun 2017 18:26:08 +0000 (19:26 +0100)]
ports: Don't crash with an assertion error when no hook can be found
This happens when a device has an empty configuration file or
the HOOK variable is not set for an other reason.
In that case the function make the entire program crash.
This patch changes behaviour in that sense that the function
returns with an error which must be evaluated by the calling
function.
Fixes #11400
Reported-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jun 2017 18:25:38 +0000 (19:25 +0100)]
device_num_queues(): Read correct file for transmit queues
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jun 2017 18:24:41 +0000 (19:24 +0100)]
device_get_speed(): Break if speed is not readable
This is usually the case when a device has no link
(i.e. the speed is unknown).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 18:18:41 +0000 (20:18 +0200)]
Makefile: Add missing trailing backslash
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 18:10:16 +0000 (20:10 +0200)]
device: Show queue status
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 17:08:59 +0000 (19:08 +0200)]
interrupts: Rename __bitmap_to_processor_id() which returns multiple values
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 16:50:17 +0000 (18:50 +0200)]
device: Ignore unknown duplexing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 16:48:40 +0000 (18:48 +0200)]
device: Return speed only if a valid (positive) value
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 7 Jun 2017 06:20:28 +0000 (08:20 +0200)]
improve autocompletion of network zone new
Fixes: #11386
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 7 Jun 2017 06:17:39 +0000 (08:17 +0200)]
route: update documentation
This patch updates the documentation to follow the change from route to route static.
The network-route manpage is now a generical one wich just list which types of routes we support like static or later dynamic.
In the network-route-static are the explanation for static routes.
This documents represents the previous network-route manpage .
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 7 Jun 2017 06:17:38 +0000 (08:17 +0200)]
route: rename route to route static
Fixes: #11374
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Sun, 4 Jun 2017 14:09:07 +0000 (16:09 +0200)]
route: add new cli command reload
This new command just call route_apply.
It provide a nice way to take changes of the config file into affect.
Also it helps when the routes are not applied.
This should not happen, but when this command is better then network restart.
Fixes: 11367
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Sat, 3 Jun 2017 11:25:10 +0000 (13:25 +0200)]
pppoe-server: improve input validation
We now check if the subnet, the mtu and the max-sessions valud is valid.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Sat, 3 Jun 2017 11:25:08 +0000 (13:25 +0200)]
ip: restructure ip_net_is_valid
Insted of checking the network manually we now just calö ipv4_net_is_valid or
ipv6_net_is_valid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Sat, 3 Jun 2017 11:25:07 +0000 (13:25 +0200)]
ipv4: new function ipv4_net_is_valid
This function checks if a given network is valid IPv4 network
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Fri, 2 Jun 2017 09:46:53 +0000 (11:46 +0200)]
ip: rename ip_is_network to ip_net_is_valid
We rename this function to state clear what the function is actually doing.
The function checks if a network is valid and not if something is a network or not.
Fixes: 11357
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 16:25:24 +0000 (18:25 +0200)]
device queues: Fix listing queues
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jun 2017 14:39:41 +0000 (16:39 +0200)]
Fix incorrect variable name in SMP affinity handling
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Fri, 2 Jun 2017 09:05:51 +0000 (11:05 +0200)]
man: update the pppoe zone documentation
Fixes: #11375
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Fri, 2 Jun 2017 06:30:35 +0000 (08:30 +0200)]
route: apply static routes on startup and restart
The static routes can only be applied when the network has a valid layer 3 connectivity.
So it is not useful to have a route_init which is called before we have any layer 3 connectivity.
We now call the route_apply every time we set new routes for a zone.
We do this every time we get a new layer 3 connectivity so all routes are applied correctly.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Fri, 2 Jun 2017 06:30:34 +0000 (08:30 +0200)]
6to4-tunnel: LOCAL_ADDRESS6 needs to be a valid IPv6 network
Fixes: #1359
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jun 2017 07:55:18 +0000 (09:55 +0200)]
Drop support for 6rd
This is probably not in wide use any more and I do not want
to support this either. Therefore this is dropped for now.
Fixes #11369
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 17:55:15 +0000 (19:55 +0200)]
Don't try identifying non-existant device when attaching to a zone
This resulted in an error message which is unnecessary.
Fixes #11174
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 22:16:29 +0000 (23:16 +0100)]
test: Include test-functions in tarball
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 22:11:40 +0000 (23:11 +0100)]
test: Add module tests for ip_network_is_subset_of
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 22:10:34 +0000 (23:10 +0100)]
inetcalc: Use memcmp to determine which IP address is higher
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 21:50:13 +0000 (22:50 +0100)]
inetcalc: Compare all 128 bits of IPv6 addresses
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 21:22:00 +0000 (22:22 +0100)]
Order tests alphabetically
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 21:20:47 +0000 (22:20 +0100)]
Make "make distcheck" happy and allow builddir != srcdir
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 20:48:40 +0000 (21:48 +0100)]
test: Use tools from build tree
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 20:46:10 +0000 (21:46 +0100)]
Allow loading library from source tree instead of system
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 20:39:36 +0000 (21:39 +0100)]
Never overwrite PATH
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 20:36:40 +0000 (21:36 +0100)]
Merge remote-tracking branch 'jschlag/tests'
Michael Tremer [Wed, 31 May 2017 17:48:38 +0000 (19:48 +0200)]
Do not be verbose when applying static routes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 17:47:14 +0000 (19:47 +0200)]
route: Don't allow creating routes with the gateway inside the routed network
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 May 2017 17:27:02 +0000 (19:27 +0200)]
inetcalc: Add subset check
Takes two subnets and returns true if the first subnet
is a subset or equal to the second subnet.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:07:32 +0000 (15:07 +0200)]
test: Add all new tests to the makefile
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:06:54 +0000 (15:06 +0200)]
test: add test for function ip_is_valid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:06:33 +0000 (15:06 +0200)]
test: add test for function ip_is_network
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:05:11 +0000 (15:05 +0200)]
test: add test for function ip_split_prefix
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:04:38 +0000 (15:04 +0200)]
test: add test for function ip_protocol_is_supported
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:04:13 +0000 (15:04 +0200)]
test: add test for function ip_prefix_is_valid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:03:34 +0000 (15:03 +0200)]
test: add test for function ip_get_prefix
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 13:03:05 +0000 (15:03 +0200)]
test: add test for function ip_detect_protocol
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Wed, 31 May 2017 12:59:01 +0000 (14:59 +0200)]
test: Add some test data
The file test/constants.sh contains valid and invalid
IPv4 and IPV6 networks, adresses, etc.
If we need some addresses to test a function we use this data because:
1. it prevent code duplication
2. every data that is added here, can be tested in several tests without touching the test,
thats make maintaining easier
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:26:50 +0000 (11:26 +0200)]
ip_is_network: Fix assertion crash when address part was invalid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:26:16 +0000 (11:26 +0200)]
ip_is_valid: Refactor functions
These now check more precisely if a prefix that is given with
an IP address is valid, too
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:25:37 +0000 (11:25 +0200)]
route: Correctly end loop when network was invalid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:54:43 +0000 (10:54 +0200)]
ip: Correctly handle non-numeric prefixes
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:46:20 +0000 (10:46 +0200)]
route: Allow deleting multiple routes at once
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:42:57 +0000 (10:42 +0200)]
route: Validate input when removing static routes
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:37:49 +0000 (10:37 +0200)]
route: Log ip commands when writing static routes into the kernel
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:35:44 +0000 (10:35 +0200)]
route: Check if the dection of the protocol failed
If the check of the protocol failed we should break.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:33:22 +0000 (10:33 +0200)]
route: cli parsing failed when a = was forgotten
A command like
network route add 192.168.101.0/24 --gateway 192.168.101.254
results in network to be set to 192.168.101.254 which is wrong.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:30:35 +0000 (10:30 +0200)]
route: Fix check of network
We can use a single IP address or a network as "network",
so we need tho check if it is a valid IP address or a valid network.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:24:15 +0000 (10:24 +0200)]
ip: Allow detection of protocol for networks, too
This is very convenient when we need to detect the protocol
of a network without splitting off the prefix first.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:26:50 +0000 (11:26 +0200)]
ip_is_network: Fix assertion crash when address part was invalid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:26:16 +0000 (11:26 +0200)]
ip_is_valid: Refactor functions
These now check more precisely if a prefix that is given with
an IP address is valid, too
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 09:25:37 +0000 (11:25 +0200)]
route: Correctly end loop when network was invalid
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:54:43 +0000 (10:54 +0200)]
ip: Correctly handle non-numeric prefixes
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:46:20 +0000 (10:46 +0200)]
route: Allow deleting multiple routes at once
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:42:57 +0000 (10:42 +0200)]
route: Validate input when removing static routes
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:37:49 +0000 (10:37 +0200)]
route: Log ip commands when writing static routes into the kernel
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:35:44 +0000 (10:35 +0200)]
route: Check if the dection of the protocol failed
If the check of the protocol failed we should break.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Jonatan Schlag [Tue, 30 May 2017 08:33:22 +0000 (10:33 +0200)]
route: cli parsing failed when a = was forgotten
A command like
network route add 192.168.101.0/24 --gateway 192.168.101.254
results in network to be set to 192.168.101.254 which is wrong.
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>