Skip to content
Snippets Groups Projects
Select Git revision
  • 15bb6b6e93fd0733a9feb877d2091acc3c80fb16
  • experimental default protected
  • v2023.2.5-ffs
  • nrb/ex400-remove-wps
  • nrb/airmax-test
  • v2023.2.4-ffs
  • nrb/ar9344-reset-sequence
  • autinerd/experimental-openwrt-24.10
  • v2023.2.3-ffs
  • v2023.2.2-ffs
  • v2023.2-ffs
  • v2023.1-ffs
  • v2022.1.4-ffs
  • feature/addMikrotikwAP
  • v2022.1.3-ffs
  • v2021.1.2-ffs
  • v2022.1.1-ffs
  • master protected
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • experimental-2025-07-24
  • experimental-2025-07-24-base
  • experimental-2025-07-22
  • experimental-2025-07-22-base
  • experimental-2025-07-21
  • experimental-2025-07-21-base
  • experimental-2025-07-20
  • experimental-2025-07-20-base
  • experimental-2025-07-19
  • experimental-2025-07-19-base
  • experimental-2025-07-17
  • experimental-2025-07-17-base
  • experimental-2025-07-12
  • experimental-2025-07-12-base
  • experimental-2025-07-04
  • experimental-2025-07-04-base
  • experimental-2025-07-01
  • experimental-2025-07-01-base
  • experimental-2025-06-25
  • experimental-2025-06-25-base
41 results

v2020.1.2.rst

Blame
  • 0006-generic-vxlan-backport-support-for-VXLAN-over-link-local-IPv6-to-4.9.patch 18.03 KiB
    From: Matthias Schiffer <mschiffer@universe-factory.net>
    Date: Tue, 9 Jan 2018 22:38:19 +0100
    Subject: generic: vxlan: backport support for VXLAN over link-local IPv6 to 4.9
    
    Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
    
    diff --git a/target/linux/generic/backport-4.9/095-0001-vxlan-improve-validation-of-address-family-configura.patch b/target/linux/generic/backport-4.9/095-0001-vxlan-improve-validation-of-address-family-configura.patch
    new file mode 100644
    index 0000000000000000000000000000000000000000..2114562536675cd59450928f591e70d66f8fc7b9
    --- /dev/null
    +++ b/target/linux/generic/backport-4.9/095-0001-vxlan-improve-validation-of-address-family-configura.patch
    @@ -0,0 +1,73 @@
    +From f45ba82cd83d27b5d44d3dc417e0e480ba0d3703 Mon Sep 17 00:00:00 2001
    +Message-Id: <f45ba82cd83d27b5d44d3dc417e0e480ba0d3703.1515533863.git.mschiffer@universe-factory.net>
    +From: Matthias Schiffer <mschiffer@universe-factory.net>
    +Date: Mon, 19 Jun 2017 10:03:57 +0200
    +Subject: [PATCH 1/4] vxlan: improve validation of address family configuration
    +
    +Address families of source and destination addresses must match, and
    +changelink operations can't change the address family.
    +
    +In addition, always use the VXLAN_F_IPV6 to check if a VXLAN device uses
    +IPv4 or IPv6.
    +
    +Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
    +Signed-off-by: David S. Miller <davem@davemloft.net>
    +[Matthias Schiffer: rebase to v4.9.y]
    +---
    + drivers/net/vxlan.c | 23 +++++++++++++++--------
    + 1 file changed, 15 insertions(+), 8 deletions(-)
    +
    +diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
    +index 983e941bdf29..fbe8da7fa296 100644
    +--- a/drivers/net/vxlan.c
    ++++ b/drivers/net/vxlan.c
    +@@ -2867,12 +2867,20 @@ static int vxlan_dev_configure(struct net *src_net, struct net_device *dev,
    + 
    + 	memcpy(&dst->remote_ip, &conf->remote_ip, sizeof(conf->remote_ip));
    + 
    +-	/* Unless IPv6 is explicitly requested, assume IPv4 */
    +-	if (!dst->remote_ip.sa.sa_family)
    ++	if (!dst->remote_ip.sa.sa_family && !conf->saddr.sa.sa_family) {
    ++		/* Unless IPv6 is explicitly requested, assume IPv4 */
    + 		dst->remote_ip.sa.sa_family = AF_INET;
    ++		conf->saddr.sa.sa_family = AF_INET;
    ++	} else if (!dst->remote_ip.sa.sa_family) {
    ++		dst->remote_ip.sa.sa_family = conf->saddr.sa.sa_family;
    ++	} else if (!conf->saddr.sa.sa_family) {
    ++		conf->saddr.sa.sa_family = dst->remote_ip.sa.sa_family;
    ++	}
    ++
    ++	if (conf->saddr.sa.sa_family != dst->remote_ip.sa.sa_family)
    ++		return -EINVAL;
    + 
    +-	if (dst->remote_ip.sa.sa_family == AF_INET6 ||
    +-	    vxlan->cfg.saddr.sa.sa_family == AF_INET6) {
    ++	if (conf->saddr.sa.sa_family == AF_INET6) {
    + 		if (!IS_ENABLED(CONFIG_IPV6))
    + 			return -EPFNOSUPPORT;
    + 		use_ipv6 = true;
    +@@ -2938,11 +2946,9 @@ static int vxlan_dev_configure(struct net *src_net, struct net_device *dev,
    + 
    + 	list_for_each_entry(tmp, &vn->vxlan_list, next) {
    + 		if (tmp->cfg.vni == conf->vni &&
    +-		    (tmp->default_dst.remote_ip.sa.sa_family == AF_INET6 ||
    +-		     tmp->cfg.saddr.sa.sa_family == AF_INET6) == use_ipv6 &&
    + 		    tmp->cfg.dst_port == vxlan->cfg.dst_port &&
    +-		    (tmp->flags & VXLAN_F_RCV_FLAGS) ==
    +-		    (vxlan->flags & VXLAN_F_RCV_FLAGS)) {
    ++		    (tmp->flags & (VXLAN_F_RCV_FLAGS | VXLAN_F_IPV6)) ==