<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/etherswitch, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2018-04-10T08:35:43Z</updated>
<entry>
<title>Improve detection of addressing mode in e6000sw</title>
<updated>2018-04-10T08:35:43Z</updated>
<author>
<name>Marcin Wojtas</name>
<email>mw@FreeBSD.org</email>
</author>
<published>2018-04-10T08:35:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fb4478a33619b2d254ee73c91dfdbf2b515f5607'/>
<id>urn:sha1:fb4478a33619b2d254ee73c91dfdbf2b515f5607</id>
<content type='text'>
Some devices cannot rely on the switch MDIO address passed in the DTB
for specifying single/multi-chip addressing mode. Introduce new property
"single-chip-addressing" which added to DTS will force single-chip mode.

Submitted by: Michal Mazur &lt;mkm@semihalf.com&gt;
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D14800
</content>
</entry>
<entry>
<title>Clean up OF_getprop_alloc API</title>
<updated>2018-04-08T22:59:34Z</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>gonzo@FreeBSD.org</email>
</author>
<published>2018-04-08T22:59:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=217d17bcd3f525fbdf124cfbc926f8033da69805'/>
<id>urn:sha1:217d17bcd3f525fbdf124cfbc926f8033da69805</id>
<content type='text'>
OF_getprop_alloc takes element size argument and returns number of
elements in the property. There are valid use cases for such behavior
but mostly API consumers pass 1 as element size to get string
properties. What API users would expect from OF_getprop_alloc is to be
a combination of malloc + OF_getprop with the same semantic of return
value. This patch modifies API signature to match these expectations.

For the valid use cases with element size != 1 and to reduce
modification scope new OF_getprop_alloc_multi function has been
introduced that behaves the same way OF_getprop_alloc behaved prior to
this patch.

Reviewed by:	ian, manu
Differential Revision:	https://reviews.freebsd.org/D14850
</content>
</entry>
<entry>
<title>[arswitch] Implement the switch MAC address fetch API.</title>
<updated>2018-02-06T08:35:49Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-06T08:35:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2ba4bf8fa549f002503f218ae503bf906bd71f3e'/>
<id>urn:sha1:2ba4bf8fa549f002503f218ae503bf906bd71f3e</id>
<content type='text'>
The placeholders are here for some future "set" MAC address API.

Tested:

* AR9340 switch
* AR8327 switch
</content>
</entry>
<entry>
<title>[etherswitch] add initial support for potentially configuring and fetching the switch MAC address.</title>
<updated>2018-02-06T08:34:50Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-06T08:34:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=15bd1a867e9377875ad995961a44fcfc3cb8cc0d'/>
<id>urn:sha1:15bd1a867e9377875ad995961a44fcfc3cb8cc0d</id>
<content type='text'>
Switches that originate their own frames (eg obvious ones like Pause frames)
need a MAC address to use to send those frames from.

This API will hopefully begin to allow that to be configurable.
</content>
</entry>
<entry>
<title>[arswitch] disable ARP copy-to-CPU port for AR9340 for now.</title>
<updated>2018-02-05T20:37:29Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-05T20:37:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f6f7bec6f8453c374b1cba3a6b6a4201653db4c1'/>
<id>urn:sha1:f6f7bec6f8453c374b1cba3a6b6a4201653db4c1</id>
<content type='text'>
I'll have to go double check to see if it does indeed pass ARP frames between
switch ports with this disabled, but it seems required for the CPU port to see
ARP traffic.

I'll dig into this some more.
</content>
</entry>
<entry>
<title>[arswitch] fix build breakage.</title>
<updated>2018-02-05T20:30:53Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-05T20:30:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=45a7272a5bd58b8587682d2a1bb10dd0c157a844'/>
<id>urn:sha1:45a7272a5bd58b8587682d2a1bb10dd0c157a844</id>
<content type='text'>
Apparently the last time I checked building this it didn't pick up that the
header had changed.
</content>
</entry>
<entry>
<title>[arswitch] Enable ATU dump support for the AR9340.</title>
<updated>2018-02-05T07:05:28Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-05T07:05:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f76883d64c4e2901b8699a807105d08b958afbe9'/>
<id>urn:sha1:f76883d64c4e2901b8699a807105d08b958afbe9</id>
<content type='text'>
This indeed uses the same registers as the AR8216 and later chips.

There seems to be an issue with ARP requests being sent out from the CPU
through this switch here, so figuring that out is next.  Learning works fine on
the AR8327 ethernet switch on the /other/ gigabit ethernet port, so I don't
think it's the network stack or ethernet driver.

Tested:

* DB120 - AR9340 SOC + ethernet switch (and other bits.)
</content>
</entry>
<entry>
<title>[arswitch] fix mac address field definition.</title>
<updated>2018-02-05T07:03:45Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-05T07:03:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f81a2047916fe952936e2935a7b8fd53ce28765'/>
<id>urn:sha1:7f81a2047916fe952936e2935a7b8fd53ce28765</id>
<content type='text'>
Whilst here, add some further fields for future experimenting.

Tested:

* AR9340 switch
* AR9330 switch
* AR7240 switch
</content>
</entry>
<entry>
<title>[arswitch] Break out of the loop upon any error, not just -1.</title>
<updated>2018-02-05T05:51:37Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-05T05:51:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7ed0831923db7da247fd6bc2ee309eeec3f74d0a'/>
<id>urn:sha1:7ed0831923db7da247fd6bc2ee309eeec3f74d0a</id>
<content type='text'>
This fixes the AR9340 "unimplemented" thingy for now.
</content>
</entry>
<entry>
<title>[arswitch] fix up issues on the AR8327.</title>
<updated>2018-02-04T08:22:11Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2018-02-04T08:22:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c9f70b7b8814df41ce7d2182a6c1a77bc01ea5cf'/>
<id>urn:sha1:c9f70b7b8814df41ce7d2182a6c1a77bc01ea5cf</id>
<content type='text'>
This correctly dumps the ethernet bridge contents on an AR8327 switch.

Tested:

* AP135 - QCA9550 + AR8327 ethernet switch:

# etherswitchcfg atu dump
 [0] c0:3f:d5:7e:6f:45: portmask 0x00000004
 [1] f6:b6:03:96:1e:ba: portmask 0x00000004
 [2] 00:03:7f:11:38:4f: portmask 0x00000040
# arp -na
? (192.168.3.170) at 00:03:7f:11:38:4f on arge0 permanent [ethernet]
? (192.168.3.12) at c0:3f:d5:7e:6f:45 on arge0 expires in 1188 seconds [ethernet]
? (192.168.3.1) at f6:b6:03:96:1e:ba on arge0 expires in 1186 seconds [ethernet]
</content>
</entry>
</feed>
