Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56be1788 authored by David S. Miller's avatar David S. Miller
Browse files
parents 7f8e3234 f19765f4
Loading
Loading
Loading
Loading
+23 −23
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@
#define BCLINK_WIN_DEFAULT 20		/* bcast link window size (default) */

/**
 * struct bcbearer_pair - a pair of bearers used by broadcast link
 * struct tipc_bcbearer_pair - a pair of bearers used by broadcast link
 * @primary: pointer to primary bearer
 * @secondary: pointer to secondary bearer
 *
@@ -54,13 +54,13 @@
 * to be paired.
 */

struct bcbearer_pair {
struct tipc_bcbearer_pair {
	struct tipc_bearer *primary;
	struct tipc_bearer *secondary;
};

/**
 * struct bcbearer - bearer used by broadcast link
 * struct tipc_bcbearer - bearer used by broadcast link
 * @bearer: (non-standard) broadcast bearer structure
 * @media: (non-standard) broadcast media structure
 * @bpairs: array of bearer pairs
@@ -74,17 +74,17 @@ struct bcbearer_pair {
 * prevented through use of the spinlock "bc_lock".
 */

struct bcbearer {
struct tipc_bcbearer {
	struct tipc_bearer bearer;
	struct media media;
	struct bcbearer_pair bpairs[MAX_BEARERS];
	struct bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1];
	struct tipc_media media;
	struct tipc_bcbearer_pair bpairs[MAX_BEARERS];
	struct tipc_bcbearer_pair bpairs_temp[TIPC_MAX_LINK_PRI + 1];
	struct tipc_node_map remains;
	struct tipc_node_map remains_new;
};

/**
 * struct bclink - link used for broadcast messages
 * struct tipc_bclink - link used for broadcast messages
 * @link: (non-standard) broadcast link structure
 * @node: (non-standard) node structure representing b'cast link's peer node
 * @bcast_nodes: map of broadcast-capable nodes
@@ -93,19 +93,19 @@ struct bcbearer {
 * Handles sequence numbering, fragmentation, bundling, etc.
 */

struct bclink {
	struct link link;
struct tipc_bclink {
	struct tipc_link link;
	struct tipc_node node;
	struct tipc_node_map bcast_nodes;
	struct tipc_node *retransmit_to;
};

static struct bcbearer bcast_bearer;
static struct bclink bcast_link;
static struct tipc_bcbearer bcast_bearer;
static struct tipc_bclink bcast_link;

static struct bcbearer *bcbearer = &bcast_bearer;
static struct bclink *bclink = &bcast_link;
static struct link *bcl = &bcast_link.link;
static struct tipc_bcbearer *bcbearer = &bcast_bearer;
static struct tipc_bclink *bclink = &bcast_link;
static struct tipc_link *bcl = &bcast_link.link;

static DEFINE_SPINLOCK(bc_lock);

@@ -308,7 +308,7 @@ void tipc_bclink_acknowledge(struct tipc_node *n_ptr, u32 acked)

static void bclink_send_ack(struct tipc_node *n_ptr)
{
	struct link *l_ptr = n_ptr->active_links[n_ptr->addr & 1];
	struct tipc_link *l_ptr = n_ptr->active_links[n_ptr->addr & 1];

	if (l_ptr != NULL)
		tipc_link_send_proto_msg(l_ptr, STATE_MSG, 0, 0, 0, 0, 0);
@@ -677,8 +677,8 @@ static int tipc_bcbearer_send(struct sk_buff *buf,

void tipc_bcbearer_sort(void)
{
	struct bcbearer_pair *bp_temp = bcbearer->bpairs_temp;
	struct bcbearer_pair *bp_curr;
	struct tipc_bcbearer_pair *bp_temp = bcbearer->bpairs_temp;
	struct tipc_bcbearer_pair *bp_curr;
	int b_index;
	int pri;

@@ -893,9 +893,9 @@ static void tipc_nmap_diff(struct tipc_node_map *nm_a,
 * tipc_port_list_add - add a port to a port list, ensuring no duplicates
 */

void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
void tipc_port_list_add(struct tipc_port_list *pl_ptr, u32 port)
{
	struct port_list *item = pl_ptr;
	struct tipc_port_list *item = pl_ptr;
	int i;
	int item_sz = PLSIZE;
	int cnt = pl_ptr->count;
@@ -927,10 +927,10 @@ void tipc_port_list_add(struct port_list *pl_ptr, u32 port)
 *
 */

void tipc_port_list_free(struct port_list *pl_ptr)
void tipc_port_list_free(struct tipc_port_list *pl_ptr)
{
	struct port_list *item;
	struct port_list *next;
	struct tipc_port_list *item;
	struct tipc_port_list *next;

	for (item = pl_ptr->next; item; item = next) {
		next = item->next;
+5 −5
Original line number Diff line number Diff line
@@ -54,15 +54,15 @@ struct tipc_node_map {
#define PLSIZE 32

/**
 * struct port_list - set of node local destination ports
 * struct tipc_port_list - set of node local destination ports
 * @count: # of ports in set (only valid for first entry in list)
 * @next: pointer to next entry in list
 * @ports: array of port references
 */

struct port_list {
struct tipc_port_list {
	int count;
	struct port_list *next;
	struct tipc_port_list *next;
	u32 ports[PLSIZE];
};

@@ -83,8 +83,8 @@ static inline int tipc_nmap_equal(struct tipc_node_map *nm_a, struct tipc_node_m
	return !memcmp(nm_a, nm_b, sizeof(*nm_a));
}

void tipc_port_list_add(struct port_list *pl_ptr, u32 port);
void tipc_port_list_free(struct port_list *pl_ptr);
void tipc_port_list_add(struct tipc_port_list *pl_ptr, u32 port);
void tipc_port_list_free(struct tipc_port_list *pl_ptr);

void tipc_bclink_init(void);
void tipc_bclink_stop(void);
+22 −20
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@

#define MAX_ADDR_STR 32

static struct media *media_list[MAX_MEDIA];
static struct tipc_media *media_list[MAX_MEDIA];
static u32 media_count;

struct tipc_bearer tipc_bearers[MAX_BEARERS];
@@ -68,7 +68,7 @@ static int media_name_valid(const char *name)
 * tipc_media_find - locates specified media object by name
 */

struct media *tipc_media_find(const char *name)
struct tipc_media *tipc_media_find(const char *name)
{
	u32 i;

@@ -83,7 +83,7 @@ struct media *tipc_media_find(const char *name)
 * media_find_id - locates specified media object by type identifier
 */

static struct media *media_find_id(u8 type)
static struct tipc_media *media_find_id(u8 type)
{
	u32 i;

@@ -100,7 +100,7 @@ static struct media *media_find_id(u8 type)
 * Bearers for this media type must be activated separately at a later stage.
 */

int  tipc_register_media(struct media *m_ptr)
int tipc_register_media(struct tipc_media *m_ptr)
{
	int res = -EINVAL;

@@ -138,7 +138,7 @@ int tipc_register_media(struct media *m_ptr)
void tipc_media_addr_printf(struct print_buf *pb, struct tipc_media_addr *a)
{
	char addr_str[MAX_ADDR_STR];
	struct media *m_ptr;
	struct tipc_media *m_ptr;

	m_ptr = media_find_id(a->media_id);

@@ -185,7 +185,7 @@ struct sk_buff *tipc_media_get_names(void)
 */

static int bearer_name_validate(const char *name,
				struct bearer_name *name_parts)
				struct tipc_bearer_names *name_parts)
{
	char name_copy[TIPC_MAX_BEARER_NAME];
	char *media_name;
@@ -318,7 +318,7 @@ void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest)
static int bearer_push(struct tipc_bearer *b_ptr)
{
	u32 res = 0;
	struct link *ln, *tln;
	struct tipc_link *ln, *tln;

	if (b_ptr->blocked)
		return 0;
@@ -364,7 +364,8 @@ void tipc_continue(struct tipc_bearer *b_ptr)
 * bearer.lock is busy
 */

static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link *l_ptr)
static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr,
						struct tipc_link *l_ptr)
{
	list_move_tail(&l_ptr->link_list, &b_ptr->cong_links);
}
@@ -377,7 +378,7 @@ static void tipc_bearer_schedule_unlocked(struct tipc_bearer *b_ptr, struct link
 * bearer.lock is free
 */

void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr)
{
	spin_lock_bh(&b_ptr->lock);
	tipc_bearer_schedule_unlocked(b_ptr, l_ptr);
@@ -390,7 +391,8 @@ void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr)
 * and if there is, try to resolve it before returning.
 * 'tipc_net_lock' is read_locked when this function is called
 */
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr)
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr,
					struct tipc_link *l_ptr)
{
	int res = 1;

@@ -409,7 +411,7 @@ int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr
 * tipc_bearer_congested - determines if bearer is currently congested
 */

int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr)
{
	if (unlikely(b_ptr->blocked))
		return 1;
@@ -425,8 +427,8 @@ int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr)
int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
{
	struct tipc_bearer *b_ptr;
	struct media *m_ptr;
	struct bearer_name b_name;
	struct tipc_media *m_ptr;
	struct tipc_bearer_names b_names;
	char addr_string[16];
	u32 bearer_id;
	u32 with_this_prio;
@@ -438,7 +440,7 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
		     name);
		return -ENOPROTOOPT;
	}
	if (!bearer_name_validate(name, &b_name)) {
	if (!bearer_name_validate(name, &b_names)) {
		warn("Bearer <%s> rejected, illegal name\n", name);
		return -EINVAL;
	}
@@ -463,10 +465,10 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)

	write_lock_bh(&tipc_net_lock);

	m_ptr = tipc_media_find(b_name.media_name);
	m_ptr = tipc_media_find(b_names.media_name);
	if (!m_ptr) {
		warn("Bearer <%s> rejected, media <%s> not registered\n", name,
		     b_name.media_name);
		     b_names.media_name);
		goto exit;
	}

@@ -544,8 +546,8 @@ int tipc_enable_bearer(const char *name, u32 disc_domain, u32 priority)
int tipc_block_bearer(const char *name)
{
	struct tipc_bearer *b_ptr = NULL;
	struct link *l_ptr;
	struct link *temp_l_ptr;
	struct tipc_link *l_ptr;
	struct tipc_link *temp_l_ptr;

	read_lock_bh(&tipc_net_lock);
	b_ptr = tipc_bearer_find(name);
@@ -579,8 +581,8 @@ int tipc_block_bearer(const char *name)

static void bearer_disable(struct tipc_bearer *b_ptr)
{
	struct link *l_ptr;
	struct link *temp_l_ptr;
	struct tipc_link *l_ptr;
	struct tipc_link *temp_l_ptr;

	info("Disabling bearer <%s>\n", b_ptr->name);
	spin_lock_bh(&b_ptr->lock);
+12 −11
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ struct tipc_media_addr {
struct tipc_bearer;

/**
 * struct media - TIPC media information available to internal users
 * struct tipc_media - TIPC media information available to internal users
 * @send_msg: routine which handles buffer transmission
 * @enable_bearer: routine which enables a bearer
 * @disable_bearer: routine which disables a bearer
@@ -90,7 +90,7 @@ struct tipc_bearer;
 * @name: media name
 */

struct media {
struct tipc_media {
	int (*send_msg)(struct sk_buff *buf,
			struct tipc_bearer *b_ptr,
			struct tipc_media_addr *dest);
@@ -139,12 +139,12 @@ struct tipc_bearer {
	struct tipc_media_addr addr;		/* initalized by media */
	char name[TIPC_MAX_BEARER_NAME];
	spinlock_t lock;
	struct media *media;
	struct tipc_media *media;
	u32 priority;
	u32 window;
	u32 tolerance;
	u32 identity;
	struct link_req *link_req;
	struct tipc_link_req *link_req;
	struct list_head links;
	struct list_head cong_links;
	int active;
@@ -152,19 +152,19 @@ struct tipc_bearer {
	struct tipc_node_map nodes;
};

struct bearer_name {
struct tipc_bearer_names {
	char media_name[TIPC_MAX_MEDIA_NAME];
	char if_name[TIPC_MAX_IF_NAME];
};

struct link;
struct tipc_link;

extern struct tipc_bearer tipc_bearers[];

/*
 * TIPC routines available to supported media types
 */
int tipc_register_media(struct media *m_ptr);
int tipc_register_media(struct tipc_media *m_ptr);

void tipc_recv_msg(struct sk_buff *buf, struct tipc_bearer *tb_ptr);

@@ -188,12 +188,13 @@ struct sk_buff *tipc_media_get_names(void);
struct sk_buff *tipc_bearer_get_names(void);
void tipc_bearer_add_dest(struct tipc_bearer *b_ptr, u32 dest);
void tipc_bearer_remove_dest(struct tipc_bearer *b_ptr, u32 dest);
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct link *l_ptr);
void tipc_bearer_schedule(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr);
struct tipc_bearer *tipc_bearer_find(const char *name);
struct tipc_bearer *tipc_bearer_find_interface(const char *if_name);
struct media *tipc_media_find(const char *name);
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr, struct link *l_ptr);
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct link *l_ptr);
struct tipc_media *tipc_media_find(const char *name);
int tipc_bearer_resolve_congestion(struct tipc_bearer *b_ptr,
				   struct tipc_link *l_ptr);
int tipc_bearer_congested(struct tipc_bearer *b_ptr, struct tipc_link *l_ptr);
void tipc_bearer_stop(void);
void tipc_bearer_lock_push(struct tipc_bearer *b_ptr);

+10 −10
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@


/**
 * struct link_req - information about an ongoing link setup request
 * struct tipc_link_req - information about an ongoing link setup request
 * @bearer: bearer issuing requests
 * @dest: destination address for request messages
 * @domain: network domain to which links can be established
@@ -54,7 +54,7 @@
 * @timer: timer governing period between requests
 * @timer_intv: current interval between requests (in ms)
 */
struct link_req {
struct tipc_link_req {
	struct tipc_bearer *bearer;
	struct tipc_media_addr dest;
	u32 domain;
@@ -120,7 +120,7 @@ static void disc_dupl_alert(struct tipc_bearer *b_ptr, u32 node_addr,
void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
{
	struct tipc_node *n_ptr;
	struct link *link;
	struct tipc_link *link;
	struct tipc_media_addr media_addr, *addr;
	struct sk_buff *rbuf;
	struct tipc_msg *msg = buf_msg(buf);
@@ -218,7 +218,7 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr)
 * and is either not currently searching or is searching at a slow rate
 */

static void disc_update(struct link_req *req)
static void disc_update(struct tipc_link_req *req)
{
	if (!req->num_nodes) {
		if ((req->timer_intv == TIPC_LINK_REQ_INACTIVE) ||
@@ -234,7 +234,7 @@ static void disc_update(struct link_req *req)
 * @req: ptr to link request structure
 */

void tipc_disc_add_dest(struct link_req *req)
void tipc_disc_add_dest(struct tipc_link_req *req)
{
	req->num_nodes++;
}
@@ -244,7 +244,7 @@ void tipc_disc_add_dest(struct link_req *req)
 * @req: ptr to link request structure
 */

void tipc_disc_remove_dest(struct link_req *req)
void tipc_disc_remove_dest(struct tipc_link_req *req)
{
	req->num_nodes--;
	disc_update(req);
@@ -255,7 +255,7 @@ void tipc_disc_remove_dest(struct link_req *req)
 * @req: ptr to link request structure
 */

static void disc_send_msg(struct link_req *req)
static void disc_send_msg(struct tipc_link_req *req)
{
	if (!req->bearer->blocked)
		tipc_bearer_send(req->bearer, req->buf, &req->dest);
@@ -268,7 +268,7 @@ static void disc_send_msg(struct link_req *req)
 * Called whenever a link setup request timer associated with a bearer expires.
 */

static void disc_timeout(struct link_req *req)
static void disc_timeout(struct tipc_link_req *req)
{
	int max_delay;

@@ -316,7 +316,7 @@ static void disc_timeout(struct link_req *req)
int tipc_disc_create(struct tipc_bearer *b_ptr,
		     struct tipc_media_addr *dest, u32 dest_domain)
{
	struct link_req *req;
	struct tipc_link_req *req;

	req = kmalloc(sizeof(*req), GFP_ATOMIC);
	if (!req)
@@ -345,7 +345,7 @@ int tipc_disc_create(struct tipc_bearer *b_ptr,
 * @req: ptr to link request structure
 */

void tipc_disc_delete(struct link_req *req)
void tipc_disc_delete(struct tipc_link_req *req)
{
	k_cancel_timer(&req->timer);
	k_term_timer(&req->timer);
Loading