Commit Graph

43 Commits (380f43d66fcfd44dc477e293106b66541584c9a9)

Author SHA1 Message Date
Florian Fainelli ffc26f837f [kernel] swconfig: Check vlan/port indexes for validity.
Swconfig needs to make sure that requested vlans/ports actually exist,
else it might read or modify memory not belonging to itself.

This patch adds a quick range check in swconfig's kernel part to
prevent accidential or intentional memory modification.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20811 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-11 20:51:37 +00:00
Gabor Juhos 797d41e061 Generic: Clean up output of AR8216 driver.
This patch is rather a cosmetic patch. It fixes the following issues:

 * Demote the unknown device message to debug level to not spam
   the log.
 * Fix the version print of the unknown device message.
 * Output the 'attach' message only when attaching as switch driver,
   not when attaching as phy driver.
 * Correctly return NET_RX_DROP when dropping packets.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc: bacfire@openwrt.org


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20773 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-10 11:34:11 +00:00
Gabor Juhos c1278631d6 generic: make chip detection more reliable in the AR8216 driver
Fixes broken ethernet on the Planex MZK-W04NU/W300NH boards.

Cc: bacfire@openwrt.org


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20753 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-09 08:40:12 +00:00
Jo-Philipp Wich fd27f8a1d9 [PATCH 1/2] Add support for the ar8316 switch.
This patch enhances the ar8216 driver with ar8316 support and fixes some minor
issues with the ar8216 driver itself. It should not break anything, but isn't
tested on ar8216 devices.

