people/stevee/network.git
4 years agoShow help for zone creation
Michael Tremer [Tue, 11 Aug 2015 22:28:20 +0000 (00:28 +0200)] 
Show help for zone creation

If a too small number of arguments is passed, we will
show a help page to create a new zone.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
5 years agoradvd: Always advertise all prefixes
Michael Tremer [Sat, 2 May 2015 21:49:49 +0000 (21:49 +0000)] 
radvd: Always advertise all prefixes

5 years agoMerge branch 'master' of ssh://git.ipfire.org/pub/git/network
Michael Tremer [Sat, 2 May 2015 21:31:30 +0000 (21:31 +0000)] 
Merge branch 'master' of ssh://git.ipfire.org/pub/git/network

Conflicts:
src/functions/functions.dhcpd
src/functions/functions.ipv6

5 years agoDHCP: Implement prefix delegation for the DHCP server
Michael Tremer [Sat, 2 May 2015 21:28:20 +0000 (21:28 +0000)] 
DHCP: Implement prefix delegation for the DHCP server

5 years agodhclient: Properly handle IPv6
Michael Tremer [Sat, 2 May 2015 21:26:00 +0000 (21:26 +0000)] 
dhclient: Properly handle IPv6

Router advertisements are now properly processed if there
is dhclient running on an interface and all information
from the DHCP client is removed when dhclient is stopped.

5 years agorouting: Remove deprecated functions
Michael Tremer [Sat, 2 May 2015 20:25:51 +0000 (20:25 +0000)] 
routing: Remove deprecated functions

5 years agodhclient: Fix overwriting functions.zone
Michael Tremer [Sat, 2 May 2015 20:22:22 +0000 (20:22 +0000)] 
dhclient: Fix overwriting functions.zone

5 years agoReplace routing_db_* by db_*
Michael Tremer [Sat, 2 May 2015 20:06:03 +0000 (20:06 +0000)] 
Replace routing_db_* by db_*

db_* is an extremely simple and volatile key-value
database that can be used to store things at runtime.

5 years agoRemove the function keyword which is a bashism
Michael Tremer [Sat, 2 May 2015 16:06:07 +0000 (16:06 +0000)] 
Remove the function keyword which is a bashism

5 years agodhcp: Add support for DHCPv6 over Ethernet
Michael Tremer [Sat, 2 May 2015 15:26:31 +0000 (15:26 +0000)] 
dhcp: Add support for DHCPv6 over Ethernet

5 years agoDisable async logging
Michael Tremer [Fri, 17 Apr 2015 10:07:26 +0000 (10:07 +0000)] 
Disable async logging

This causes even more unreadable output in the journal.

5 years agoipv6: Add auto-configuration hook for zones
Michael Tremer [Tue, 14 Apr 2015 12:55:39 +0000 (12:55 +0000)] 
ipv6: Add auto-configuration hook for zones

This may be mostly unusable for a firewall but we will have
it just because. Can be used for hosts that do not route
anything.

5 years agozone: Make zone_config_{read,write} behave the same as zone_port_{read,write} do
Michael Tremer [Tue, 14 Apr 2015 12:32:33 +0000 (12:32 +0000)] 
zone: Make zone_config_{read,write} behave the same as zone_port_{read,write} do

5 years agoipv6: When auto-configuration is enabled, forwarding must be disabled
Michael Tremer [Tue, 14 Apr 2015 12:31:50 +0000 (12:31 +0000)] 
ipv6: When auto-configuration is enabled, forwarding must be disabled

5 years agowireless-adhoc: Fix wrong function name
Michael Tremer [Sun, 12 Apr 2015 18:23:26 +0000 (18:23 +0000)] 
wireless-adhoc: Fix wrong function name

5 years agozone: Fix immediate attachment of ethernet ports to a bridge
Michael Tremer [Sun, 12 Apr 2015 18:22:46 +0000 (18:22 +0000)] 
zone: Fix immediate attachment of ethernet ports to a bridge

5 years agodhclient: Add support for DHCPv6 and PD
Michael Tremer [Sat, 31 Jan 2015 13:27:23 +0000 (13:27 +0000)] 
dhclient: Add support for DHCPv6 and PD

