× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Jim,

The maximum frame size help text confused me regarding the NWS.
Why would they mention this if there is no setting for NWS on the line the line description.

Our internal Ethernet Vlan lines all start with 172.XXX.XXX.XX
<Yes, I'll often times set the maximum frame size at 8996. Again, this is for those type of TCP transfers that would make use of the larger frames such as FTP, SAVRSTxxx, SAVRST, etc..
I can see where this probably would improve the SAVRST* cmds across the Virtual Ethernet Backplane.

What is the difference between MaxFrameSize on the Line description and TCP Receive/send buffer size on CHGTCPA?
https://www.lifewire.com/definition-of-mtu-817948

If TCP buffer sizes are set to 65,536, shouldn't the MFS also be set higher?

Maximum frame size . . . . . . . . : 1496

TCP receive buffer size . . . . 65536 512-8388608, *SAME, *DFT
TCP send buffer size . . . . . . 65536 512-8388608, *SAME, *DFT


Paul

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Jim Oberholtzer
Sent: Monday, November 19, 2018 2:44 PM
To: 'Midrange Systems Technical Discussion'; 'Roberto Etcheverry'
Subject: RE: How to configure a 2nd Enthernet port to a 2nd Eternet Switch for Load balancing/fail over

First off, we are discussing Ethernet only. This is not any other part of virtualization. Do not mess with the Network Sever Storage parameters, that would break things.

Yes, I'll often times set the maximum frame size at 8996. Again, this is for those type of TCP transfers that would make use of the larger frames such as FTP, SAVRSTxxx, SAVRST, etc..

