Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 327547
b: refs/heads/master
c: 4225a39
h: refs/heads/master
i:
  327545: 718658c
  327543: 6b46117
v: v3
  • Loading branch information
Ying Xue authored and David S. Miller committed Aug 20, 2012
1 parent 5fb92da commit 784f8bd
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fa7f86f1bb5d8f08d10442a546252d2670b26f41
refs/heads/master: 4225a398c1352a7a5c14dc07277cb5cc4473983b
16 changes: 15 additions & 1 deletion trunk/net/tipc/eth_media.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,14 @@
* @bearer: ptr to associated "generic" bearer structure
* @dev: ptr to associated Ethernet network device
* @tipc_packet_type: used in binding TIPC to Ethernet driver
* @setup: work item used when enabling bearer
* @cleanup: work item used when disabling bearer
*/
struct eth_bearer {
struct tipc_bearer *bearer;
struct net_device *dev;
struct packet_type tipc_packet_type;
struct work_struct setup;
struct work_struct cleanup;
};

Expand Down Expand Up @@ -142,6 +144,17 @@ static int recv_msg(struct sk_buff *buf, struct net_device *dev,
return 0;
}

/**
* setup_bearer - setup association between Ethernet bearer and interface
*/
static void setup_bearer(struct work_struct *work)
{
struct eth_bearer *eb_ptr =
container_of(work, struct eth_bearer, setup);

dev_add_pack(&eb_ptr->tipc_packet_type);
}

/**
* enable_bearer - attach TIPC bearer to an Ethernet interface
*/
Expand Down Expand Up @@ -182,7 +195,8 @@ static int enable_bearer(struct tipc_bearer *tb_ptr)
eb_ptr->tipc_packet_type.func = recv_msg;
eb_ptr->tipc_packet_type.af_packet_priv = eb_ptr;
INIT_LIST_HEAD(&(eb_ptr->tipc_packet_type.list));
dev_add_pack(&eb_ptr->tipc_packet_type);
INIT_WORK(&eb_ptr->setup, setup_bearer);
schedule_work(&eb_ptr->setup);

/* Associate TIPC bearer with Ethernet bearer */
eb_ptr->bearer = tb_ptr;
Expand Down

0 comments on commit 784f8bd

Please sign in to comment.