5 years agopppoe: Enable PD by default
Michael Tremer [Sat, 31 Jan 2015 13:19:03 +0000 (13:19 +0000)] 
pppoe: Enable PD by default

DHCPv6 prefix deleagtion is enabled by default and will
be executed when ever there is IPv6 connectivity on the
PPP link.

5 years agoppp: Always request DNS servers from remote
Michael Tremer [Sat, 31 Jan 2015 13:17:46 +0000 (13:17 +0000)] 
ppp: Always request DNS servers from remote

We can decide later if we want to use them, but we will
always try to get them.

5 years agodhclient-script: Read global network configuration
Michael Tremer [Sat, 3 Jan 2015 15:38:38 +0000 (15:38 +0000)] 
dhclient-script: Read global network configuration

The script won't show debugging information if enabled
and so on...

5 years agozone: Allow creating configs which do not require arguments
Michael Tremer [Fri, 2 Jan 2015 15:38:10 +0000 (15:38 +0000)] 
zone: Allow creating configs which do not require arguments

5 years agodhcp: Fix option list
Michael Tremer [Fri, 2 Jan 2015 15:06:37 +0000 (15:06 +0000)] 
dhcp: Fix option list

It was always empty.

5 years agoreset: Remove all ports instead of just bringing them down
Michael Tremer [Fri, 2 Jan 2015 15:05:25 +0000 (15:05 +0000)] 
reset: Remove all ports instead of just bringing them down

All virtual ports must be removed when the configuration
is destroyed.

5 years agobash-completion: Add some basic completion for DHCP servers
Michael Tremer [Thu, 1 Jan 2015 22:39:33 +0000 (22:39 +0000)] 
bash-completion: Add some basic completion for DHCP servers

5 years agoRemove pptp
Michael Tremer [Wed, 31 Dec 2014 14:49:57 +0000 (14:49 +0000)] 
Remove pptp

After a rather longer discussion we decided that there are
not many providers any more that use PPTP. The only ones that
we know of are legacy DSL lines in Austria. Most of the newer
DSL providers in Austria use PPPoE now.

Some "privacy" VPN providers allow using PPTP which is just
ridiculous. We do not want to support that.

PPTP is also very rarely used for IPv6 transition, but only
a few providers use that. They always support a different
technology.

5 years agoFix typo in function name setttings_read_array
Michael Tremer [Wed, 31 Dec 2014 14:47:39 +0000 (14:47 +0000)] 
Fix typo in function name setttings_read_array

5 years agobash-completion: Add route and dns-server commands
Michael Tremer [Tue, 30 Dec 2014 02:05:27 +0000 (02:05 +0000)] 
bash-completion: Add route and dns-server commands

5 years agoAdd bash-completion for the network command
Michael Tremer [Tue, 30 Dec 2014 01:30:40 +0000 (01:30 +0000)] 
Add bash-completion for the network command

5 years agonetwork device: Update man page with new commands
Michael Tremer [Sun, 28 Dec 2014 12:33:53 +0000 (12:33 +0000)] 
network device: Update man page with new commands

5 years agoRemove some unused functions
Michael Tremer [Sun, 28 Dec 2014 00:56:12 +0000 (00:56 +0000)] 
Remove some unused functions

5 years agoAdd "network device list" command
Michael Tremer [Sun, 28 Dec 2014 00:50:33 +0000 (00:50 +0000)] 
Add "network device list" command

Will show a list of all different devices and details
about them.

5 years agoRemove unused port_show() function
Michael Tremer [Sun, 28 Dec 2014 00:05:22 +0000 (00:05 +0000)] 
Remove unused port_show() function

5 years agoMake zone handling nicer
Michael Tremer [Sat, 27 Dec 2014 23:57:26 +0000 (23:57 +0000)] 
Make zone handling nicer

Zones are now automatically activated after they have been
created and attaching and detaching ports is now just called that.

5 years agobridge-stp: Fix reading the STP configuration
Michael Tremer [Sat, 27 Dec 2014 20:25:05 +0000 (20:25 +0000)] 
bridge-stp: Fix reading the STP configuration

