Skip site navigation (1)Skip section navigation (2)

CVS log for src/sys/netgraph/ng_fec.c

[BACK] Up to [FreeBSD] / src / sys / netgraph

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Nov 11 22:57:52 2011 UTC (2 months, 4 weeks ago) by brooks
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +1 -1 lines
SVN rev 227459 on 2011-11-11 22:57:52Z by brooks

In r191367 the need for if_free_type() was removed and a new member
if_alloctype was used to store the origional interface type.  Take
advantage of this change by removing all existing uses of if_free_type()
in favor of if_free().

MFC after:	1 Month

Revision 1.37.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (2 months, 4 weeks ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.37.2.1: preferred, colored; next MAIN 1.38: preferred, colored
Changes since revision 1.37.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)

Revision 1.37.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.37: preferred, colored; next MAIN 1.38: preferred, colored
Changes since revision 1.37: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)

Revision 1.37: download - view: text, markup, annotated - select for diffs
Mon Apr 18 09:12:27 2011 UTC (9 months, 3 weeks ago) by glebius
Branches: MAIN
CVS tags: RELENG_9_BP
Branch point for: RELENG_9
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +1 -3 lines
SVN rev 220768 on 2011-04-18 09:12:27Z by glebius

Node constructor methods are supposed to be called in syscall
context always. Convert nodes to consistently use M_WAITOK flag
for memory allocation.

Reviewed by:	julian

Revision 1.30.2.1.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.30.2.1: preferred, colored; next MAIN 1.30.6.1: preferred, colored
Changes since revision 1.30.2.1: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)

Revision 1.33.2.4.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.33.2.4: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33.2.4: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)

Revision 1.30.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 16 04:40:03 2010 UTC (14 months, 3 weeks ago) by sobomax
Branches: RELENG_7
CVS tags: RELENG_7_4_BP
Branch point for: RELENG_7_4
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +1 -1 lines
SVN rev 215368 on 2010-11-16 04:40:03Z by sobomax

MFC r207554:

    Add new tunable 'net.link.ifqmaxlen' to set default send interface
    queue length. The default value for this parameter is 50, which is
    quite low for many of today's uses and the only way to modify this
    parameter right now is to edit if_var.h file. Also add read-only
    sysctl with the same name, so that it's possible to retrieve the
    current value.

Revision 1.33.2.4: download - view: text, markup, annotated - select for diffs
Mon Nov 15 17:48:13 2010 UTC (14 months, 3 weeks ago) by sobomax
Branches: RELENG_8
CVS tags: RELENG_8_2_BP
Branch point for: RELENG_8_2
Diff to: previous 1.33.2.3: preferred, colored; branchpoint 1.33: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33.2.3: +1 -1 lines
SVN rev 215342 on 2010-11-15 17:48:13Z by sobomax

MFC r207554:

  Add new tunable 'net.link.ifqmaxlen' to set default send interface
  queue length. The default value for this parameter is 50, which is
  quite low for many of today's uses and the only way to modify this
  parameter right now is to edit if_var.h file. Also add read-only
  sysctl with the same name, so that it's possible to retrieve the
  current value.

Revision 1.33.2.3: download - view: text, markup, annotated - select for diffs
Wed Jun 23 18:46:10 2010 UTC (19 months, 2 weeks ago) by jhb
Branches: RELENG_8
Diff to: previous 1.33.2.2: preferred, colored; branchpoint 1.33: preferred, colored
Changes since revision 1.33.2.2: +0 -1 lines
SVN rev 209477 on 2010-06-23 18:46:10Z by jhb

MFC 198988:
Take a step towards removing if_watchdog/if_timer.  Don't explicitly set
if_watchdog/if_timer to NULL/0 when initializing an ifnet.  if_alloc()
sets those members to NULL/0 already.

Revision 1.33.2.2.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 3 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.33.2.2: preferred, colored; next MAIN 1.33.2.3: preferred, colored
Changes since revision 1.33.2.2: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)

Revision 1.33.2.2: download - view: text, markup, annotated - select for diffs
Tue May 25 02:36:06 2010 UTC (20 months, 2 weeks ago) by thompsa
Branches: RELENG_8
CVS tags: RELENG_8_1_BP
Branch point for: RELENG_8_1
Diff to: previous 1.33.2.1: preferred, colored; branchpoint 1.33: preferred, colored
Changes since revision 1.33.2.1: +1 -0 lines
SVN rev 208526 on 2010-05-25 02:36:06Z by thompsa

