From another mail from Jay Vosburgh:
> This sort of wholesale cleanup is something I've been
> itching to do for a long time, but never had the time for. I'm all
> in favor of it in general; I'll have to see what I think about all
> of the specific changes after I look through the rest of the
> patches. In general, the bonding source has gotten fairly messy
> and hard to follow, so I think cleanup is needed.
This is set 3 - the wholesale cleanup. It's a re-send, only it was
divided into smaller change sets to make them more readable and
smaller in size. A few new things were added as well.
Applies on 2.4.22. Assumes patch set 2 was already applied.
patch set can be downloaded from:
This will update the following files:
patch 1 - ifenslave.c lite - no more IP settings + code re-org.
patch 2 - convert all debug prints to use the dprintk macro and
consolidate format of all prints (e.g. "bonding: Error: ...").
patch 3 - death of typedef. eliminate bonding_t/slave_t and
patch 4 - remove dead code and redundant checks. add a few new checks
patch 5 - consolidate timers initialization, error checking and
patch 6 - convert too long if-else to a switch-case. Fix all locations
that handles bond->primary.
patch 7 - eliminate the multicast_more module param and use the
USES_PRIMARY macro instead.
patch 8 - consolidate slave list iterations.
patch 9 - consolidate function declarations:
o all functions begin with bond_
o return value, function name and all params are on the same line.
patch 10 - consolidate names of function params and variables (e.g.
bond_dev instead of dev|master|master_dev).
patch 11 - change names for a few of the members of struct bonding.
patch 12 - consolidate return values of functions.
patch 13 - put curly braces around all if, else, for, while, switch
statements. consolidate if conditions
e.g. (ptr == NULL) --> (!ptr)
patch 14 - chomp all trailing white space.
patch 15 - remove duplicate empty lines. add empty lines to improve
patch 16 - fix indentations.
patch 17 - code re-organization in bond_main.c according to context
(e.g. module initialization, bond initialization, device entry
points, monitoring, etc.).
it just looks unreadable, but in fact its very simple :)
| Shmulik Hen Advanced Network Services |
| Israel Design Center, Jerusalem |
| LAN Access Division, Platform Networking |
| Intel Communications Group, Intel corp. |