5 years agozone_destroy_now: Call proper functions to shut down the zone
Michael Tremer [Sat, 27 Dec 2014 20:22:04 +0000 (20:22 +0000)] 
zone_destroy_now: Call proper functions to shut down the zone

5 years agopppoe: Allow hotplugging the port and better handle pppd errors
Michael Tremer [Sat, 27 Dec 2014 18:11:34 +0000 (18:11 +0000)] 
pppoe: Allow hotplugging the port and better handle pppd errors

5 years agoipv4: Fix infinite loop when searching for a net address
Michael Tremer [Sat, 27 Dec 2014 16:36:49 +0000 (16:36 +0000)] 
ipv4: Fix infinite loop when searching for a net address

5 years agoAdd missing zone hook command "port_create"
Michael Tremer [Sat, 27 Dec 2014 13:56:47 +0000 (13:56 +0000)] 
Add missing zone hook command "port_create"

5 years agoFix hook settings writing and checking
Michael Tremer [Sat, 27 Dec 2014 13:32:07 +0000 (13:32 +0000)] 
Fix hook settings writing and checking

Formerly the check functions were not correctly called in
some cases. Hence passing the check function is now explicitely
required. The {port,zone}_settings_{read,write} functions do
this transparent to the zone/port hooks.

5 years agoChange two forgotten calls of zone_has_remove_tag
Michael Tremer [Thu, 25 Dec 2014 21:13:39 +0000 (21:13 +0000)] 
Change two forgotten calls of zone_has_remove_tag

5 years agoImprove the check for valid hook commands
Michael Tremer [Thu, 25 Dec 2014 21:11:58 +0000 (21:11 +0000)] 
Improve the check for valid hook commands

It is now cleaner coded and faster.

5 years agozone_port_settings_write: Allow writing an empty settings file
Michael Tremer [Thu, 25 Dec 2014 16:40:23 +0000 (16:40 +0000)] 
zone_port_settings_write: Allow writing an empty settings file

5 years agoAlign zone create/remove actions to ports (new/destroy)
Michael Tremer [Thu, 25 Dec 2014 16:39:29 +0000 (16:39 +0000)] 
Align zone create/remove actions to ports (new/destroy)

5 years agoRemove remains of the "real" device type
Michael Tremer [Tue, 23 Dec 2014 01:20:14 +0000 (01:20 +0000)] 
Remove remains of the "real" device type

This is not in use any more and sort of replaced by
device_is_ethernet_compatible().

5 years agoBetter handling for dummy interfaces
Michael Tremer [Tue, 23 Dec 2014 01:16:43 +0000 (01:16 +0000)] 
Better handling for dummy interfaces

Will not create any port configurations for them any more
when the kernel module is loaded into the kernel.

5 years agobonding: Allow adding all compatible devices as slaves
Michael Tremer [Tue, 23 Dec 2014 00:53:00 +0000 (00:53 +0000)] 
bonding: Allow adding all compatible devices as slaves

5 years agoShow if the device is able to transport Ethernet frames
Michael Tremer [Tue, 23 Dec 2014 00:51:59 +0000 (00:51 +0000)] 
Show if the device is able to transport Ethernet frames

5 years agoSpeed-up finding the device type if the device does not exist
Michael Tremer [Tue, 23 Dec 2014 00:51:36 +0000 (00:51 +0000)] 
Speed-up finding the device type if the device does not exist

5 years agoSplit port hooks in to (create|remove|up|down) actions
Michael Tremer [Tue, 23 Dec 2014 00:29:15 +0000 (00:29 +0000)] 
Split port hooks in to (create|remove|up|down) actions

The port hooks formerly had two functions that brought the device
up or down. That caused some problems with hotplugging of the zones.

Now the entire process has been split into four functions that
every port hooks has to implement.

create:
Creates the device but does not bring it up yet. This will
usually trigger a hotplug event so that various other port
or zone hooks can attach the device or do similar actions.

up:
Essentially brings up the device, just like:
  ip link set devX up

The action should propagate to any slave devices.

down:
Does essentially the opposite of "up" and should propagate
to the slaves as well.