MFC r202588

 Declare a new EVENTHANDLER called iflladdr_event which signals that the L2
 address on an interface has changed. This lets stacked interfaces such as
 vlan(4) detect that their lower interface has changed and adjust things in
 order to keep working. Previously this situation broke at least vlan(4) and
 lagg(4) configurations.

 The EVENTHANDLER_INVOKE call was not placed within if_setlladdr() due to the
 risk of a loop.

 PR:		kern/142927
 Submitted by:	Nikolay Denev

MFC r202611

 Do not hold the lock over if_setlladdr() as it calls into the interface driver
 init routine.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon May 3 07:32:50 2010 UTC (21 months, 1 week ago) by sobomax
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +1 -1 lines
SVN rev 207554 on 2010-05-03 07:32:50Z by sobomax

Add new tunable 'net.link.ifqmaxlen' to set default send interface
queue length. The default value for this parameter is 50, which is
quite low for many of today's uses and the only way to modify this
parameter right now is to edit if_var.h file. Also add read-only
sysctl with the same name, so that it's possible to retrieve the
current value.

MFC after:	1 month

Revision 1.30.10.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (23 months, 4 weeks ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)

Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Jan 18 20:34:00 2010 UTC (2 years ago) by thompsa
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +1 -0 lines
SVN rev 202588 on 2010-01-18 20:34:00Z by thompsa

Declare a new EVENTHANDLER called iflladdr_event which signals that the L2
address on an interface has changed. This lets stacked interfaces such as
vlan(4) detect that their lower interface has changed and adjust things in
order to keep working. Previously this situation broke at least vlan(4) and
lagg(4) configurations.

The EVENTHANDLER_INVOKE call was not placed within if_setlladdr() due to the
risk of a loop.

PR:		kern/142927
Submitted by:	Nikolay Denev

Revision 1.34: download - view: text, markup, annotated - select for diffs
Fri Nov 6 14:55:01 2009 UTC (2 years, 3 months ago) by jhb
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +0 -1 lines
SVN rev 198988 on 2009-11-06 14:55:01Z by jhb

Take a step towards removing if_watchdog/if_timer.  Don't explicitly set
if_watchdog/if_timer to NULL/0 when initializing an ifnet.  if_alloc()
sets those members to NULL/0 already.

Revision 1.33.2.1.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.33.2.1: preferred, colored; next MAIN 1.33.2.2: preferred, colored
Changes since revision 1.33.2.1: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)

Revision 1.33.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
CVS tags: RELENG_8_0_BP
Branch point for: RELENG_8_0
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)

Revision 1.33: download - view: text, markup, annotated - select for diffs
Thu Apr 16 20:30:28 2009 UTC (2 years, 9 months ago) by kmacy
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +5 -4 lines
SVN rev 191148 on 2009-04-16 20:30:28Z by kmacy

Change if_output to take a struct route as its fourth argument in order
to allow passing a cached struct llentry * down to L2

Reviewed by:	rwatson

Revision 1.30.8.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)

Revision 1.30.6.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)

Revision 1.32: download - view: text, markup, annotated - select for diffs
Thu Oct 23 20:26:15 2008 UTC (3 years, 3 months ago) by des
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +1 -1 lines
SVN rev 184214 on 2008-10-23 20:26:15Z by des

Fix a number of style issues in the MALLOC / FREE commit.  I've tried to
be careful not to fix anything that was already broken; the NFSv4 code is
particularly bad in this respect.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Thu Oct 23 15:53:51 2008 UTC (3 years, 3 months ago) by des
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +9 -10 lines
SVN rev 184205 on 2008-10-23 15:53:51Z by des

Retire the MALLOC and FREE macros.  They are an abomination unto style(9).

MFC after:	3 months

Revision 1.18.2.5.4.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.18.2.5: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18.2.5: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)

Revision 1.18.2.5: download - view: text, markup, annotated - select for diffs
Sun Jun 10 07:41:25 2007 UTC (4 years, 8 months ago) by dwmalone
Branches: RELENG_6
CVS tags: RELENG_6_4_BP, RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3
Branch point for: RELENG_6_4
Diff to: previous 1.18.2.4: preferred, colored; branchpoint 1.18: preferred, colored; next MAIN 1.19: preferred, colored
Changes since revision 1.18.2.4: +81 -2 lines
MFC 1.30: Help ng_fec deal with multicast addresses.

