aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
Commit message (Collapse)AuthorAgeFilesLines
...
* kernel: restore 640-bridge_no_eap_forward.patch to its original formFelix Fietkau2015-09-083-3/+3
| | | | | | | | | | It was corrupted in r38528. The most obvious symptom is repeated messages like this: Tue Sep 8 08:25:18 2015 kern.warn kernel: [77141.972226] br-lan: received packet on wlan0 with own address as source address Signed-off-by: Dmitry Ivanov <dima@ubnt.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46821 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: remove packaging of kmod-crypto-core and kmod-crypto-arc4Felix Fietkau2015-09-083-6/+9
| | | | | | | | | Everything except for blkcipher was already built-in, so make blkcipher built-in as well. Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46820 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.18 to 3.18.21Jonas Gorski2015-09-023-41/+6
| | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.21 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46768 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: bridge, multicast-to-unicast: fix echoes on STAFelix Fietkau2015-09-022-18/+28
| | | | | | | | | | | | | | | | | | | | | Currently, multicast packets from an STA are sent to any according multicast listener directly through the bridge multicast-to-unicast feature. Unfortunately, so far this includes the originating STA, too, resulting in multicast packets being echo'ed back to the originating STA if it itself is a multicast listener for that group. This behaviour breaks IPv6 duplicate address detection: An IPv6 Neighbor Solicitation for IPv6 Duplicate Address Detection is being echo'ed back, resulting in the host falsely detecting an address collision, which makes the node unable to claim an IPv6 address and use IPv6 in general. Mac80211 unfortunately only prevents the echoes for us for multicast frames. For the multicast frames cast to a unicast destination we'll need to take care of excluding the originator ourselves. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46765 3c298f89-4303-0410-b956-a3cf2f4a3e73
* linux: fix off-by-one in handling in /proc/net/routeJonas Gorski2015-08-261-0/+46
| | | | | | | | | | | | | Add an upstream fix for /proc/net/route causing missing routes doing several continued reads from it. Only 4.1+ is affected. Closes #20403. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46726 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: bridge, multicast-to-unicast: assign src after pskb_may_pull()Felix Fietkau2015-08-252-37/+56
| | | | | | | | | | A call to pskb_may_pull() might reallocate skb->data. Therefore we should only assign the src-pointer after any potential reallocations. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46721 3c298f89-4303-0410-b956-a3cf2f4a3e73
* Revert "kernel: disable multicast-to-unicast translation for ipv6 neighbor ↵Felix Fietkau2015-08-252-40/+34
| | | | | | | | | | | | | | | | | | | | solicitation (#17625)" This reverts commit a080e8e1943156168913d0353a2e99d1151102aa. It did not fix the problem but just hid some symptom. The real issue was that IGMP/MLD report suppression was not considered for the multicast-to-unicast feature. A recent netifd which isolates IGMP/MLD reports between STAs by utilizing AP-isolation and bridge-hairpinning should have fixed this. It is perfectly fine to apply multicast-to-unicast to IPv6 Neighbor Solicitations, too (once that feature is configured correctly). Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46720 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: remove already upstream applied patchJonas Gorski2015-08-231-73/+0
| | | | | | | | | | | | | | | | Remove 131-MIPS-export-get_c0_perfcount_int.patch which was already applied in 4.1.6. This fixes the following build error: arch/mips/ath79/setup.c:217:77: error: redefinition of '__kstrtab_get_c0_perfcount_int' arch/mips/ath79/setup.c:211:77: note: previous definition of '__kstrtab_get_c0_perfcount_int' was here arch/mips/ath79/setup.c:217:350: error: redefinition of '__ksymtab_get_c0_perfcount_int' arch/mips/ath79/setup.c:211:350: note: previous definition of '__ksymtab_get_c0_perfcount_int' was here scripts/Makefile.build:258: recipe for target 'arch/mips/ath79/setup.o' failed Reported-by: swalker Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46715 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.1 to 4.1.6Jonas Gorski2015-08-232-55/+20
| | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.6 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46713 3c298f89-4303-0410-b956-a3cf2f4a3e73
* mvebu: kirkwood: fix ehci-orion probe if generic-phy isn't enabledJonas Gorski2015-08-233-0/+105
| | | | | | | | | Properly treat -ENOSYS as no PHY, else ehci-orion won't work without generic phy support. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46711 3c298f89-4303-0410-b956-a3cf2f4a3e73
* Previously, all VLANs (port-based or 802.1q) were sharingImre Kaloz2015-08-212-4/+19
| | | | | | | | | | | | | | | | | | | a single database in the ATU. This created problems in the case of a system where two ports/devices share a MAC address (e.g. Linksys WRT1900AC eth0/eth1). This also clears any bootloader-set FDB defaults. This had caused issues creating port-based VLANs when mappings overlapped previous VLANs. Packets destined to a port not in the default port group flooded all ports. Tested on a 88E6171 (Linksys EA4500) and 88E6172 ('1900AC) Signed-off-by: Claudio Leite <leitec@staticky.com> Signed-off-by: Imre Kaloz <kaloz@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46699 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing symbols for 4.1Zoltan HERPAI2015-08-201-0/+3
| | | | | | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46696 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: crypto: remove IRQF_DISABLEDJohn Crispin2015-08-173-3/+3
| | | | | | | | | | no-op since 2.6.35 removed in Kernel 4.1 see https://lwn.net/Articles/380931/ Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46671 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: move linux, part-probe dt parsing in generic codeJohn Crispin2015-08-1718-49/+400
| | | | | | | | | | | | | | The "linux,part-probe" dts parsing is a pretty neat generic feature. It has been posted to kernel.org and could easily be reused by all targets. This change moves the patch to the 3.18 and 4.1 generic folders, and makes the feature available to all platforms who may want to use it. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46654 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: yaffs2: update to version from 2015-06-02Hauke Mehrtens2015-08-1514-175/+288
| | | | | | | | | | | In addition to the update this also fixes compile problems with kernel 4.1. This closes #20323. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46609 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.1 to 4.1.5Jonas Gorski2015-08-143-4/+4
| | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.5 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46598 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing symbols for 4.1Zoltan HERPAI2015-08-091-0/+8
| | | | | | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46573 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.18 to 3.18.20Hauke Mehrtens2015-08-091-5/+5
| | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.20 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46570 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.1 to 4.1.4Jonas Gorski2015-08-052-153/+5
| | | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.4 Signed-off-by: Daniel Golle <daniel@makrotopia.org> [jogo: fix brcm2708 patches, refresh target patches] Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46560 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing symbol for 4.1Zoltan HERPAI2015-07-311-0/+1
| | | | | | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46539 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add a few missing symbols for 4.1Zoltan HERPAI2015-07-311-0/+23
| | | | | | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46529 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing CONFIG_ARM_CCI400_PMU config optionHauke Mehrtens2015-07-261-0/+1
| | | | | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46503 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add CONFIG_REGMAP_MMIO config optionHauke Mehrtens2015-07-263-0/+3
| | | | | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46501 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: cdc_ncm: Add support for moving NDP to end of NCM frameHauke Mehrtens2015-07-253-48/+537
| | | | | | | | | | | | | This patch was missing for kernel 4.0 and 4.1 in r46464. I also replaced the version in OpenWrt with the version which went upstream into the Linux mainline kernel. This closes #20193 and #20192 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46493 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kmod-regmap: make regmap-mmio user selectableJonas Gorski2015-07-253-3/+6
| | | | | | | | | | | | | | | REGMAP_MMIO is a hidden symbol, so it cannot be directly selected. If nothing selects it, it will fail the build with: ERROR: module '/store/buildbot/slave/slave/rb532/build/build_dir/target-mipsel_mips32_musl-1.1.10/linux-rb532/linux-3.18.19/drivers/base/regmap/regmap-mmio.ko' is missing. make[2]: *** [/store/buildbot/slave/slave/rb532/build/bin/rb532/packages/base/kmod-regmap_3.18.19-1_rb532.ipk] Error 1 Fix this by adding a description to allow selecting it manually. Fixes: r46451 ("kmod-regmap: enable MMIO support") Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46485 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: fix oprofile performance counter interrupt handling on mipsFelix Fietkau2015-07-241-0/+73
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46482 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: cdc_ncm: Add support for moving NDP to end of NCM frameJohn Crispin2015-07-241-0/+195
| | | | | | | | | | | | | | | | | | | | | | NCM specs are not actually mandating a specific position in the frame for the NDP (Network Datagram Pointer). However, some Huawei devices will ignore our aggregates if it is not placed after the datagrams it points to. Add support for doing just this, in a per-device configurable way. While at it, update NCM subdrivers, disabling this functionality in all of them, except in huawei_cdc_ncm where it is enabled instead. We aren't making any distinction between different Huawei NCM devices, based on what the vendor driver does. Standard NCM devices are left unaffected: if they are compliant, they should be always usable, still stay on the safe side. This change has been tested and working with a Huawei E3131 device (which works regardless of NDP position) and an E3372 device (which mandates NDP to be after indexed datagrams). Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> Signed-off-by: Matti Laakso <malaakso@elisanet.fi> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46464 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: Add missing symbols when tracing is enabledJohn Crispin2015-07-241-0/+2
| | | | | | Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46463 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add missing symbolJohn Crispin2015-07-241-0/+1
| | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46462 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.0 to 4.0.9Jonas Gorski2015-07-223-3/+3
| | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.9 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46440 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update to linux 4.1.3Felix Fietkau2015-07-223-3/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46437 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add more missing linux 4.1 symbolsFelix Fietkau2015-07-221-0/+3
| | | | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46435 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing config symbols for 4.1Felix Fietkau2015-07-191-0/+2
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46428 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: fix sched_getaffinity on MIPS SMP systems (fixes enabling RPS/XPS in ↵Felix Fietkau2015-07-183-0/+105
| | | | | | | | netifd with musl) Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46420 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add missing linux 4.1 symbolsJohn Crispin2015-07-171-0/+6
| | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46400 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar8216: add swconfig attributes for ARL table flushingFelix Fietkau2015-07-153-1/+67
| | | | | | | | Add swconfig attributes for flushing the ARL table globally or per port. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46382 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar8216: adjust ATU flushing in case of link changesFelix Fietkau2015-07-151-6/+4
| | | | | | | | | | If a link goes down, don't flush the complete ARL table. Only flush the entries for the respective port. Don't touch ARL table if a link goes up. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46381 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar8216: add ARL table flushing per portFelix Fietkau2015-07-154-4/+47
| | | | | | | | | | | | | Adds functions for flushing ARL table entries per port. Successfully tested on AR8327. Implementation for AR8216/AR8236/AR8316 is based on the AR8236 datasheet and assumes that the three chips share a common ATU register layout. Compile-tested only for AR8216/AR8236/AR8316. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46380 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar8216: add reading ARL table for AR8216/AR8236/AR8316Felix Fietkau2015-07-152-8/+98
| | | | | | | | | | | | | | | | Adds the chip-specific part of reading ARL table for AR8216/AR8236/AR8316. It's based on the AR8236 datasheet and compile-tested only as I couldn't find datasheets for AR8216/AR8316 and don't own devices with these chips. The existing ar8216_atu_flush implementation was used for all three chip types, therefore I guess they share a common ATU register layout. More testing would be appreciated. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46379 3c298f89-4303-0410-b956-a3cf2f4a3e73
* build: Prevent more gzip timestampsJohn Crispin2015-07-141-1/+1
| | | | | | | | | To improve reproducibility, prevent the inclusion of timestamps in the gzip header. Signed-off-by: Reiner Herrmann <reiner@reiner-h.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46361 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: fix build with CONFIG_MTD unsetJohn Crispin2015-07-143-6/+33
| | | | | | | | | | Fixed typo in the patch provided by Hauke: https://lists.openwrt.org/pipermail/openwrt-devel/2015-July/034274.html Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46346 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: add missing symbolJohn Crispin2015-07-143-0/+3
| | | | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46345 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing config optionHauke Mehrtens2015-07-123-0/+3
| | | | | | | | | This should fix build of sunxi. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46304 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.1 to 4.1.2Hauke Mehrtens2015-07-114-17/+15
| | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.2 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46301 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.0 to 4.0.8Hauke Mehrtens2015-07-116-30/+28
| | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.8 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46300 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.18 to 3.18.18Hauke Mehrtens2015-07-1111-45/+43
| | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.18 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46299 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing config symbol (fixes #19880)Felix Fietkau2015-07-083-0/+3
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46265 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add missing 4.1 config symbolFelix Fietkau2015-07-081-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46264 3c298f89-4303-0410-b956-a3cf2f4a3e73
* mips: Free memory when load_module fails (#14453)John Crispin2015-07-074-15/+200
| | | | | | | | | | | | | | | | | | | | | | The mips reloc patch introduced new allocations which were done before add_unformed_module but never freed them in case of an error. A new hook in Linux 3.19 called module_arch_freeing_init can be used for freeing memory which were allocated during this init phase. The problem can be seen when trying to load a module (via busybox insmod) when it was already loaded. free -m for i in `seq 1 100`; do /sbin/insmod /lib/modules/*/ath9k.ko >& /dev/null done free -m This simple loop would leak ~3.2 MB. Signed-off-by: Sven Eckelmann <sven@open-mesh.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46247 3c298f89-4303-0410-b956-a3cf2f4a3e73
* generic: mtd backport for Spansion S25FL164KJohn Crispin2015-07-073-0/+36
| | | | | | | | | Backport for the Spansion S25FL164K It's a 8 MiB flash chip with 4 KiB erase sectors. Signed-off-by: L. D. Pinney <ldpinney@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46237 3c298f89-4303-0410-b956-a3cf2f4a3e73