summaryrefslogtreecommitdiffhomepage
path: root/interface-ip.h
AgeCommit message (Collapse)Author
2020-01-18add basic support for jail network namespacesDaniel Golle
Prepare netifd for handling procd service jails having their own network namespace. Intefaces having the jail attribute will only be brought inside the jail's network namespace by procd calling the newly introduced ubus method 'netns_updown'. Currently proto 'static' is supported and configuration changes are not yet being handled (ie. you'll have to restart the jailed service for changes to take effect). Example /etc/config/network snippet: config device 'veth0' option type 'veth' option name 'vhost0' option peer_name 'virt0' config interface 'virt' option type 'bridge' list ifname 'vhost0' option proto 'static' option ipaddr '10.0.0.1' option netmask '255.255.255.0' config interface 'virt0' option ifname 'virt0' option proto 'static' option ipaddr '10.0.0.2' option netmask '255.255.255.0' option gateway '10.0.0.1' option dns '10.0.0.1' option jail 'transmission' Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-04-15interface: add neighbor config supportmeurisa
The neighbor or neighbor6 network section makes neighbours configurable via UCI or proto shell handlers. It allows to install neighbor proxy entries or static neighbor entries The neighbor or neighbor6 section has the following types: interface : declares the logical OpenWrt interface ipaddr : the ip address of the neighbor mac : the mac address of the neighbor proxy : specifies whether the neighbor ia a proxy entry (can be 1 or 0) router : specifies whether the neighbor is a router (can be 1 or 0) Signed-off-by: Alexander Meuris <meurisalexander@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2019-03-13interface-ip: fix delegate config update on reload (FS#2087)Hans Dedecker
Update the no_delegation parameter on a config reload; in case prefixes are present update the prefix assignments as well according to the no_delegation status Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-19treewide: switch to C-code style commentsHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-11-19treewide: make some functions staticHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-11interface: add prefix assignment priority supportHans Dedecker
In case of prefix delegation prefixes are assigned to one or more configured downstream interfaces. The delegated prefix length in combination with the assignment length of the downstream interfaces determines the number of subnets which can be allocated from the delegated prefix. The interface ip6weight parameter allows to prioritize the allocation of subnets to interfaces in case of multiple configured downstream interfaces. The order of interface prefix assignment from a delegated prefix is based on the following parameters: - Primary key is prefix assignment based on the configured interface ip6hint - Secondary key is the requested downstream interface prefix length, interfaces configured with the smallest ip6hint will be assigned first - Third key is the assigned interface ip6weight in case of equal prefix assignment length; interfaces having the highest ip6weight will be assigned first - Finally the alphabetical order of the interfaces in case of equal ip6weight Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup]
2017-01-25interface-ip: route proto config support (FS#170)Hans Dedecker
Route proto support is usefull when using route distribution via a routing daemon. The route proto parameter can be specified via the route proto uci config parameter, it can hold a numerical value or the string values unspec, kernel, boot, static or a string present in /etc/iproute2/rt_protos. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-12-15interface-ip: fix subnet route handlingFelix Fietkau
When the kernel subnet route has to be replaced, the cleanup call needs to match the properties of the replacement route exactly, mainly the metric and the routing table. Fix handling this by embedding the device_route for the subnet in the device_addr struct and using it in the cleanup path. This fixes issues on config reload with changes to the routing table Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-12-15interface-ip: move struct device_addr below struct device_routeFelix Fietkau
This is needed to embed the subnet route in struct device_addr Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2015-09-29interface-ip: Support source ip rule updates when reloadingHans Dedecker
2015-01-19netifd: Make interface identifier of delegated IPv6 address configurableHans Dedecker
The ip6ifaceid UCI interface parameter makes the interface identifier of the delegated IPv6 address configurable. The parameter can have the following values: eui64 : Interface identifier is generated from the interface's MAC address random : Interface identifier is generated randomly fixed value : Interface identifier is a fixed value (eg ::1:2) The latter is the default value with a fixed value of ::1 for backwards compatibility Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> Signed-off-by: Joeri Barbarien <joeri.barbarien@gmail.com>
2014-06-18netifd: Route type supportHans Dedecker
Patch adds route type support in netifd by means of the route parameter type. By default the route type was unicast; the parameter adss support for local/broadcast/multicast/unicast routes which will be put into the appropriate routing table. If route type parameter is unset the route type will be unicast as before. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2014-06-10Add support for onlink-flags for IPv4 routesSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
2014-02-26Don't always assume routes & addresses are appliedSteven Barth
Actually check netlink return values and remember failure. Signed-off-by: Steven Barth <steven@midlink.org>
2013-11-27IPv6: add class support to regular IPv6 addressesSteven Barth
2013-10-18Add source-restricted routesSteven Barth
2013-06-10config: use the new uci_blob library codeFelix Fietkau
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
2013-05-31move excluded prefix and length out of key for device_prefixSteven Barth
2013-05-30IPv6: reorganize prefix assignmentSteven Barth
* put parameters in a more suitable place * add support for prefix classes
2013-05-17Add option to define target routing table for protocol routes.Steven Barth
This unifies source-routing for both IPv6 and IPv4 (default off). Based on a patch by Kristian Evensen
2013-05-13Add support for IPv6 and interface target-routes & dependenciesSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
2013-05-11IPv6: Use source-routing to allow multi-wanSteven Barth
2013-04-05Incorperate route table into avl keyJo-Philipp Wich
2013-04-04Implement support for route / route6 table attributeJo-Philipp Wich
2013-04-03Rewrite IPv6 prefix assignmentSteven Barth
2013-02-01Improved IPv6 featuresetSteven Barth
* Fix reloading of ula-prefixes * Added support for temporary addresses and routes * Added support for offlink addresses * Improved status-output for assigned prefixes
2013-01-15Initial IPv6 prefix supportSteven Barth
Signed-off-by: Steven Barth <steven@midlink.org>
2012-06-29interface-ip.{c,h}: add new flag DEVROUTE_MTU and set it for per-route mtu ↵Jo-Philipp Wich
overrides
2012-05-20replace the kernel's implicit network routes if the metric is setFelix Fietkau
2012-05-14parse point to point ip addressesFelix Fietkau
2012-05-04add copyright headersFelix Fietkau
2012-05-04add a ubus interface to dynamically create host routes to a particular ip ↵Felix Fietkau
address, returns the interface that the route goes through
2012-04-30store a pointer to the active interface as part of the device routeFelix Fietkau
2012-04-29include route/address flags in vlist comparisonFelix Fietkau
2012-03-19add support for updating route metricsFelix Fietkau
2012-03-19add a flag to keep track of route metric overridesFelix Fietkau
2012-03-15always create device routesFelix Fietkau
2012-02-26move broadcast address handling to the coreFelix Fietkau
2012-02-26remove device_{route,addr}->deviceFelix Fietkau
2012-01-15use the simplified vlist type for dns servers/searchFelix Fietkau
2011-10-19add support for configuring static routesFelix Fietkau
2011-10-19rework route handling, move parser code to interface-ip.c, add extra options ↵Felix Fietkau
and add further support for pulling routes from config
2011-10-19add support for keeping multiple ip addr/route/dns listsFelix Fietkau
2011-10-14proto-shell: add dns search domainsFelix Fietkau
2011-10-13proto-shell: fix updating settings, only issue ifup event after ↵Felix Fietkau
configuration has been applied
2011-10-13add functions for adding dns servers to the proto list, hook them up in ↵Felix Fietkau
proto-static.c
2011-10-11add some code for keeping track of dns servers and search domains and for ↵Felix Fietkau
writing resolv.conf
2011-10-02make versioned lists more flexible by using an external comparatorFelix Fietkau
2011-09-14add a device pointer to struct device_routeFelix Fietkau
2011-09-12add support for externally managed ip addresses and routesFelix Fietkau