This isn't exactly the same patch as in -current as some of the
in-kernel multicast API is different.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Fri May 18 15:05:49 2007 UTC (4 years, 8 months ago) by dwmalone
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_3_BP, RELENG_7_2_BP, RELENG_7_1_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7_3, RELENG_7_2, RELENG_7_1, RELENG_7
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +77 -2 lines
Help ng_fec deal with multicast addresses.

While ng_fec called the ioctl to let interfaces in the bundle know
the list of multicast addresses had changed, it never actually
updated that list on the interfaces in the bundle. Consequently,
the multicast filters could be programmed incorrectly.

if_lagg does this correctly, by maintaining a list of addresses
that it has added to interfaces in the bundle. This commit basically
takes the if_lagg code and adds it to ng_fec.

A version of this patch for RELENG_6 has fixed some problems with
IPv6 ND over ng_fec. This is probably the problem in PR 107523.

PR:		107523
Tested by:	Rob Gallagher <robert.gallagher@heanet.ie>
Obtained from:	if_lagg
MFC after:	3 weeks

Revision 1.18.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 18 15:37:37 2006 UTC (5 years, 4 months ago) by ru
Branches: RELENG_6
CVS tags: RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2
Diff to: previous 1.18.2.3: preferred, colored; branchpoint 1.18: preferred, colored
Changes since revision 1.18.2.3: +27 -3 lines
MFC:
- Allow to set larger MTU.
- Fix input byte counting.

Approved by:	re (kensmith)

Revision 1.29: download - view: text, markup, annotated - select for diffs
Fri Sep 15 20:17:45 2006 UTC (5 years, 4 months ago) by ru
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +8 -2 lines
Fix input byte counting.  Now the sum of the ipackets/ibytes counters
of individual interfaces should match the ipackets/ibytes counter of
the aggregate (FEC) interface.

PR:		kern/82189
Submitted by:	Stikheev Andrew <sand AT zunet DOT ru>
MFC after:	3 days

Revision 1.28: download - view: text, markup, annotated - select for diffs
Fri Sep 15 16:06:27 2006 UTC (5 years, 4 months ago) by ru
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +19 -1 lines
Make it possible to set a larger MTU by attempting to set MTUs on all
trunk ports first.  If that succeeds, and we're inside our own bounds,
so be it.

Still not ideal -- adding a port after changing an MTU doesn't change
port's MTU, but a step in the right direction.

PR:		kern/95417
Submitted by:	Vladimir Ivanov <wawa AT yandex-team DOT ru>
MFC after:	3 days

I've slightly edited a patch to make the conditional logic positive
and remove (what I think was) a redundant ng_fec_init() call.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Thu Aug 24 19:50:00 2006 UTC (5 years, 5 months ago) by ru
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +2 -1 lines
Fix another fallout from the IF_LLADDR() type change.

Spotted by:	mwlucas

Revision 1.18.2.3: download - view: text, markup, annotated - select for diffs
Wed Nov 16 10:13:34 2005 UTC (6 years, 2 months ago) by ru
Branches: RELENG_6
CVS tags: RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1
Diff to: previous 1.18.2.2: preferred, colored; branchpoint 1.18: preferred, colored
Changes since revision 1.18.2.2: +32 -35 lines
MFC: All recent fixes.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Fri Nov 11 16:04:57 2005 UTC (6 years, 2 months ago) by ru
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +5 -5 lines
- Store pointer to the link-level address right in "struct ifnet"
  rather than in ifindex_table[]; all (except one) accesses are
  through ifp anyway.  IF_LLADDR() works faster, and all (except
  one) ifaddr_byindex() users were converted to use ifp->if_addr.

- Stop storing a (pointer to) Ethernet address in "struct arpcom",
  and drop the IFP2ENADDR() macro; all users have been converted
  to use IF_LLADDR() instead.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Nov 9 13:34:43 2005 UTC (6 years, 3 months ago) by ru
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +3 -5 lines
Make IFP2NG() usable as an lvalue.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Fri Nov 4 16:29:51 2005 UTC (6 years, 3 months ago) by ru
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +4 -21 lines
Use if_setlladdr() to reprogram the link-level addresses; it causes
a synchronous reprogramming of hardware MAC filters if the physical
interface are up and running.  Previously, MAC filters would be
reconfigured only when the fec interface was brought up.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Fri Nov 4 15:42:01 2005 UTC (6 years, 3 months ago) by ru
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +19 -3 lines
Bring some level of stability to this driver:

- Disallow bundle reconfiguration when virtual
  interface is running; otherwise, removing a
  port from a running configuration will cause
  a panic in the start() method on the next packet
  on an assumption that a bundle has an even
  number of ports (2 or 4).

- Disallow bringing of virtual interface to a
  running state when a bundle size is 0; otherwise,
  adding and then removing the port will similarly
  cause a panic.

- Add missing initialization of fec_ifstat when
  adding a new port and fix media status reporting
  when virtual interface isn't yet up (check for
  fec_status of 1 rather than != 0).

Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri Nov 4 13:50:38 2005 UTC (6 years, 3 months ago) by ru
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +6 -6 lines
- Fix another fallout from the if_alloc() conversion:
  previously, ifp->if_type was set to IFT_ETHER by
  ether_ifattach(), now it's done by if_alloc() so
  an assignment of if_type to IFT_PROPVIRTUAL after
  if_alloc() but before ether_ifattach() broke it.
  This makes arp(8) and friends happy about the fec
  interfaces, and will allow us to use if_setlladdr()
  on the fec interface.

- Set/reset IFF_DRV_RUNNING/IFF_DRV_OACTIVE in init()
  and stop() methods rather than in ioctl(), like the
  rest of the drivers do.  This fixes a bug when an
  "ifconfig fec0 ipv4_address" would not have made
  the interface running, didn't launch the ticker
  function to track media status of bundled ports,
  etc.

Revision 1.14.2.2: download - view: text, markup, annotated - select for diffs
Mon Aug 29 16:31:51 2005 UTC (6 years, 5 months ago) by emax
Branches: RELENG_5
CVS tags: RELENG_5_5_BP, RELENG_5_5_0_RELEASE, RELENG_5_5
Diff to: previous 1.14.2.1: preferred, colored; branchpoint 1.14: preferred, colored; next MAIN 1.15: preferred, colored
Changes since revision 1.14.2.1: +3 -3 lines
MFC to RELENG_5

Make sure ng_fec_init() uses the same calling convention as the rest of
the code, i.e. ng_fec_init() is called with the ifp->if_softc pointer and
NOT with the ifp pointer.

PR:		kern/85239
Reviewed by:	brooks
Approved by:	re (scottl)

Revision 1.18.2.2: download - view: text, markup, annotated - select for diffs
Mon Aug 29 16:23:21 2005 UTC (6 years, 5 months ago) by emax
Branches: RELENG_6
CVS tags: RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0
Diff to: previous 1.18.2.1: preferred, colored; branchpoint 1.18: preferred, colored
Changes since revision 1.18.2.1: +3 -3 lines
MFC to RELENG_6

Make sure ng_fec_init() uses the same calling convention as the rest of
the code, i.e. ng_fec_init() is called with the ifp->if_softc pointer and
NOT with the ifp pointer.

PR:		kern/85239
Reviewed by:	brooks
Approved by:	re (scottl)

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Aug 25 17:00:02 2005 UTC (6 years, 5 months ago) by emax
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +3 -3 lines
Make sure ng_fec_init() uses the same calling convention as the rest of
the code, i.e. ng_fec_init() is called with the ifp->if_softc pointer and
NOT with the ifp pointer.

PR:		kern/85239
Reviewed by:	brooks
MFC after:	1 day