For example:
VLAN1, on Vlan 1, IP range to match your internal IP address scheme, ordinary traffic
VLAN2, on Vlan 4002 with an IP range that is ONLY used on the backplane, (I'll often times use 192.254.254.x) I would set up for FTP etc. That would have larger frames.

Clearly there would be similar adapters on all the partitions participating in the transfers, be they virtual or physical partitions.


--
Jim Oberholtzer
Agile Technology Architects

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> On Behalf Of Steinmetz, Paul
Sent: Monday, November 19, 2018 1:22 PM
To: 'Midrange Systems Technical Discussion' <midrange-l@xxxxxxxxxxxx>; 'Roberto Etcheverry' <retcheverry@xxxxxxxx>
Subject: RE: How to configure a 2nd Enthernet port to a 2nd Eternet Switch for Load balancing/fail over

Jim,

I already have the new of virtual devices, with an independent VLAN.
Are you suggesting, on the lie description, I change the Maximum frame size from the default of 1496 to 8996.
What/where is NWS on a virtual Ethernet line, I'm not seeing that parameter?

From the help text.
Specifies the maximum frame size that can be transmitted and received on
this line description.

1496
The maximum frame size is 1496 bytes.

maximum-frame-size
Specify the maximum frame size value to be used. The valid frame
sizes (in bytes) range from 1496 through 8996.

Note: When RSRCNAME(*NWID) specified, the only valid value for this
parameter is 1496 bytes. If the maximum frame size is greater than
1496 bytes, LINESPEED(1G) or LINSPEED(*AUTO) and DUPLEX(*FULL) or
DUPLEX(*AUTO) must be specified. 8996 is recommended when the NWS
parameter specifies a virtual ethernet port number, *VRTETHPTP or

Paul

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Jim Oberholtzer
Sent: Monday, November 19, 2018 2:12 PM
To: 'Midrange Systems Technical Discussion'; 'Roberto Etcheverry'
Subject: RE: How to configure a 2nd Enthernet port to a 2nd Eternet Switch for Load balancing/fail over

Paul:

For those types of transfers, consider creating a new set of virtual devices, with an independent Vlan, and setting the TCP attributes on the line such as large frames etc. You can get some amazing speeds out of them when you tweak those.

That said do not try to use that same Vlan for PTF application or NFS boot, since those changes would negate using that network for those functions.


--
Jim Oberholtzer
Agile Technology Architects

-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxx> On Behalf Of Steinmetz, Paul
Sent: Monday, November 19, 2018 1:00 PM
To: 'Midrange Systems Technical Discussion' <midrange-l@xxxxxxxxxxxx>; 'Roberto Etcheverry' <retcheverry@xxxxxxxx>
Subject: RE: How to configure a 2nd Enthernet port to a 2nd Eternet Switch for Load balancing/fail over


<I'd give it a try but guessing it won't come live. There is configuration required on the switch so unless the POWERVM hypervisor recognizes this I'm betting the line won't vary on.
That's what I needed to know, so this probably won't work.

< Are these all on the backplane, or between machines so you have to move to the external switch then back. Do you have any statistics that show that line getting saturated? Other than when we use FTP to push groups/cumulative files across those links, we have not been able to manage more than a flat line on the Ethernet monitor. So, why are you spending any real time trying to optimize a line that has next to no traffic?
All on the backplane. Large SAVRSTOBJ, SAVRSTLIB, MPG line graph, 500 million bytes per second.

It was a thought for possible improvement, but from what everyone responded, probably will not happen.

Paul


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of DrFranken
Sent: Monday, November 19, 2018 11:45 AM
To: Midrange Systems Technical Discussion; 'Roberto Etcheverry'
Subject: Re: How to configure a 2nd Enthernet port to a 2nd Eternet Switch for Load balancing/fail over

I'd give it a try but guessing it won't come live. There is configuration required on the switch so unless the POWERVM hypervisor recognizes this I'm betting the line won't vary on.

- Larry "DrFranken" Bolhuis

www.Frankeni.com
www.iDevCloud.com - Personal Development IBM i timeshare service.
www.iInTheCloud.com - Commercial IBM i Cloud Hosting.

On 11/19/2018 11:38 AM, Steinmetz, Paul wrote:
Roberto / Larry,

I need additional confirmation regarding virtual Ethernet.

I'm using Virtual Ethernet to connect my i/OS LPARs for internal traffic, BRMS, SAVRST*, DDM, etc.
These are created on the HMC, virtual Ethernet adapters.

Adapter ID: 2
Virtual switch ETHERNET0
Port Virtual Ethernet (VLAN ID): 1
Required: True
IEEE 802.1q compatible False
Additional VLAN IDs:
Access external network Faolse

These result in a 286C virtual Ethernet resource created on the i.
This is not HEA, not VIOS.
Nor SEA, to the best of my knowledge.

Is creating a ETHAGGVIRT line, using multiple virtual 286C a valid configuration?
I was hoping to increase the 1gb virtual internal backbone to accommodate some spikes.
Pros/Cons.

Paul


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
DrFranken
Sent: Saturday, November 17, 2018 10:43 AM
To: Midrange Systems Technical Discussion; Roberto Etcheverry
Subject: Re: How to configure a 2nd Enthernet port to a 2nd Eternet
Switch for Load balancing/fail over

That does make sense. It was also true with the old POWER6/POWER7 HEA
some things were disallowed unless 100% was allocated to one partition.

- Larry "DrFranken" Bolhuis

www.Frankeni.com
www.iDevCloud.com - Personal Development IBM i timeshare service.
www.iInTheCloud.com - Commercial IBM i Cloud Hosting.

On 11/17/2018 10:36 AM, Roberto José Etcheverry Romero wrote:
Just for record's sake. I can confirm that LACP/Link Aggr between
SRIOV adapters and vLAGed NE1032T works. Only detail (that's obvious
if you think about how SRIOV and LACP work) is that you must give
100% of the port to the LPAR that will be doing LACP.

On Thu, Oct 18, 2018 at 11:12 AM Roberto José Etcheverry Romero <
yggdrasil.raiker@xxxxxxxxx> wrote:

This is worrysome for me. The switches for my latest implementation
should arrive next week, a couple of Lenovo switches. I'll update
here with my findings.


On Thu, Oct 18, 2018 at 10:45 AM DrFranken <midrange@xxxxxxxxxxxx> wrote:

You are correct that this support was enabled in TR3 though LACP
wasn't supported until a later TR (TR7) which hopefully every one already has!!!

You should choose *LNKAGG if your switches support that. This is a
more standard implementation while *ETHCHL was a Cisco only spec
that some other manufacturers did support.

For the policy that's an 'It Depends' question as this is what
determines which link in the bundle to send the packets across.
Consider that with a single connection between IBM i and another
device, such as each file during an FTP session, only 1 link of the
bundle is used. This simply determines which of the links is chosen for each connection.

If you have a lot of connections (e.g. many users) then I recommend
leaving the default of *DFT there. Second choice would be *SRCDESTP.

Do note that in this thread there has been discussion about
vPC/vLAGG (Virtual Port Channel/Virtual Link Agg). This is not
supported in very many switches in my experience but more
importantly I have never been able to make it work from IBM i to a switch pair that DOES support it.
IN THEORY it should work as there isn't any config required on the
downstream (which would be IBM i) Side.

- Larry "DrFranken" Bolhuis

www.Frankeni.com
www.iDevCloud.com - Personal Development IBM i timeshare service.
www.iInTheCloud.com - Commercial IBM i Cloud Hosting.

On 10/18/2018 8:52 AM, Steinmetz, Paul wrote:
First of all, thanks to everyone for all the tips and links.

I did some research.
Ethernet Link Aggregation was announced 10/14/2011 V7R1 TR3.
This is why it is missing from most of the "older" links on TCP/IP
load
balancing/fail over.
Also referencing link by Dawn May,

http://ibmsystemsmag.com/blogs/i-can/archive/ethernet-link-aggregat
ion-in-ibm-i/

"In short, Ethernet Link Aggregation lets 7.1 TR3 users make
better use
of their Ethernet resources, potentially improving the reliability
and performance of their network workloads without purchasing any
additional hardware."

ELA is probably the simplest, easiest, quickest to implement.

From Dawn's example,
CRTLINETH LIND(ETHAGG) RSRCNAME(*AGG) AGGPCY(*ETHCHL *SRCDESTP)
AGGRSCL(CMN02 CMN03)

Questions.

1) Our proposed switch will be Cisco Catalyst 6506-E Do I have
options on the Cisco or must LACP be used?

