[ATM]: Annotations.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
42d224aa17
commit
30d492da73
13 changed files with 58 additions and 58 deletions
|
@ -37,7 +37,7 @@ enum atmarp_ctrl_type {
|
||||||
struct atmarp_ctrl {
|
struct atmarp_ctrl {
|
||||||
enum atmarp_ctrl_type type; /* message type */
|
enum atmarp_ctrl_type type; /* message type */
|
||||||
int itf_num;/* interface number (if present) */
|
int itf_num;/* interface number (if present) */
|
||||||
uint32_t ip; /* IP address (act_need only) */
|
__be32 ip; /* IP address (act_need only) */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -86,8 +86,8 @@ struct atm_backend_br2684 {
|
||||||
* efficient per-if in/out filters, this support will be removed
|
* efficient per-if in/out filters, this support will be removed
|
||||||
*/
|
*/
|
||||||
struct br2684_filter {
|
struct br2684_filter {
|
||||||
__u32 prefix; /* network byte order */
|
__be32 prefix; /* network byte order */
|
||||||
__u32 netmask; /* 0 = disable filter */
|
__be32 netmask; /* 0 = disable filter */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct br2684_filter_set {
|
struct br2684_filter_set {
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
struct atmmpc_ioc {
|
struct atmmpc_ioc {
|
||||||
int dev_num;
|
int dev_num;
|
||||||
uint32_t ipaddr; /* the IP address of the shortcut */
|
__be32 ipaddr; /* the IP address of the shortcut */
|
||||||
int type; /* ingress or egress */
|
int type; /* ingress or egress */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@ typedef struct in_ctrl_info {
|
||||||
uint8_t Last_NHRP_CIE_code;
|
uint8_t Last_NHRP_CIE_code;
|
||||||
uint8_t Last_Q2931_cause_value;
|
uint8_t Last_Q2931_cause_value;
|
||||||
uint8_t eg_MPC_ATM_addr[ATM_ESA_LEN];
|
uint8_t eg_MPC_ATM_addr[ATM_ESA_LEN];
|
||||||
uint32_t tag;
|
__be32 tag;
|
||||||
uint32_t in_dst_ip; /* IP address this ingress MPC sends packets to */
|
__be32 in_dst_ip; /* IP address this ingress MPC sends packets to */
|
||||||
uint16_t holding_time;
|
uint16_t holding_time;
|
||||||
uint32_t request_id;
|
uint32_t request_id;
|
||||||
} in_ctrl_info;
|
} in_ctrl_info;
|
||||||
|
@ -30,10 +30,10 @@ typedef struct in_ctrl_info {
|
||||||
typedef struct eg_ctrl_info {
|
typedef struct eg_ctrl_info {
|
||||||
uint8_t DLL_header[256];
|
uint8_t DLL_header[256];
|
||||||
uint8_t DH_length;
|
uint8_t DH_length;
|
||||||
uint32_t cache_id;
|
__be32 cache_id;
|
||||||
uint32_t tag;
|
__be32 tag;
|
||||||
uint32_t mps_ip;
|
__be32 mps_ip;
|
||||||
uint32_t eg_dst_ip; /* IP address to which ingress MPC sends packets */
|
__be32 eg_dst_ip; /* IP address to which ingress MPC sends packets */
|
||||||
uint8_t in_MPC_data_ATM_addr[ATM_ESA_LEN];
|
uint8_t in_MPC_data_ATM_addr[ATM_ESA_LEN];
|
||||||
uint16_t holding_time;
|
uint16_t holding_time;
|
||||||
} eg_ctrl_info;
|
} eg_ctrl_info;
|
||||||
|
@ -49,7 +49,7 @@ struct mpc_parameters {
|
||||||
|
|
||||||
struct k_message {
|
struct k_message {
|
||||||
uint16_t type;
|
uint16_t type;
|
||||||
uint32_t ip_mask;
|
__be32 ip_mask;
|
||||||
uint8_t MPS_ctrl[ATM_ESA_LEN];
|
uint8_t MPS_ctrl[ATM_ESA_LEN];
|
||||||
union {
|
union {
|
||||||
in_ctrl_info in_info;
|
in_ctrl_info in_info;
|
||||||
|
|
|
@ -36,7 +36,7 @@ struct clip_vcc {
|
||||||
|
|
||||||
|
|
||||||
struct atmarp_entry {
|
struct atmarp_entry {
|
||||||
u32 ip; /* IP address */
|
__be32 ip; /* IP address */
|
||||||
struct clip_vcc *vccs; /* active VCCs; NULL if resolution is
|
struct clip_vcc *vccs; /* active VCCs; NULL if resolution is
|
||||||
pending */
|
pending */
|
||||||
unsigned long expires; /* entry expiration time */
|
unsigned long expires; /* entry expiration time */
|
||||||
|
|
|
@ -372,7 +372,7 @@ static int br2684_setfilt(struct atm_vcc *atmvcc, void __user *arg)
|
||||||
|
|
||||||
/* Returns 1 if packet should be dropped */
|
/* Returns 1 if packet should be dropped */
|
||||||
static inline int
|
static inline int
|
||||||
packet_fails_filter(u16 type, struct br2684_vcc *brvcc, struct sk_buff *skb)
|
packet_fails_filter(__be16 type, struct br2684_vcc *brvcc, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
if (brvcc->filter.netmask == 0)
|
if (brvcc->filter.netmask == 0)
|
||||||
return 0; /* no filter in place */
|
return 0; /* no filter in place */
|
||||||
|
|
|
@ -54,7 +54,7 @@ static struct atm_vcc *atmarpd;
|
||||||
static struct neigh_table clip_tbl;
|
static struct neigh_table clip_tbl;
|
||||||
static struct timer_list idle_timer;
|
static struct timer_list idle_timer;
|
||||||
|
|
||||||
static int to_atmarpd(enum atmarp_ctrl_type type, int itf, unsigned long ip)
|
static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip)
|
||||||
{
|
{
|
||||||
struct sock *sk;
|
struct sock *sk;
|
||||||
struct atmarp_ctrl *ctrl;
|
struct atmarp_ctrl *ctrl;
|
||||||
|
@ -220,7 +220,7 @@ static void clip_push(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||||
|| memcmp(skb->data, llc_oui, sizeof (llc_oui)))
|
|| memcmp(skb->data, llc_oui, sizeof (llc_oui)))
|
||||||
skb->protocol = htons(ETH_P_IP);
|
skb->protocol = htons(ETH_P_IP);
|
||||||
else {
|
else {
|
||||||
skb->protocol = ((u16 *) skb->data)[3];
|
skb->protocol = ((__be16 *) skb->data)[3];
|
||||||
skb_pull(skb, RFC1483LLC_LEN);
|
skb_pull(skb, RFC1483LLC_LEN);
|
||||||
if (skb->protocol == htons(ETH_P_ARP)) {
|
if (skb->protocol == htons(ETH_P_ARP)) {
|
||||||
PRIV(skb->dev)->stats.rx_packets++;
|
PRIV(skb->dev)->stats.rx_packets++;
|
||||||
|
@ -430,7 +430,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
|
|
||||||
here = skb_push(skb, RFC1483LLC_LEN);
|
here = skb_push(skb, RFC1483LLC_LEN);
|
||||||
memcpy(here, llc_oui, sizeof(llc_oui));
|
memcpy(here, llc_oui, sizeof(llc_oui));
|
||||||
((u16 *) here)[3] = skb->protocol;
|
((__be16 *) here)[3] = skb->protocol;
|
||||||
}
|
}
|
||||||
atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
|
atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
|
||||||
ATM_SKB(skb)->atm_options = vcc->atm_options;
|
ATM_SKB(skb)->atm_options = vcc->atm_options;
|
||||||
|
@ -509,7 +509,7 @@ static int clip_mkip(struct atm_vcc *vcc, int timeout)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clip_setentry(struct atm_vcc *vcc, u32 ip)
|
static int clip_setentry(struct atm_vcc *vcc, __be32 ip)
|
||||||
{
|
{
|
||||||
struct neighbour *neigh;
|
struct neighbour *neigh;
|
||||||
struct atmarp_entry *entry;
|
struct atmarp_entry *entry;
|
||||||
|
@ -752,7 +752,7 @@ static int clip_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
|
||||||
err = clip_mkip(vcc, arg);
|
err = clip_mkip(vcc, arg);
|
||||||
break;
|
break;
|
||||||
case ATMARP_SETENTRY:
|
case ATMARP_SETENTRY:
|
||||||
err = clip_setentry(vcc, arg);
|
err = clip_setentry(vcc, (__force __be32)arg);
|
||||||
break;
|
break;
|
||||||
case ATMARP_ENCAP:
|
case ATMARP_ENCAP:
|
||||||
err = clip_encap(vcc, arg);
|
err = clip_encap(vcc, arg);
|
||||||
|
|
|
@ -204,9 +204,9 @@ static unsigned char *get_tr_dst(unsigned char *packet, unsigned char *rdesc)
|
||||||
memset(rdesc, 0, ETH_ALEN);
|
memset(rdesc, 0, ETH_ALEN);
|
||||||
/* offset 4 comes from LAN destination field in LE control frames */
|
/* offset 4 comes from LAN destination field in LE control frames */
|
||||||
if (trh->rcf & htons((uint16_t) TR_RCF_DIR_BIT))
|
if (trh->rcf & htons((uint16_t) TR_RCF_DIR_BIT))
|
||||||
memcpy(&rdesc[4], &trh->rseg[num_rdsc - 2], sizeof(uint16_t));
|
memcpy(&rdesc[4], &trh->rseg[num_rdsc - 2], sizeof(__be16));
|
||||||
else {
|
else {
|
||||||
memcpy(&rdesc[4], &trh->rseg[1], sizeof(uint16_t));
|
memcpy(&rdesc[4], &trh->rseg[1], sizeof(__be16));
|
||||||
rdesc[5] = ((ntohs(trh->rseg[0]) & 0x000f) | (rdesc[5] & 0xf0));
|
rdesc[5] = ((ntohs(trh->rseg[0]) & 0x000f) | (rdesc[5] & 0xf0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -775,7 +775,7 @@ static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||||
unsigned char *src, *dst;
|
unsigned char *src, *dst;
|
||||||
|
|
||||||
atm_return(vcc, skb->truesize);
|
atm_return(vcc, skb->truesize);
|
||||||
if (*(uint16_t *) skb->data == htons(priv->lecid) ||
|
if (*(__be16 *) skb->data == htons(priv->lecid) ||
|
||||||
!priv->lecd || !(dev->flags & IFF_UP)) {
|
!priv->lecd || !(dev->flags & IFF_UP)) {
|
||||||
/*
|
/*
|
||||||
* Probably looping back, or if lecd is missing,
|
* Probably looping back, or if lecd is missing,
|
||||||
|
|
|
@ -14,14 +14,14 @@
|
||||||
#define LEC_HEADER_LEN 16
|
#define LEC_HEADER_LEN 16
|
||||||
|
|
||||||
struct lecdatahdr_8023 {
|
struct lecdatahdr_8023 {
|
||||||
unsigned short le_header;
|
__be16 le_header;
|
||||||
unsigned char h_dest[ETH_ALEN];
|
unsigned char h_dest[ETH_ALEN];
|
||||||
unsigned char h_source[ETH_ALEN];
|
unsigned char h_source[ETH_ALEN];
|
||||||
unsigned short h_type;
|
__be16 h_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct lecdatahdr_8025 {
|
struct lecdatahdr_8025 {
|
||||||
unsigned short le_header;
|
__be16 le_header;
|
||||||
unsigned char ac_pad;
|
unsigned char ac_pad;
|
||||||
unsigned char fc;
|
unsigned char fc;
|
||||||
unsigned char h_dest[ETH_ALEN];
|
unsigned char h_dest[ETH_ALEN];
|
||||||
|
|
|
@ -152,7 +152,7 @@ static struct mpoa_client *find_mpc_by_lec(struct net_device *dev)
|
||||||
/*
|
/*
|
||||||
* Overwrites the old entry or makes a new one.
|
* Overwrites the old entry or makes a new one.
|
||||||
*/
|
*/
|
||||||
struct atm_mpoa_qos *atm_mpoa_add_qos(uint32_t dst_ip, struct atm_qos *qos)
|
struct atm_mpoa_qos *atm_mpoa_add_qos(__be32 dst_ip, struct atm_qos *qos)
|
||||||
{
|
{
|
||||||
struct atm_mpoa_qos *entry;
|
struct atm_mpoa_qos *entry;
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ struct atm_mpoa_qos *atm_mpoa_add_qos(uint32_t dst_ip, struct atm_qos *qos)
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct atm_mpoa_qos *atm_mpoa_search_qos(uint32_t dst_ip)
|
struct atm_mpoa_qos *atm_mpoa_search_qos(__be32 dst_ip)
|
||||||
{
|
{
|
||||||
struct atm_mpoa_qos *qos;
|
struct atm_mpoa_qos *qos;
|
||||||
|
|
||||||
|
@ -460,11 +460,11 @@ static int send_via_shortcut(struct sk_buff *skb, struct mpoa_client *mpc)
|
||||||
in_cache_entry *entry;
|
in_cache_entry *entry;
|
||||||
struct iphdr *iph;
|
struct iphdr *iph;
|
||||||
char *buff;
|
char *buff;
|
||||||
uint32_t ipaddr = 0;
|
__be32 ipaddr = 0;
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
struct llc_snap_hdr hdr;
|
struct llc_snap_hdr hdr;
|
||||||
uint32_t tag;
|
__be32 tag;
|
||||||
} tagged_llc_snap_hdr = {
|
} tagged_llc_snap_hdr = {
|
||||||
{0xaa, 0xaa, 0x03, {0x00, 0x00, 0x00}, {0x88, 0x4c}},
|
{0xaa, 0xaa, 0x03, {0x00, 0x00, 0x00}, {0x88, 0x4c}},
|
||||||
0
|
0
|
||||||
|
@ -559,7 +559,7 @@ static int atm_mpoa_vcc_attach(struct atm_vcc *vcc, void __user *arg)
|
||||||
struct mpoa_client *mpc;
|
struct mpoa_client *mpc;
|
||||||
struct atmmpc_ioc ioc_data;
|
struct atmmpc_ioc ioc_data;
|
||||||
in_cache_entry *in_entry;
|
in_cache_entry *in_entry;
|
||||||
uint32_t ipaddr;
|
__be32 ipaddr;
|
||||||
|
|
||||||
bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc));
|
bytes_left = copy_from_user(&ioc_data, arg, sizeof(struct atmmpc_ioc));
|
||||||
if (bytes_left != 0) {
|
if (bytes_left != 0) {
|
||||||
|
@ -638,7 +638,7 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||||
struct sk_buff *new_skb;
|
struct sk_buff *new_skb;
|
||||||
eg_cache_entry *eg;
|
eg_cache_entry *eg;
|
||||||
struct mpoa_client *mpc;
|
struct mpoa_client *mpc;
|
||||||
uint32_t tag;
|
__be32 tag;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
|
|
||||||
ddprintk("mpoa: (%s) mpc_push:\n", dev->name);
|
ddprintk("mpoa: (%s) mpc_push:\n", dev->name);
|
||||||
|
@ -683,7 +683,7 @@ static void mpc_push(struct atm_vcc *vcc, struct sk_buff *skb)
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp = skb->data + sizeof(struct llc_snap_hdr);
|
tmp = skb->data + sizeof(struct llc_snap_hdr);
|
||||||
tag = *(uint32_t *)tmp;
|
tag = *(__be32 *)tmp;
|
||||||
|
|
||||||
eg = mpc->eg_ops->get_by_tag(tag, mpc);
|
eg = mpc->eg_ops->get_by_tag(tag, mpc);
|
||||||
if (eg == NULL) {
|
if (eg == NULL) {
|
||||||
|
@ -1029,7 +1029,7 @@ static int mpoa_event_listener(struct notifier_block *mpoa_notifier, unsigned lo
|
||||||
|
|
||||||
static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
uint32_t dst_ip = msg->content.in_info.in_dst_ip;
|
__be32 dst_ip = msg->content.in_info.in_dst_ip;
|
||||||
in_cache_entry *entry;
|
in_cache_entry *entry;
|
||||||
|
|
||||||
entry = mpc->in_ops->get(dst_ip, mpc);
|
entry = mpc->in_ops->get(dst_ip, mpc);
|
||||||
|
@ -1066,7 +1066,7 @@ static void MPOA_trigger_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
*/
|
*/
|
||||||
static void check_qos_and_open_shortcut(struct k_message *msg, struct mpoa_client *client, in_cache_entry *entry)
|
static void check_qos_and_open_shortcut(struct k_message *msg, struct mpoa_client *client, in_cache_entry *entry)
|
||||||
{
|
{
|
||||||
uint32_t dst_ip = msg->content.in_info.in_dst_ip;
|
__be32 dst_ip = msg->content.in_info.in_dst_ip;
|
||||||
struct atm_mpoa_qos *qos = atm_mpoa_search_qos(dst_ip);
|
struct atm_mpoa_qos *qos = atm_mpoa_search_qos(dst_ip);
|
||||||
eg_cache_entry *eg_entry = client->eg_ops->get_by_src_ip(dst_ip, client);
|
eg_cache_entry *eg_entry = client->eg_ops->get_by_src_ip(dst_ip, client);
|
||||||
|
|
||||||
|
@ -1102,7 +1102,7 @@ static void check_qos_and_open_shortcut(struct k_message *msg, struct mpoa_clien
|
||||||
|
|
||||||
static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
uint32_t dst_ip = msg->content.in_info.in_dst_ip;
|
__be32 dst_ip = msg->content.in_info.in_dst_ip;
|
||||||
in_cache_entry *entry = mpc->in_ops->get(dst_ip, mpc);
|
in_cache_entry *entry = mpc->in_ops->get(dst_ip, mpc);
|
||||||
|
|
||||||
dprintk("mpoa: (%s) MPOA_res_reply_rcvd: ip %u.%u.%u.%u\n", mpc->dev->name, NIPQUAD(dst_ip));
|
dprintk("mpoa: (%s) MPOA_res_reply_rcvd: ip %u.%u.%u.%u\n", mpc->dev->name, NIPQUAD(dst_ip));
|
||||||
|
@ -1148,8 +1148,8 @@ static void MPOA_res_reply_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
|
|
||||||
static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
uint32_t dst_ip = msg->content.in_info.in_dst_ip;
|
__be32 dst_ip = msg->content.in_info.in_dst_ip;
|
||||||
uint32_t mask = msg->ip_mask;
|
__be32 mask = msg->ip_mask;
|
||||||
in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask);
|
in_cache_entry *entry = mpc->in_ops->get_with_mask(dst_ip, mpc, mask);
|
||||||
|
|
||||||
if(entry == NULL){
|
if(entry == NULL){
|
||||||
|
@ -1173,7 +1173,7 @@ static void ingress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
|
|
||||||
static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
static void egress_purge_rcvd(struct k_message *msg, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
uint32_t cache_id = msg->content.eg_info.cache_id;
|
__be32 cache_id = msg->content.eg_info.cache_id;
|
||||||
eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(cache_id, mpc);
|
eg_cache_entry *entry = mpc->eg_ops->get_by_cache_id(cache_id, mpc);
|
||||||
|
|
||||||
if (entry == NULL) {
|
if (entry == NULL) {
|
||||||
|
|
|
@ -36,14 +36,14 @@ struct mpoa_client {
|
||||||
|
|
||||||
struct atm_mpoa_qos {
|
struct atm_mpoa_qos {
|
||||||
struct atm_mpoa_qos *next;
|
struct atm_mpoa_qos *next;
|
||||||
uint32_t ipaddr;
|
__be32 ipaddr;
|
||||||
struct atm_qos qos;
|
struct atm_qos qos;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* MPOA QoS operations */
|
/* MPOA QoS operations */
|
||||||
struct atm_mpoa_qos *atm_mpoa_add_qos(uint32_t dst_ip, struct atm_qos *qos);
|
struct atm_mpoa_qos *atm_mpoa_add_qos(__be32 dst_ip, struct atm_qos *qos);
|
||||||
struct atm_mpoa_qos *atm_mpoa_search_qos(uint32_t dst_ip);
|
struct atm_mpoa_qos *atm_mpoa_search_qos(__be32 dst_ip);
|
||||||
int atm_mpoa_delete_qos(struct atm_mpoa_qos *qos);
|
int atm_mpoa_delete_qos(struct atm_mpoa_qos *qos);
|
||||||
|
|
||||||
/* Display QoS entries. This is for the procfs */
|
/* Display QoS entries. This is for the procfs */
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#define ddprintk(format,args...)
|
#define ddprintk(format,args...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static in_cache_entry *in_cache_get(uint32_t dst_ip,
|
static in_cache_entry *in_cache_get(__be32 dst_ip,
|
||||||
struct mpoa_client *client)
|
struct mpoa_client *client)
|
||||||
{
|
{
|
||||||
in_cache_entry *entry;
|
in_cache_entry *entry;
|
||||||
|
@ -42,9 +42,9 @@ static in_cache_entry *in_cache_get(uint32_t dst_ip,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static in_cache_entry *in_cache_get_with_mask(uint32_t dst_ip,
|
static in_cache_entry *in_cache_get_with_mask(__be32 dst_ip,
|
||||||
struct mpoa_client *client,
|
struct mpoa_client *client,
|
||||||
uint32_t mask)
|
__be32 mask)
|
||||||
{
|
{
|
||||||
in_cache_entry *entry;
|
in_cache_entry *entry;
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ static in_cache_entry *in_cache_get_by_vcc(struct atm_vcc *vcc,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static in_cache_entry *in_cache_add_entry(uint32_t dst_ip,
|
static in_cache_entry *in_cache_add_entry(__be32 dst_ip,
|
||||||
struct mpoa_client *client)
|
struct mpoa_client *client)
|
||||||
{
|
{
|
||||||
in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL);
|
in_cache_entry* entry = kmalloc(sizeof(in_cache_entry), GFP_KERNEL);
|
||||||
|
@ -319,7 +319,7 @@ static void in_destroy_cache(struct mpoa_client *mpc)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static eg_cache_entry *eg_cache_get_by_cache_id(uint32_t cache_id, struct mpoa_client *mpc)
|
static eg_cache_entry *eg_cache_get_by_cache_id(__be32 cache_id, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
eg_cache_entry *entry;
|
eg_cache_entry *entry;
|
||||||
|
|
||||||
|
@ -339,7 +339,7 @@ static eg_cache_entry *eg_cache_get_by_cache_id(uint32_t cache_id, struct mpoa_c
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This can be called from any context since it saves CPU flags */
|
/* This can be called from any context since it saves CPU flags */
|
||||||
static eg_cache_entry *eg_cache_get_by_tag(uint32_t tag, struct mpoa_client *mpc)
|
static eg_cache_entry *eg_cache_get_by_tag(__be32 tag, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
eg_cache_entry *entry;
|
eg_cache_entry *entry;
|
||||||
|
@ -380,7 +380,7 @@ static eg_cache_entry *eg_cache_get_by_vcc(struct atm_vcc *vcc, struct mpoa_clie
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static eg_cache_entry *eg_cache_get_by_src_ip(uint32_t ipaddr, struct mpoa_client *mpc)
|
static eg_cache_entry *eg_cache_get_by_src_ip(__be32 ipaddr, struct mpoa_client *mpc)
|
||||||
{
|
{
|
||||||
eg_cache_entry *entry;
|
eg_cache_entry *entry;
|
||||||
|
|
||||||
|
|
|
@ -29,12 +29,12 @@ typedef struct in_cache_entry {
|
||||||
} in_cache_entry;
|
} in_cache_entry;
|
||||||
|
|
||||||
struct in_cache_ops{
|
struct in_cache_ops{
|
||||||
in_cache_entry *(*add_entry)(uint32_t dst_ip,
|
in_cache_entry *(*add_entry)(__be32 dst_ip,
|
||||||
struct mpoa_client *client);
|
struct mpoa_client *client);
|
||||||
in_cache_entry *(*get)(uint32_t dst_ip, struct mpoa_client *client);
|
in_cache_entry *(*get)(__be32 dst_ip, struct mpoa_client *client);
|
||||||
in_cache_entry *(*get_with_mask)(uint32_t dst_ip,
|
in_cache_entry *(*get_with_mask)(__be32 dst_ip,
|
||||||
struct mpoa_client *client,
|
struct mpoa_client *client,
|
||||||
uint32_t mask);
|
__be32 mask);
|
||||||
in_cache_entry *(*get_by_vcc)(struct atm_vcc *vcc,
|
in_cache_entry *(*get_by_vcc)(struct atm_vcc *vcc,
|
||||||
struct mpoa_client *client);
|
struct mpoa_client *client);
|
||||||
void (*put)(in_cache_entry *entry);
|
void (*put)(in_cache_entry *entry);
|
||||||
|
@ -56,17 +56,17 @@ typedef struct eg_cache_entry{
|
||||||
struct atm_vcc *shortcut;
|
struct atm_vcc *shortcut;
|
||||||
uint32_t packets_rcvd;
|
uint32_t packets_rcvd;
|
||||||
uint16_t entry_state;
|
uint16_t entry_state;
|
||||||
uint32_t latest_ip_addr; /* The src IP address of the last packet */
|
__be32 latest_ip_addr; /* The src IP address of the last packet */
|
||||||
struct eg_ctrl_info ctrl_info;
|
struct eg_ctrl_info ctrl_info;
|
||||||
atomic_t use;
|
atomic_t use;
|
||||||
} eg_cache_entry;
|
} eg_cache_entry;
|
||||||
|
|
||||||
struct eg_cache_ops{
|
struct eg_cache_ops{
|
||||||
eg_cache_entry *(*add_entry)(struct k_message *msg, struct mpoa_client *client);
|
eg_cache_entry *(*add_entry)(struct k_message *msg, struct mpoa_client *client);
|
||||||
eg_cache_entry *(*get_by_cache_id)(uint32_t cache_id, struct mpoa_client *client);
|
eg_cache_entry *(*get_by_cache_id)(__be32 cache_id, struct mpoa_client *client);
|
||||||
eg_cache_entry *(*get_by_tag)(uint32_t cache_id, struct mpoa_client *client);
|
eg_cache_entry *(*get_by_tag)(__be32 cache_id, struct mpoa_client *client);
|
||||||
eg_cache_entry *(*get_by_vcc)(struct atm_vcc *vcc, struct mpoa_client *client);
|
eg_cache_entry *(*get_by_vcc)(struct atm_vcc *vcc, struct mpoa_client *client);
|
||||||
eg_cache_entry *(*get_by_src_ip)(uint32_t ipaddr, struct mpoa_client *client);
|
eg_cache_entry *(*get_by_src_ip)(__be32 ipaddr, struct mpoa_client *client);
|
||||||
void (*put)(eg_cache_entry *entry);
|
void (*put)(eg_cache_entry *entry);
|
||||||
void (*remove_entry)(eg_cache_entry *entry, struct mpoa_client *client);
|
void (*remove_entry)(eg_cache_entry *entry, struct mpoa_client *client);
|
||||||
void (*update)(eg_cache_entry *entry, uint16_t holding_time);
|
void (*update)(eg_cache_entry *entry, uint16_t holding_time);
|
||||||
|
|
|
@ -231,14 +231,14 @@ static int parse_qos(const char *buff)
|
||||||
*/
|
*/
|
||||||
unsigned char ip[4];
|
unsigned char ip[4];
|
||||||
int tx_pcr, tx_sdu, rx_pcr, rx_sdu;
|
int tx_pcr, tx_sdu, rx_pcr, rx_sdu;
|
||||||
uint32_t ipaddr;
|
__be32 ipaddr;
|
||||||
struct atm_qos qos;
|
struct atm_qos qos;
|
||||||
|
|
||||||
memset(&qos, 0, sizeof(struct atm_qos));
|
memset(&qos, 0, sizeof(struct atm_qos));
|
||||||
|
|
||||||
if (sscanf(buff, "del %hhu.%hhu.%hhu.%hhu",
|
if (sscanf(buff, "del %hhu.%hhu.%hhu.%hhu",
|
||||||
ip, ip+1, ip+2, ip+3) == 4) {
|
ip, ip+1, ip+2, ip+3) == 4) {
|
||||||
ipaddr = *(uint32_t *)ip;
|
ipaddr = *(__be32 *)ip;
|
||||||
return atm_mpoa_delete_qos(atm_mpoa_search_qos(ipaddr));
|
return atm_mpoa_delete_qos(atm_mpoa_search_qos(ipaddr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +250,7 @@ static int parse_qos(const char *buff)
|
||||||
ip, ip+1, ip+2, ip+3, &tx_pcr, &tx_sdu, &rx_pcr, &rx_sdu) != 8)
|
ip, ip+1, ip+2, ip+3, &tx_pcr, &tx_sdu, &rx_pcr, &rx_sdu) != 8)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
ipaddr = *(uint32_t *)ip;
|
ipaddr = *(__be32 *)ip;
|
||||||
qos.txtp.traffic_class = ATM_CBR;
|
qos.txtp.traffic_class = ATM_CBR;
|
||||||
qos.txtp.max_pcr = tx_pcr;
|
qos.txtp.max_pcr = tx_pcr;
|
||||||
qos.txtp.max_sdu = tx_sdu;
|
qos.txtp.max_sdu = tx_sdu;
|
||||||
|
|
Loading…
Reference in a new issue