Added get/set_max_xxx functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5024 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -15,6 +15,12 @@
|
|||||||
# define start_rx_thread core->start_rx_thread
|
# define start_rx_thread core->start_rx_thread
|
||||||
# define start_tx_thread core->start_tx_thread
|
# define start_tx_thread core->start_tx_thread
|
||||||
|
|
||||||
|
# define get_max_hdr core->get_max_hdr
|
||||||
|
# define set_max_linkhdr core->set_max_linkhdr
|
||||||
|
# define get_max_linkhdr core->get_max_linkhdr
|
||||||
|
# define set_max_protohdr core->set_max_protohdr
|
||||||
|
# define get_max_protohdr core->get_max_protohdr
|
||||||
|
|
||||||
# define net_add_timer core->net_add_timer
|
# define net_add_timer core->net_add_timer
|
||||||
# define net_remove_timer core->net_remove_timer
|
# define net_remove_timer core->net_remove_timer
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,13 @@ struct core_module_info {
|
|||||||
void (*start_rx_thread)(struct ifnet *dev);
|
void (*start_rx_thread)(struct ifnet *dev);
|
||||||
void (*start_tx_thread)(struct ifnet *dev);
|
void (*start_tx_thread)(struct ifnet *dev);
|
||||||
|
|
||||||
|
// functions for the 'max_xxx' values
|
||||||
|
int (*get_max_hdr)(void);
|
||||||
|
void (*set_max_linkhdr)(int maxLinkHdr);
|
||||||
|
int (*get_max_linkhdr)(void);
|
||||||
|
void (*set_max_protohdr)(int maxProtoHdr);
|
||||||
|
int (*get_max_protohdr)(void);
|
||||||
|
|
||||||
/* timer functions */
|
/* timer functions */
|
||||||
net_timer_id (*net_add_timer)(net_timer_hook ,void *,
|
net_timer_id (*net_add_timer)(net_timer_hook ,void *,
|
||||||
bigtime_t);
|
bigtime_t);
|
||||||
|
|||||||
@@ -308,11 +308,4 @@ void dump_freelist(void);
|
|||||||
/* XXX - add me! */
|
/* XXX - add me! */
|
||||||
|
|
||||||
|
|
||||||
struct pool_ctl *mbpool;
|
|
||||||
struct pool_ctl *clpool;
|
|
||||||
|
|
||||||
int max_hdr; /* largest link+protocol header */
|
|
||||||
int max_linkhdr; /* largest link level header */
|
|
||||||
int max_protohdr; /* largest protocol header */
|
|
||||||
|
|
||||||
#endif /* OBOS_MBUF_H */
|
#endif /* OBOS_MBUF_H */
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include <driver_settings.h>
|
#include <driver_settings.h>
|
||||||
|
|
||||||
|
#include "core_private.h"
|
||||||
#include "core_module.h"
|
#include "core_module.h"
|
||||||
#include "sys/socket.h"
|
#include "sys/socket.h"
|
||||||
#include "sys/socketvar.h"
|
#include "sys/socketvar.h"
|
||||||
@@ -63,6 +64,12 @@ static int stop_stack(void);
|
|||||||
static void add_protosw(struct protosw *[], int layer);
|
static void add_protosw(struct protosw *[], int layer);
|
||||||
static struct net_module *module_list = NULL;
|
static struct net_module *module_list = NULL;
|
||||||
|
|
||||||
|
static int get_max_hdr(void);
|
||||||
|
static void set_max_linkhdr(int maxLinkHdr);
|
||||||
|
static int get_max_linkhdr(void);
|
||||||
|
static void set_max_protohdr(int maxProtoHdr);
|
||||||
|
static int get_max_protohdr(void);
|
||||||
|
|
||||||
/* Wider scoped prototypes */
|
/* Wider scoped prototypes */
|
||||||
int net_sysctl(int *name, uint namelen, void *oldp, size_t *oldlenp,
|
int net_sysctl(int *name, uint namelen, void *oldp, size_t *oldlenp,
|
||||||
void *newp, size_t newlen);
|
void *newp, size_t newlen);
|
||||||
@@ -87,6 +94,12 @@ struct core_module_info core_info = {
|
|||||||
start_rx_thread,
|
start_rx_thread,
|
||||||
start_tx_thread,
|
start_tx_thread,
|
||||||
|
|
||||||
|
get_max_hdr,
|
||||||
|
set_max_linkhdr,
|
||||||
|
get_max_linkhdr,
|
||||||
|
set_max_protohdr,
|
||||||
|
get_max_protohdr,
|
||||||
|
|
||||||
net_add_timer,
|
net_add_timer,
|
||||||
net_remove_timer,
|
net_remove_timer,
|
||||||
|
|
||||||
@@ -336,6 +349,33 @@ void start_tx_thread(struct ifnet *dev)
|
|||||||
resume_thread(dev->tx_thread);
|
resume_thread(dev->tx_thread);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int get_max_hdr(void)
|
||||||
|
{
|
||||||
|
return max_hdr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void set_max_linkhdr(int maxLinkHdr)
|
||||||
|
{
|
||||||
|
max_linkhdr = maxLinkHdr;
|
||||||
|
max_hdr = max_linkhdr + max_protohdr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int get_max_linkhdr(void)
|
||||||
|
{
|
||||||
|
return max_linkhdr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void set_max_protohdr(int maxProtoHdr)
|
||||||
|
{
|
||||||
|
max_protohdr = maxProtoHdr;
|
||||||
|
max_hdr = max_linkhdr + max_protohdr;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int get_max_protohdr(void)
|
||||||
|
{
|
||||||
|
return max_protohdr;
|
||||||
|
}
|
||||||
|
|
||||||
void net_server_add_device(struct ifnet *ifn)
|
void net_server_add_device(struct ifnet *ifn)
|
||||||
{
|
{
|
||||||
char dname[16];
|
char dname[16];
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#ifndef _CORE_PRIVATE__H
|
||||||
|
#define _CORE_PRIVATE__H
|
||||||
|
|
||||||
|
|
||||||
|
extern struct pool_ctl *mbpool;
|
||||||
|
extern struct pool_ctl *clpool;
|
||||||
|
|
||||||
|
extern int max_hdr; /* largest link+protocol header */
|
||||||
|
extern int max_linkhdr; /* largest link level header */
|
||||||
|
extern int max_protohdr; /* largest protocol header */
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -19,6 +19,15 @@
|
|||||||
|
|
||||||
#define MBUF_ALLOCSIZE 4096
|
#define MBUF_ALLOCSIZE 4096
|
||||||
|
|
||||||
|
|
||||||
|
struct pool_ctl *mbpool;
|
||||||
|
struct pool_ctl *clpool;
|
||||||
|
|
||||||
|
int max_hdr = 0; /* largest link+protocol header */
|
||||||
|
int max_linkhdr = 0; /* largest link level header */
|
||||||
|
int max_protohdr = 0; /* largest protocol header */
|
||||||
|
|
||||||
|
|
||||||
void dump_freelist(void)
|
void dump_freelist(void)
|
||||||
{
|
{
|
||||||
pool_debug_walk(mbpool);
|
pool_debug_walk(mbpool);
|
||||||
@@ -31,7 +40,6 @@ void mbinit(void)
|
|||||||
pool_init(&mbpool, sizeof(struct mbuf));
|
pool_init(&mbpool, sizeof(struct mbuf));
|
||||||
if (!clpool)
|
if (!clpool)
|
||||||
pool_init(&clpool, MCLBYTES);
|
pool_init(&clpool, MCLBYTES);
|
||||||
/* XXX - move me to the protocol init routines! */
|
|
||||||
max_linkhdr = 14;
|
max_linkhdr = 14;
|
||||||
max_protohdr = 40;
|
max_protohdr = 40;
|
||||||
max_hdr = max_linkhdr + max_protohdr;
|
max_hdr = max_linkhdr + max_protohdr;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include <KernelExport.h>
|
#include <KernelExport.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "core_private.h"
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <net_socket.h>
|
#include <net_socket.h>
|
||||||
#include <pools.h>
|
#include <pools.h>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#include "core_private.h"
|
||||||
#include "sys/socket.h"
|
#include "sys/socket.h"
|
||||||
#include "sys/socketvar.h"
|
#include "sys/socketvar.h"
|
||||||
#include "sys/sockio.h"
|
#include "sys/sockio.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user