2) Should AGGPCY be set to *ETHCHL or *LNKAGG?
Based on the one link, I'm thinking *LNKAGG
IBM(r) i Link Aggregation supports static aggregation (*ETHCHL)
with
any link partner, and supports LACP (*LNKAGG) with Cisco and IBM
Networking switches. Other LACP-capable link partners might work,
but are not officially supported.

*ETHCHL
Specifies to use Etherchannel technology to allow
several Ethernet adapters to be aggregated together to
form a single psuedo Ethernet device.
*LNKAGG
Specifies to use IEEE 802.3ad Link Aggregation
technology to allow several Ethernet adapters to be
aggregated together to form a single psuedo Ethernet
device.

3) What should Policy type be set to? *DFT, *SRCPORT, *DESTPORT,
*SRCDESTP, *RNDRBN
*DFT
The adapter selection algorithm uses the last byte of the
Destination IP address (for TCP/IP traffic) or MAC address (for ARP
and other non-IP traffic). This mode is typically the best initial
choice for a server with a large number of clients.
*SRCPORT
The adapter selection algorithm uses the source TCP/IP or UDP port
value.
*DESTPORT
The outgoing adapter path is selected via an algorithm using the
destination TCP/IP or UDP port value.
*SRCDESTP
The outgoing adapter path is selected via an algorithm using the
combined source and destination TCP or UDP port values.
*RNDRBN
Outgoing traffic is spread evenly across all the adapter ports in
the Etherchannel. This mode is the typical choice for two host
connected back-to-back (i.e. without a intervening switch).

Paul






-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of
Steinmetz, Paul
Sent: Tuesday, October 16, 2018 2:46 PM
To: 'Midrange Systems Technical Discussion'
Subject: RE: How to configure a 2nd Enthernet port to a 2nd
Eternet
Switch for Load balancing/fail over

Jim,

The solution you sent in the first link appears the simplest/easiest.
Ethernet Link Aggregation - Link Aggregation binds several
full-duplex
Ethernet links running at the same speed together into one logical
link with a single Media Access Control (MAC) address.
One interface, One line description with multiple resources.

I'm not seeing that solution as part of the 2nd link starting at
page
25.
Is this a "newer" solution, possibly not included with some of the
older docs.