[PATCH 2/2] ar71xx: Add the ar8316 driver to rs pro/rb-450g.
Add the ar8216 driver to the ar71xx target, and add network
configurations for the RouterStation Pro and the RouterBoard RB-450G.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20722 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-05 23:03:16 +00:00
Felix Fietkau 3ac4dbb0b8 enable IP175A support in the IP175C PHY driver (based on patch from jh in #6733)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20551 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-28 18:57:42 +00:00
Felix Fietkau 7f91a444a8 ar8216: fix the mtu register definition
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20110 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-09 21:43:16 +00:00
Felix Fietkau c477dc4860 Several small fixes for ar8216 driver (patch by Jonas Gorski)
* Create defines for some magic values/masks.

 * Change vlan_id to u16, to allow VIDs > 255.

 * Add a range check to set_pvid as it isn't a VID, but the index
   in the vlan table.

 * Set the max VID to 4094, since 4095 is a reserved value and
   should not be used.

 * In mangle_rx replace the provided VID with the VID of the table
   entry of the port, not the index of the table.

 * In hw_apply, remove a redundant emptyness check (was already
   checked several lines above).

 * In no vlan mode do not set the ingress mode to secure, as there
   are no vlan table entries, but to use the port's destination
   masks. Otherwise the switch won't forward anything.

 * In read_status tell that the phy is up (taken from the rtl8306
   driver).

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20083 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-09 14:35:41 +00:00
Gabor Juhos d41036f849 kernel: add driver for the RTL8366RB switch
Thanks to Andrew Tarabaras.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19837 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-24 13:39:02 +00:00
Gabor Juhos 7ef0d8adf8 kernel: fix typos in the AR8216 header file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19834 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-24 13:38:48 +00:00
Gabor Juhos df14b9b975 rtl8366_smi: sanitize gpio values to a 0/1 boolean
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19402 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:12 +00:00
Gabor Juhos 873ab6ec5b rtl8366s: reset the chip early, this allows ethernet to work as soon as possible
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19355 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-27 21:01:48 +00:00
Gabor Juhos e97e8ca04c rtl8366: make it available on all platforms
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19329 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-25 15:13:38 +00:00
Felix Fietkau d8dc22afd6 rtl8306: manage the wan port as a separate phy device with proper link status reading and autonegotiation - the genphy driver does not handle it properly
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18709 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-09 03:25:33 +00:00
Felix Fietkau fec8e48603 ar71xx: make the rtl8306 switch attach to eth0 instead of eth1 on the wrt160nl, fixes wan port detection (#6309)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18699 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-08 14:06:18 +00:00
Felix Fietkau 5232331c98 fix link status detection in various switch drivers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18698 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-08 14:06:09 +00:00
Felix Fietkau 88194ec500 move the updated version (for 2.6.30+) of ar8216/mvswitch to the generic files directory and remove patches for older kernel versions (no longer in use)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17594 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-09-16 12:24:46 +00:00
Felix Fietkau 2e7ecd9fba add a driver for rtl8306 switches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17248 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-08-14 00:52:17 +00:00
Felix Fietkau 8d50438cc1 ar8216: rename the vlan attribute to enable_vlan to keep it consistent with other drivers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16770 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-11 01:21:01 +00:00
Felix Fietkau c604fdef85 ar8216: fix transmission of large frames by setting the switch mtu
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16629 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-06-29 21:54:16 +00:00
Felix Fietkau 77d165c1ed ar8216: add delay for page switching to work around register setting corruption. use packet mangling to fix up the vlan for incoming packets (workaround for hardware bug, which renders normal 802.1q support unusable)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-06-14 03:32:01 +00:00
Felix Fietkau fdcbeac21e fix a crash in ip175c attribute enumeration
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15506 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-30 13:57:22 +00:00
Felix Fietkau 3400913521 Add a driver for Atheros AR8216 switches
Thanks to Vertical Communications, Inc. for providing access to the documentation

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15482 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-29 13:02:41 +00:00
Felix Fietkau f8e84c4e39 swconfig: add a generic switch reset call
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15470 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-28 19:16:17 +00:00
Felix Fietkau b5b7da862a clean up the ip175c driver some more, add support for setting the pvid and fix querying the phy status
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15308 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-20 21:26:44 +00:00
Felix Fietkau 091c38c934 swconfig: add a generic method for setting the port primary vlan id (used for transparently fixing up pvid for untagged port when setting vlan ports)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15307 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-20 21:26:39 +00:00
Felix Fietkau 01c16ed09b add IC+ IP175C driver (based on Patrick Horn's driver, see #4050)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15305 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-20 18:57:55 +00:00
Felix Fietkau 351fbfd0e2 swconfig: treat struct switch_attr as constant
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15302 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-20 18:57:36 +00:00
Felix Fietkau 7b1ce92313 swconfig: remove old debugging stuff
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15301 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-20 18:57:30 +00:00
Felix Fietkau bbdb00cc4e mvswitch: re-enable header mode
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15186 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-10 11:33:49 +00:00
Felix Fietkau f08abee438 atheros: in later kernels, vlan 0 no longer works as expected, switch to (1,2) instead of (0,1) for lan/wan
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14981 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-03-22 20:19:23 +00:00
Felix Fietkau 23eca1d576 mvswitch,adm6996: use phy fixups instead of a nonstandard patch for hardware detection
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14977 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-03-22 20:18:36 +00:00
Felix Fietkau 7fc9c0b5e4 improve routing/nat performance for devices using the marvell 88e6060 switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13060 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-10-28 17:54:22 +00:00
Felix Fietkau af835ce516 change the way ./files* and the generic kernel files are applied. ./files now applies to *ALL* kernel versions, and is copied along with ./files-* - this gets rid of quite a bit of redundancy in the extra kernel drivers.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13010 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-10-18 21:43:30 +00:00
Felix Fietkau 5325f94712 add missing defines for mvswitch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11895 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-07-21 18:12:38 +00:00
Felix Fietkau 85b0fa9262 some more mvswitch fixes:
- initialize the vlan destination map properly
- workaround for moving node bug: clear the ATU database on every PHY poll


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11881 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-07-19 23:09:56 +00:00
Felix Fietkau 947a74570d add extra safety for the packet mangling in the mvswitch driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11880 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-07-19 23:09:43 +00:00
Felix Fietkau a790561538 set marvell switch ATU ageing time to minimum instead of maximum - hopefully fixes some fonera 2.0 ethernet issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11410 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-06-09 10:31:46 +00:00
Felix Fietkau 653cf2c078 enable a different pseudo-vlan mode in the marvell switch (uses a proprietary header instead of a proprietary trailer) - fixes some mtu issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-29 12:55:44 +00:00
Felix Fietkau 4bfaf896cb allow bigger packets in the marvell switch (does not fix the mtu problems yet)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10970 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-28 21:59:06 +00:00
Felix Fietkau cc8a466cb1 fix vlan mapping for cpu port on the marvell switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10934 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-24 01:09:47 +00:00
Felix Fietkau c29df87d31 clear VLANTunnel bit on the marvell switch ports - should help with some bridging issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10931 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-23 16:28:05 +00:00
Felix Fietkau e62fdae016 Add support for the ultra-crappy Marvell 88E6060, which is used in Fonera+ and the upcoming Fonera 2.0
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10876 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-20 08:29:01 +00:00
Felix Fietkau 3c2c1b1b69 Add stub driver for ADM6996F switches (configured through MII)
The driver currently uses a hardcoded VLAN mapping and has no configuration yet
Tested on Accton MR3202a


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10869 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-04-20 02:53:04 +00:00