Date: Tue, 4 Nov 2008 06:27:48 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r184617 - user/kmacy/HEAD_multi_tx/sys/net Message-ID: <200811040627.mA46RmtT088404@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kmacy Date: Tue Nov 4 06:27:48 2008 New Revision: 184617 URL: http://svn.freebsd.org/changeset/base/184617 Log: add if_start_mbuf interface to ifnet add initialization in if_attach using default function which does the same as IFQ_HANDOFF Modified: user/kmacy/HEAD_multi_tx/sys/net/if.c user/kmacy/HEAD_multi_tx/sys/net/if_var.h Modified: user/kmacy/HEAD_multi_tx/sys/net/if.c ============================================================================== --- user/kmacy/HEAD_multi_tx/sys/net/if.c Tue Nov 4 06:25:32 2008 (r184616) +++ user/kmacy/HEAD_multi_tx/sys/net/if.c Tue Nov 4 06:27:48 2008 (r184617) @@ -125,6 +125,8 @@ static void if_start_deferred(void *cont static void do_link_state_change(void *, int); static int if_getgroup(struct ifgroupreq *, struct ifnet *); static int if_getgroupmembers(struct ifgroupreq *); +static int if_start_mbuf(struct ifnet *ifp, struct mbuf *m); + #ifdef INET6 /* * XXX: declare here to avoid to include many inet6 related files.. @@ -518,7 +520,7 @@ if_attach(struct ifnet *ifp) getmicrotime(&ifp->if_lastchange); ifp->if_data.ifi_epoch = time_uptime; ifp->if_data.ifi_datalen = sizeof(struct if_data); - + ifp->if_start_mbuf = if_start_mbuf; #ifdef MAC mac_ifnet_init(ifp); mac_ifnet_create(ifp); @@ -2797,6 +2799,19 @@ if_start_deferred(void *context, int pen (ifp->if_start)(ifp); } +/* + * Backwards compatibility interface for drivers + * that have not implemented it + */ +static int +if_start_mbuf(struct ifnet *ifp, struct mbuf *m) +{ + int error; + + IFQ_HANDOFF(ifp, m, error); + return (error); +} + int if_handoff(struct ifqueue *ifq, struct mbuf *m, struct ifnet *ifp, int adjust) { Modified: user/kmacy/HEAD_multi_tx/sys/net/if_var.h ============================================================================== --- user/kmacy/HEAD_multi_tx/sys/net/if_var.h Tue Nov 4 06:25:32 2008 (r184616) +++ user/kmacy/HEAD_multi_tx/sys/net/if_var.h Tue Nov 4 06:27:48 2008 (r184617) @@ -186,7 +186,9 @@ struct ifnet { /* protected by if_addr_mtx */ void *if_pf_kif; void *if_lagg; /* lagg glue */ - void *if_pspare[10]; /* multiq/TOE 3; vimage 3; general use 4 */ + void *if_pspare[9]; /* multiq/TOE 3; vimage 3; general use 4 */ + int (*if_start_mbuf) /* initiate output routine */ + (struct ifnet *, struct mbuf *); int if_ispare[2]; /* general use 2 */ };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811040627.mA46RmtT088404>