Paul

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of
Jim Oberholtzer
Sent: Tuesday, October 16, 2018 2:31 PM
To: 'Midrange Systems Technical Discussion'
Subject: RE: How to configure a 2nd Enthernet port to a 2nd
Eternet
Switch for Load balancing/fail over

Rob:

VIOS is by far and away the best way to virtualize Ethernet and
provide
for
failover/load balancing. That said I don't think Paul has that
environment.


Paul:

As someone pointed out VIPA might fit the situation as well. Here's a
document that explains all:


https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzajw/rzaj
wpdf.pdf

Start on about page 25. It'll talk about workload balancing and
then
next
scenario is failover.

I find VIPA to be confusing to most folks, particularly the non
IBM i network administrator that will most likely understand what
your trying
to
do but then not be helpful in the end since it's not Microsoft/Cisco.


--
Jim Oberholtzer
Agile Technology Architects


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of
Rob
Berendt
Sent: Tuesday, October 16, 2018 1:21 PM
To: Midrange Systems Technical Discussion
<midrange-l@xxxxxxxxxxxx>
Subject: RE: How to configure a 2nd Enthernet port to a 2nd
Eternet
Switch
for Load balancing/fail over

We use two VIOS lpars. One controls one ethernet card and the
other controls the other. They both go to different switches.
I'm so damned confident of this solution that I've upgraded VIOS
during
the
middle of the day. Of course when you use the same solution on
three
Power
systems and you test it out on the sandbox machine first it helps.


Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1 Group Dekko Dept
1600
Mail
to: 2505 Dekko Drive
Garrett, IN 46738
Ship to: Dock 108
6928N 400E
Kendallville, IN 46755 http://www.dekko.com





From: "Steinmetz, Paul" <PSteinmetz@xxxxxxxxxx>
To: "'Midrange Systems Technical Discussion'"
<midrange-l@xxxxxxxxxxxx>
Date: 10/16/2018 02:13 PM
Subject: RE: How to configure a 2nd Enthernet port to a 2nd
Eternet
Switch for Load balancing/fail over
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>



Jim,


https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzajy/r
zajylinka
gg.htm


Thanks for that link.
The diagram was very helpful.
So only one interface and line description are used.
No changes to the interface, only to the line description.

AGGPCY (Aggregate policy) would be set to either *ETHCHL or
*LNKAGG
(Not
sure which method at this point)
AGGRSCL (Aggregated resource list) would contain the resource
names
CMN01,
CMN02.

One key question.
The link prerequisites states that this solution is only valid
everything
is going to one/same switch.
" All of the ports must be connected to the same link partner (switch)."
My intended solution is going to a 2nd switch.

Is there a different configuration if a 2nd switch is involved?

Paul

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of
Jim
Oberholtzer
Sent: Tuesday, October 16, 2018 12:07 PM
To: 'Midrange Systems Technical Discussion'
Subject: RE: How to configure a 2nd Enthernet port to a 2nd
Eternet
Switch
for Load balancing/fail over


https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzajy/r
zajylinka
gg.htm






--
Jim Oberholtzer
Agile Technology Architects


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On
Behalf Of Steinmetz, Paul
Sent: Tuesday, October 16, 2018 10:54 AM
To: 'Midrange Systems Technical Discussion'
<midrange-l@xxxxxxxxxxxx>
Subject: How to configure a 2nd Enthernet port to a 2nd Eternet
Switch
for
Load balancing/fail over

I'm looking for a resource (pdf/link) on how to configure a 2nd
Ethernet port to a 2nd Ethernet Switch for Load balancing/fail over.
The goal is to provide a higher level of redundancy for if either
the
5899
PCI port or the Ethernet switch would fail.
The 2nd port would be connected to a 2nd switch.

I need the details for both the Interface and line description,
and any other TCP/IP config changes (default routes, static
routes, etc), if needed.

Thank You
_____
Paul Steinmetz
IBM i Systems Administrator

Pencor Services, Inc.
462 Delaware Ave
Palmerton Pa 18071

610-826-9117 work
610-826-9188 fax
610-349-0913 cell
610-377-6012 home

psteinmetz@xxxxxxxxxx
http://www.pencor.com/


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
http://amzn.to/2dEadiD

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link:
http://amzn.to/2dEadiD

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: http://amzn.to/2dEadiD


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.