remove:
Removes any virtual devices and cleans up. This will also
trigger a hotplug event so that all connected hooks will
be notified about the removal.

5 years agoRemove support for macvtap devices
Michael Tremer [Mon, 22 Dec 2014 23:14:35 +0000 (23:14 +0000)] 
Remove support for macvtap devices

We don't have any use for them.

5 years agoAdd function that returns a string about speed and duplex state of an interface
Michael Tremer [Sun, 21 Dec 2014 23:00:26 +0000 (23:00 +0000)] 
Add function that returns a string about speed and duplex state of an interface

5 years agoAdd hotplugging for zones (and ports of those)
Michael Tremer [Sun, 21 Dec 2014 22:36:07 +0000 (22:36 +0000)] 
Add hotplugging for zones (and ports of those)

5 years agoMajor rewrite of hotplug handling
Michael Tremer [Wed, 10 Dec 2014 02:02:53 +0000 (02:02 +0000)] 
Major rewrite of hotplug handling

5 years agoRemove support for ISDN
Michael Tremer [Sat, 6 Dec 2014 19:18:37 +0000 (20:18 +0100)] 
Remove support for ISDN

ISDN has never been deployed very much
in the world except Germany and some
other countries. Most of them went away
from ISDN to VoIP for telephony and
DSL or fibre for data connections.

The bandwidth is very small with only
64k per channel and this has only been
implemented for backup purposes if the
primary connection cut off. Nowadays
there is mobile connections with much
more bandwidth available for this.

Nobody is able (due to lack of ISDN)
and willing to support this any more.
Hence the entire support for ISDN
is removed.

5 years agoRemove support for Teredo
Michael Tremer [Sat, 6 Dec 2014 19:14:17 +0000 (20:14 +0100)] 
Remove support for Teredo

The protocol is not in much use any more
and it didn't work very well for our needs
as it just gave you a single address from
the IPv6 address space.

5 years agoImprove parsing configuration files
Michael Tremer [Sat, 6 Dec 2014 19:06:51 +0000 (20:06 +0100)] 
Improve parsing configuration files

5 years agoipv4-static: Update hook
Michael Tremer [Sun, 28 Sep 2014 21:18:52 +0000 (23:18 +0200)] 
ipv4-static: Update hook

Some minor cleanup without functional changes.

5 years agoRectify config creation
Michael Tremer [Sun, 28 Sep 2014 15:12:47 +0000 (17:12 +0200)] 
Rectify config creation

5 years agowireless-ap: Bring up hostapd, too when device is plugged in
Michael Tremer [Sat, 6 Sep 2014 20:15:17 +0000 (22:15 +0200)] 
wireless-ap: Bring up hostapd, too when device is plugged in

5 years agohotplug: Must not stop after first port has been hit
Michael Tremer [Sat, 6 Sep 2014 20:14:49 +0000 (22:14 +0200)] 
hotplug: Must not stop after first port has been hit

Some devices may create multiple interfaces that need
to be created.

5 years agowireless monitor: Use proper port name
Michael Tremer [Sat, 6 Sep 2014 19:44:13 +0000 (21:44 +0200)] 
wireless monitor: Use proper port name

5 years agozone: Don't handle hotplug events for zones
Michael Tremer [Sat, 6 Sep 2014 16:07:37 +0000 (18:07 +0200)] 
zone: Don't handle hotplug events for zones

5 years agozone: Send systemd updates on hotplug events
Michael Tremer [Sat, 6 Sep 2014 15:15:25 +0000 (17:15 +0200)] 
zone: Send systemd updates on hotplug events

5 years agosystemd: Fix network initialization on boot
Michael Tremer [Sat, 6 Sep 2014 15:14:59 +0000 (17:14 +0200)] 
systemd: Fix network initialization on boot

5 years agobonding: Improve robustness of the code
Michael Tremer [Sat, 6 Sep 2014 13:24:07 +0000 (15:24 +0200)] 
bonding: Improve robustness of the code

5 years agobonding: Rewrite the port hook and fix various errors
Michael Tremer [Sat, 6 Sep 2014 13:09:40 +0000 (15:09 +0200)] 
bonding: Rewrite the port hook and fix various errors