Revision 1.18.2.1: download - view: text, markup, annotated - select for diffs
Thu Aug 25 05:01:21 2005 UTC (6 years, 5 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +9 -7 lines
Merge linux_ioctl.c:1.128 svr4_sockio.c:1.17 altq_cbq.c:1.3 if_oltr.c:1.38
if_pflog.c:1.14 if_pfsync.c:1.21 if_an.c:1.70 if_ar.c:1.72 if_arl.c:1.11
amrr.c:1.10 onoe.c:1.10 if_ath.c:1.101 awi.c:1.41 if_bfe.c:1.27
if_bge.c:1.93 if_cm_isa.c:1.7 smc90cx6.c:1.16 if_cnw.c:1.20 if_cp.c:1.25
if_cs.c:1.42 if_ct.c:1.26 if_cx.c:1.46 if_ed.c:1.256 if_em.c:1.68
if_en_pci.c:1.37 midway.c:1.66 if_ep.c:1.143 if_ex.c:1.58 if_fatm.c:1.20
if_fe.c:1.93 if_fwe.c:1.38 if_fwip.c:1.8 if_fxp.c:1.244 if_gem.c:1.33
if_hatm.c:1.25 if_hatm_intr.c:1.20 if_hatm_ioctl.c:1.13 if_hatm_rx.c:1.10
if_hatm_tx.c:1.14 if_hme.c:1.39 if_ie.c:1.104 if_ndis.c:1.101
if_ic.c:1.24 if_ipw.c:1.10 if_iwi.c:1.10 if_ixgb.c:1.13 if_lge.c:1.41
if_lnc.c:1.113 if_my.c:1.31 if_nge.c:1.77 if_nve.c:1.10 if_owi.c:1.12
if_patm.c:1.9 if_patm_intr.c:1.6 if_patm_ioctl.c:1.10 if_patm_tx.c:1.10
pdq_ifsubr.c:1.28 if_plip.c:1.38 if_ral.c:1.12 if_ral_pci.c:1.2
if_ray.c:1.81 if_rayvar.h:1.22 if_re.c:1.49 if_sbni.c:1.21 if_sbsh.c:1.14
if_sn.c:1.48 dp83932.c:1.21 if_snc_pccard.c:1.9 if_sr.c:1.70 if_tx.c:1.91
if_txp.c:1.33 if_aue.c:1.92 if_axe.c:1.32 if_cdce.c:1.8 if_cue.c:1.59
if_kue.c:1.66 if_rue.c:1.23 if_udav.c:1.16 if_ural.c:1.12 if_vge.c:1.16
if_vx.c:1.58 if_wi.c:1.185 if_wi_pci.c:1.26 if_wl.c:1.68 if_xe.c:1.60
if_xe_pccard.c:1.30 if_el.c:1.68 i4b_ipr.c:1.35 i4b_isppp.c:1.31
kern_poll.c:1.20 bridge.c:1.94 bridgestp.c:1.4 if_arcsubr.c:1.27
if_atm.h:1.24 if_atmsubr.c:1.40 if_bridge.c:1.16 if_ef.c:1.35
if_ethersubr.c:1.196 if_faith.c:1.37 if_fddisubr.c:1.100 if_fwsubr.c:1.14
if_gif.c:1.54 if_gre.c:1.34 if_iso88025subr.c:1.70 if_loop.c:1.107
if_ppp.c:1.106 if_spppsubr.c:1.121 if_tap.c:1.57 if_tun.c:1.154
if_vlan.c:1.80 ppp_tty.c:1.67 ieee80211_ioctl.c:1.32 atm_if.c:1.31
ng_eiface.c:1.33 ng_ether.c:1.50 ng_fec.c:1.19 ng_iface.c:1.44
ng_sppp.c:1.9 ip_carp.c:1.30 ip_fastfwd.c:1.30 in6.c:1.53 nd6_nbr.c:1.31
natm.c:1.40 if_dc.c:1.162 if_de.c:1.168 if_pcn.c:1.72 if_rl.c:1.154
if_sf.c:1.84 if_sis.c:1.135 if_sk.c:1.108 if_ste.c:1.86 if_ti.c:1.109
if_tl.c:1.101 if_vr.c:1.106 if_wb.c:1.81 if_xl.c:1.194 from HEAD to
RELENG_6:

  Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
  IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
  ifnet.if_drv_flags.  Device drivers are now responsible for
  synchronizing access to these flags, as they are in if_drv_flags.  This
  helps prevent races between the network stack and device driver in
  maintaining the interface flags field.

  Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
  some less so.

  Reviewed by:    pjd, bz

Approved by:	re (scottl)

Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Aug 10 06:25:40 2005 UTC (6 years, 6 months ago) by obrien
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +3 -3 lines
Use the ISO standard function variable vs. a GCC'ism.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Tue Aug 9 10:19:59 2005 UTC (6 years, 6 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +9 -7 lines
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and
IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to
ifnet.if_drv_flags.  Device drivers are now responsible for
synchronizing access to these flags, as they are in if_drv_flags.  This
helps prevent races between the network stack and device driver in
maintaining the interface flags field.

Many __FreeBSD__ and __FreeBSD_version checks maintained and continued;
some less so.

Reviewed by:	pjd, bz
MFC after:	7 days

Revision 1.18: download - view: text, markup, annotated - select for diffs
Fri Jun 10 16:49:21 2005 UTC (6 years, 8 months ago) by brooks
Branches: MAIN
CVS tags: RELENG_6_BP
Branch point for: RELENG_6
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +22 -22 lines
Stop embedding struct ifnet at the top of driver softcs. Instead the
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.

This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.

Other changes of note:
 - Struct arpcom is no longer referenced in normal interface code.
   Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
   To enforce this ac_enaddr has been renamed to _ac_enaddr.
 - The second argument to ether_ifattach is now always the mac address
   from driver private storage rather than sometimes being ac_enaddr.

Reviewed by:	sobomax, sam

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Feb 8 10:31:55 2005 UTC (7 years ago) by ru
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +1 -2 lines
bzero() -> M_ZERO.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Feb 5 08:28:36 2005 UTC (7 years ago) by ru
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +24 -1 lines
Create a per-module mutex on MOD_LOAD, and destroy it on MOD_UNLOAD.
(This fixes witness_destroy() panic after module unload.)

OK'ed by:	rwatson, julian

Revision 1.14.2.1: download - view: text, markup, annotated - select for diffs
Mon Jan 31 23:26:28 2005 UTC (7 years ago) by imp
Branches: RELENG_5
CVS tags: RELENG_5_4_BP, RELENG_5_4_0_RELEASE, RELENG_5_4
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +4 -2 lines
MFC: /*- and related license changes

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Jan 7 01:45:39 2005 UTC (7 years, 1 month ago) by imp
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +4 -2 lines
/* -> /*- for license, minor formatting changes

Revision 1.14: download - view: text, markup, annotated - select for diffs
Wed Jul 28 06:54:55 2004 UTC (7 years, 6 months ago) by kan
Branches: MAIN
CVS tags: RELENG_5_BP, RELENG_5_3_BP, RELENG_5_3_0_RELEASE, RELENG_5_3
Branch point for: RELENG_5
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +1 -0 lines
Avoid casts as lvalues.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Wed Jul 14 20:27:33 2004 UTC (7 years, 6 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +10 -1 lines
Introduce a new mutex, ng_fec_mtx, to protect the global unit list to
synchronization allocation of FEC unit numbers.

Reviewed by:	glebius

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Jul 4 16:11:02 2004 UTC (7 years, 7 months ago) by stefanf
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2 lines
Consistently use __inline instead of __inline__ as the former is an empty macro
in <sys/cdefs.h> for compilers without support for inline.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Jun 20 21:08:58 2004 UTC (7 years, 7 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +34 -10 lines
Remove one more unneeded reference to arpcom.ac_netgraph.

Tweak things so that ng_fec has a chance of working with things
other than ethernet. Use ifp->if_output of the underlying interfaces
and use IF_HANDOFF() rather than depending on ether_output() and
ether_output_frame() explicitly. Also, don't insist that underlying
devices be IFM_ETHER when checking their link states in the link
monitor code.

With these changes, I was able to create a two channel bundle
consisting of one ethernet interface and one 802.11 wireless
device (via ndis). Note that this only works because both devices
use the same if_output vector: ng_fec will not let you bundle
devices with different output vectors together (it really doesn't
make sense to do that).

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Jun 20 19:22:22 2004 UTC (7 years, 7 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +18 -2 lines
Stash our node context pointer somewhere else within struct ifnet of
underlying interfaces rather than using ac_netgraph in struct arpcom.
The latter is meant only for use by ng_ether, and using it breaks
interoperability with the rest of netgraph.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sat May 29 00:51:11 2004 UTC (7 years, 8 months ago) by julian
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +6 -12 lines
Switch to using C99 sparse initialisers for the type methods array.
Should make no binary difference.

Submitted by:	Gleb Smirnoff <glebius@cell.sick.ru>
Reviewed by:	Harti Brandt <harti@freebsd.org>
MFC after:	1 week

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Apr 16 08:15:37 2004 UTC (7 years, 9 months ago) by luigi
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -4 lines
Consistently use ifaddr_byindex() to access the link-level address
of an interface. No functional change.

On passing, comment an useless invocation of TAILQ_INIT(&ifp->if_addrhead)
which could probably be removed in the interest of clarity.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Fri Oct 31 18:32:11 2003 UTC (8 years, 3 months ago) by brooks
Branches: MAIN
CVS tags: RELENG_5_2_BP, RELENG_5_2_1_RELEASE, RELENG_5_2_0_RELEASE, RELENG_5_2
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +13 -19 lines
Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By:	re (in principle)
Reviewed By:	njl, imp
Tested On:	i386, amd64, sparc64
Obtained From:	NetBSD (if_xname)

Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Apr 21 03:17:27 2003 UTC (8 years, 9 months ago) by rwatson
Branches: MAIN
CVS tags: RELENG_5_1_BP, RELENG_5_1_0_RELEASE, RELENG_5_1
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +0 -1 lines
Remove extraneous reference to intrq.h, which broke the kernel build.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Feb 26 19:49:32 2003 UTC (8 years, 11 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +37 -24 lines
Some more updates for the new world order:

- Make transmission of packets work again. This stopped working because
  ether_ifattach() was forcing ifp->if_output to be ether_output() and
  clobbering our attempt to override this vector with a pointer to
  ng_fec_output(). Move the overriding of ifp->if_output to after
  ether_ifattach().

- Abandon the use of the netgraph ng_ether_input_p hook for snagging
  incoming frames, and instead override the ifp->if_input vector for
  interfaces that have been aggregated into our bundle. (I would have
  loved to have written things this way in the first place, but I
  didn't want to have to be the one to implement the if_input hook
  and change all the drivers.) This avoids collisions with the ng_ether
  module, which uses the same hook. Each aggregated device now calls
  ng_fec_input() directly, which then fakes up the rcvif pointer
  before invoking ifp->if_input itself.

This module should actually work now.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Wed Feb 26 06:38:54 2003 UTC (8 years, 11 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +6 -16 lines
Attempt to make the ng_fec module play nice with BPF again. Things have
changed since this code was written:

- The ng_ether_input_p hook only accepts two arguments now: the pointer
  to the ether header structure is gone.

- It's no longer necessary to cons up a fake ether header before passing
  incoming packets to BPF_MTAP().

ng_fec_input() has been modified to account for these two changes.
Running tcpdump on fec0 should work now.

PR:	kern/46720

Revision 1.2.2.1: download - view: text, markup, annotated - select for diffs
Fri Dec 27 20:16:59 2002 UTC (9 years, 1 month ago) by julian
Branches: RELENG_5_0
CVS tags: RELENG_5_0_0_RELEASE
Diff to: previous 1.2: preferred, colored; next MAIN 1.3: preferred, colored
Changes since revision 1.2: +8 -5 lines
MFC of pathces to allow ng_fec.c to compile after Sam's bof rationalisations
and cleanups.

Submitted by:	Hiten Pandya <hiten@unixdaemons.com>
Approved by:	re@ (robert)

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Dec 23 22:31:24 2002 UTC (9 years, 1 month ago) by julian
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +8 -5 lines
Make ng_fec.c compile again since Sam's changes.

Submitted by:	Hiten Pandya (hiten@unixdaemons.com)

Revision 1.2: download - view: text, markup, annotated - select for diffs
Fri Nov 1 23:09:15 2002 UTC (9 years, 3 months ago) by julian
Branches: MAIN
CVS tags: RELENG_5_0_BP
Branch point for: RELENG_5_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -3 lines
ifnet_addrs doesn;t exist any more so use
TAILQ_FIRST(&ifp->if_addrhead) to find the link layer ifaddr.
(it's always first I believe)
Allows this to compile on -current.
 .. need testers with FEC capable switches..

Revision 1.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 1 21:39:31 2002 UTC (9 years, 3 months ago) by julian
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9, RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1: +34 -19 lines
MFC the fec driver from bill paul
I'm still working on this

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Oct 29 19:12:43 2002 UTC (9 years, 3 months ago) by julian
Branches: MAIN
Branch point for: RELENG_4
Finally get around to committing Bill Paul's FEC netgraph nodes.
These are really only partly netgraph nodes as they do not use the
netgraph interfaces for many of the functions for which they could
be used, however they represent important functionality.

Submitted by:	wpaul
MFC after: 2 days

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options