5 years agoutil: Silence fwrite on error
Michael Tremer [Sat, 6 Sep 2014 13:08:28 +0000 (15:08 +0200)] 
util: Silence fwrite on error

5 years agodevice: Fix check for bonded devices
Michael Tremer [Sat, 6 Sep 2014 13:08:09 +0000 (15:08 +0200)] 
device: Fix check for bonded devices

5 years agostp: Silence stp_bridge_set_forward_delay a bit
Michael Tremer [Sat, 6 Sep 2014 12:12:57 +0000 (14:12 +0200)] 
stp: Silence stp_bridge_set_forward_delay a bit

5 years agodevice: Rewrite device_set_address
Michael Tremer [Sat, 6 Sep 2014 12:08:44 +0000 (14:08 +0200)] 
device: Rewrite device_set_address

5 years agoservice: Don't start services if they are already running
Michael Tremer [Sat, 6 Sep 2014 12:01:58 +0000 (14:01 +0200)] 
service: Don't start services if they are already running

5 years agobridge: Simplify the hook and make it more robust against missing ports
Michael Tremer [Sat, 6 Sep 2014 11:51:10 +0000 (13:51 +0200)] 
bridge: Simplify the hook and make it more robust against missing ports

5 years agobatman-adv: Remove a now wrong assertion
Michael Tremer [Sat, 6 Sep 2014 11:24:02 +0000 (13:24 +0200)] 
batman-adv: Remove a now wrong assertion

5 years agodevice: Rewrite batman-adv-port detection
Michael Tremer [Sat, 6 Sep 2014 11:15:59 +0000 (13:15 +0200)] 
device: Rewrite batman-adv-port detection

When the batman-adv module is loaded, the batman_adv
subdirectory can be found in the sys tree of every network
device, so this check returned positive for every device.

The function has been rewritten to read the content of the
status file which will return the correct result.

5 years agonetwork-hotplug-rename: Improve log message when renaming a device
Michael Tremer [Sat, 6 Sep 2014 11:14:34 +0000 (13:14 +0200)] 
network-hotplug-rename: Improve log message when renaming a device

5 years agobatman-adv-port: Initialize PHY variable
Michael Tremer [Sat, 6 Sep 2014 09:55:51 +0000 (11:55 +0200)] 
batman-adv-port: Initialize PHY variable

5 years agobatman-adv: Disable hotplug hook
Michael Tremer [Sat, 6 Sep 2014 09:55:19 +0000 (11:55 +0200)] 
batman-adv: Disable hotplug hook

Doesn't work as expected right now and needs to
be rewritten later.

5 years agoLet hotplug handlers return a status code
Michael Tremer [Sat, 6 Sep 2014 09:54:04 +0000 (11:54 +0200)] 
Let hotplug handlers return a status code

After a port has been hotplugged, we will walk through all
port configuration files and check if the device matches.
The hooks must now return whether they have handled the event
so that we can stop searching or not.

5 years agoOnly enable auto-enabled zones on hotplug events
Michael Tremer [Sat, 6 Sep 2014 08:42:07 +0000 (10:42 +0200)] 
Only enable auto-enabled zones on hotplug events

5 years agoMakefile: Expand @helpersdir@
Michael Tremer [Thu, 4 Sep 2014 19:18:48 +0000 (21:18 +0200)] 
Makefile: Expand @helpersdir@

5 years agoaiccu: Fix syntax error
Michael Tremer [Thu, 4 Sep 2014 19:08:51 +0000 (21:08 +0200)] 
aiccu: Fix syntax error

5 years agonetwork status: Show if zones are enabled to start at boot
Michael Tremer [Thu, 4 Sep 2014 18:59:49 +0000 (20:59 +0200)] 
network status: Show if zones are enabled to start at boot

5 years agoUpdate documentation according to config -> settings change
Michael Tremer [Thu, 4 Sep 2014 18:26:06 +0000 (20:26 +0200)] 
Update documentation according to config -> settings change

5 years agostp: Change comparison operator
Michael Tremer [Thu, 4 Sep 2014 18:19:03 +0000 (20:19 +0200)] 
stp: Change comparison operator

bash shows an error message if one of the values is empty
as it is trying to do an integer comparison.

5 years agoRename all "config" to "settings"
Michael Tremer [Thu, 4 Sep 2014 18:13:15 +0000 (20:13 +0200)] 
Rename all "config" to "settings"

5 years agoMove config hooks into a separate directory
Michael Tremer [Sun, 31 Aug 2014 22:17:22 +0000 (00:17 +0200)] 
Move config hooks into a separate directory

5 years agopppoe: Allow assigning ports to pppoe zones
Michael Tremer [Sun, 31 Aug 2014 21:55:11 +0000 (23:55 +0200)] 
pppoe: Allow assigning ports to pppoe zones

5 years agobridge-stp: Fix wrong variable name
Michael Tremer [Sun, 31 Aug 2014 15:50:38 +0000 (17:50 +0200)] 
bridge-stp: Fix wrong variable name

5 years agobridge: Apply configured cost settings for each port
Michael Tremer [Sun, 31 Aug 2014 15:50:21 +0000 (17:50 +0200)] 
bridge: Apply configured cost settings for each port

5 years agoFix installation of bridge-stp helper
Michael Tremer [Sun, 31 Aug 2014 15:38:05 +0000 (17:38 +0200)] 
Fix installation of bridge-stp helper

When make install was executed multiple times, the install hook
created a recursive symlink. Now the old link gets removed and
the correct symlink will be created.

5 years agoRemove port hooks as subhooks for zones.
Michael Tremer [Sun, 31 Aug 2014 15:04:38 +0000 (17:04 +0200)] 
Remove port hooks as subhooks for zones.

All port hooks handle ethernet-like devices which doesn't
make it necessary to duplicate them over and over again.

5 years agoRemove support for openvswitch (switch zone hook)
Michael Tremer [Wed, 27 Aug 2014 10:15:18 +0000 (12:15 +0200)] 
Remove support for openvswitch (switch zone hook)

It doesn't work very well any ways and I don't want to
maintain it as it does not give us any real advantage
at the moment.

5 years agoRemove batman-adv zones
Michael Tremer [Wed, 27 Aug 2014 10:12:13 +0000 (12:12 +0200)] 
Remove batman-adv zones

BATMAN networks are usually switched and not routed so this
hook is not necessary any more. If you want to route them any
way you can simply create a zone with only one batman-adv port.

5 years agonetwork-hotplug-rename: Read network configuration, too
Michael Tremer [Wed, 27 Aug 2014 10:02:31 +0000 (12:02 +0200)] 
network-hotplug-rename: Read network configuration, too

5 years agoIntroduce "network device ap0 monitor" command
Michael Tremer [Tue, 26 Aug 2014 17:51:53 +0000 (19:51 +0200)] 
Introduce "network device ap0 monitor" command

This enables the user to monitor all 802.11 frames
that traverse the wireless interface.

5 years agoConfigure wireless reg domain when wireless hardware is plugged in
Michael Tremer [Tue, 26 Aug 2014 17:51:24 +0000 (19:51 +0200)] 
Configure wireless reg domain when wireless hardware is plugged in

5 years agoMake searching for the corresponding phy of a wireless device faster
Michael Tremer [Tue, 26 Aug 2014 17:36:43 +0000 (19:36 +0200)] 
Make searching for the corresponding phy of a wireless device faster

5 years agoMake the wireless regulatory domain a global configuration option
Michael Tremer [Tue, 26 Aug 2014 13:22:30 +0000 (15:22 +0200)] 
Make the wireless regulatory domain a global configuration option

It does not make any sense to make this configurable per device
as the kernel does not support this.

5 years agonetwork-hotplug: Read network configuration
Michael Tremer [Tue, 26 Aug 2014 10:18:59 +0000 (12:18 +0200)] 
network-hotplug: Read network configuration

The udev hotplug handler did not load the network configuration
file so that enabling the debugging mode had no effect here.

5 years agobatman-adv-port: Fix wrong function call
Michael Tremer [Tue, 26 Aug 2014 09:23:48 +0000 (11:23 +0200)] 
batman-adv-port: Fix wrong function call