Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
6018e118
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6018e118
编写于
6月 09, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'batman-adv/next' of
git://git.open-mesh.org/ecsv/linux-merge
上级
075cd29e
ecbd5321
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
72 addition
and
47 deletion
+72
-47
net/batman-adv/aggregation.c
net/batman-adv/aggregation.c
+1
-1
net/batman-adv/bat_sysfs.c
net/batman-adv/bat_sysfs.c
+11
-3
net/batman-adv/gateway_client.c
net/batman-adv/gateway_client.c
+3
-3
net/batman-adv/gateway_common.c
net/batman-adv/gateway_common.c
+2
-2
net/batman-adv/hard-interface.c
net/batman-adv/hard-interface.c
+1
-1
net/batman-adv/hard-interface.h
net/batman-adv/hard-interface.h
+8
-6
net/batman-adv/main.h
net/batman-adv/main.h
+12
-7
net/batman-adv/packet.h
net/batman-adv/packet.h
+29
-18
net/batman-adv/routing.c
net/batman-adv/routing.c
+4
-5
net/batman-adv/send.c
net/batman-adv/send.c
+1
-1
未找到文件。
net/batman-adv/aggregation.c
浏览文件 @
6018e118
...
...
@@ -151,7 +151,7 @@ static void new_aggregated_packet(const unsigned char *packet_buff,
forw_packet_aggr
->
own
=
own_packet
;
forw_packet_aggr
->
if_incoming
=
if_incoming
;
forw_packet_aggr
->
num_packets
=
0
;
forw_packet_aggr
->
direct_link_flags
=
0
;
forw_packet_aggr
->
direct_link_flags
=
NO_FLAGS
;
forw_packet_aggr
->
send_time
=
send_time
;
/* save packet direct link flag status */
...
...
net/batman-adv/bat_sysfs.c
浏览文件 @
6018e118
...
...
@@ -28,9 +28,17 @@
#include "gateway_client.h"
#include "vis.h"
#define to_dev(obj) container_of(obj, struct device, kobj)
#define kobj_to_netdev(obj) to_net_dev(to_dev(obj->parent))
#define kobj_to_batpriv(obj) netdev_priv(kobj_to_netdev(obj))
static
struct
net_device
*
kobj_to_netdev
(
struct
kobject
*
obj
)
{
struct
device
*
dev
=
container_of
(
obj
->
parent
,
struct
device
,
kobj
);
return
to_net_dev
(
dev
);
}
static
struct
bat_priv
*
kobj_to_batpriv
(
struct
kobject
*
obj
)
{
struct
net_device
*
net_dev
=
kobj_to_netdev
(
obj
);
return
netdev_priv
(
net_dev
);
}
/* Use this, if you have customized show and store functions */
#define BAT_ATTR(_name, _mode, _show, _store) \
...
...
net/batman-adv/gateway_client.c
浏览文件 @
6018e118
...
...
@@ -322,7 +322,7 @@ void gw_node_update(struct bat_priv *bat_priv,
gw_node
->
deleted
=
0
;
if
(
new_gwflags
==
0
)
{
if
(
new_gwflags
==
NO_FLAGS
)
{
gw_node
->
deleted
=
jiffies
;
bat_dbg
(
DBG_BATMAN
,
bat_priv
,
"Gateway %pM removed from gateway list
\n
"
,
...
...
@@ -335,7 +335,7 @@ void gw_node_update(struct bat_priv *bat_priv,
goto
unlock
;
}
if
(
new_gwflags
==
0
)
if
(
new_gwflags
==
NO_FLAGS
)
goto
unlock
;
gw_node_add
(
bat_priv
,
orig_node
,
new_gwflags
);
...
...
@@ -352,7 +352,7 @@ void gw_node_update(struct bat_priv *bat_priv,
void
gw_node_delete
(
struct
bat_priv
*
bat_priv
,
struct
orig_node
*
orig_node
)
{
return
gw_node_update
(
bat_priv
,
orig_node
,
0
);
gw_node_update
(
bat_priv
,
orig_node
,
0
);
}
void
gw_node_purge
(
struct
bat_priv
*
bat_priv
)
...
...
net/batman-adv/gateway_common.c
浏览文件 @
6018e118
...
...
@@ -97,7 +97,7 @@ static bool parse_gw_bandwidth(struct net_device *net_dev, char *buff,
*
tmp_ptr
=
'\0'
;
}
ret
=
strict_strto
u
l
(
buff
,
10
,
&
ldown
);
ret
=
strict_strtol
(
buff
,
10
,
&
ldown
);
if
(
ret
)
{
bat_err
(
net_dev
,
"Download speed of gateway mode invalid: %s
\n
"
,
...
...
@@ -122,7 +122,7 @@ static bool parse_gw_bandwidth(struct net_device *net_dev, char *buff,
*
tmp_ptr
=
'\0'
;
}
ret
=
strict_strto
u
l
(
slash_ptr
+
1
,
10
,
&
lup
);
ret
=
strict_strtol
(
slash_ptr
+
1
,
10
,
&
lup
);
if
(
ret
)
{
bat_err
(
net_dev
,
"Upload speed of gateway mode invalid: "
...
...
net/batman-adv/hard-interface.c
浏览文件 @
6018e118
...
...
@@ -337,7 +337,7 @@ int hardif_enable_interface(struct hard_iface *hard_iface,
batman_packet
=
(
struct
batman_packet
*
)(
hard_iface
->
packet_buff
);
batman_packet
->
packet_type
=
BAT_PACKET
;
batman_packet
->
version
=
COMPAT_VERSION
;
batman_packet
->
flags
=
0
;
batman_packet
->
flags
=
NO_FLAGS
;
batman_packet
->
ttl
=
2
;
batman_packet
->
tq
=
TQ_MAX_VALUE
;
batman_packet
->
num_tt
=
0
;
...
...
net/batman-adv/hard-interface.h
浏览文件 @
6018e118
...
...
@@ -22,12 +22,14 @@
#ifndef _NET_BATMAN_ADV_HARD_INTERFACE_H_
#define _NET_BATMAN_ADV_HARD_INTERFACE_H_
#define IF_NOT_IN_USE 0
#define IF_TO_BE_REMOVED 1
#define IF_INACTIVE 2
#define IF_ACTIVE 3
#define IF_TO_BE_ACTIVATED 4
#define IF_I_WANT_YOU 5
enum
hard_if_state
{
IF_NOT_IN_USE
,
IF_TO_BE_REMOVED
,
IF_INACTIVE
,
IF_ACTIVE
,
IF_TO_BE_ACTIVATED
,
IF_I_WANT_YOU
};
extern
struct
notifier_block
hard_if_notifier
;
...
...
net/batman-adv/main.h
浏览文件 @
6018e118
...
...
@@ -51,6 +51,8 @@
#define TQ_LOCAL_BIDRECT_RECV_MINIMUM 1
#define TQ_TOTAL_BIDRECT_LIMIT 1
#define NO_FLAGS 0
#define NUM_WORDS (TQ_LOCAL_WINDOW_SIZE / WORD_BIT_SIZE)
#define LOG_BUF_LEN 8192
/* has to be a power of 2 */
...
...
@@ -72,9 +74,11 @@
#define RESET_PROTECTION_MS 30000
#define EXPECTED_SEQNO_RANGE 65536
#define MESH_INACTIVE 0
#define MESH_ACTIVE 1
#define MESH_DEACTIVATING 2
enum
mesh_state
{
MESH_INACTIVE
,
MESH_ACTIVE
,
MESH_DEACTIVATING
};
#define BCAST_QUEUE_LEN 256
#define BATMAN_QUEUE_LEN 256
...
...
@@ -89,10 +93,11 @@
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
/* all messages related to routing / flooding / broadcasting / etc */
#define DBG_BATMAN 1
/* route or tt entry added / changed / deleted */
#define DBG_ROUTES 2
#define DBG_ALL 3
enum
dbg_level
{
DBG_BATMAN
=
1
<<
0
,
DBG_ROUTES
=
1
<<
1
,
/* route added / changed / deleted */
DBG_ALL
=
3
};
/*
...
...
net/batman-adv/packet.h
浏览文件 @
6018e118
...
...
@@ -24,33 +24,44 @@
#define ETH_P_BATMAN 0x4305
/* unofficial/not registered Ethertype */
#define BAT_PACKET 0x01
#define BAT_ICMP 0x02
#define BAT_UNICAST 0x03
#define BAT_BCAST 0x04
#define BAT_VIS 0x05
#define BAT_UNICAST_FRAG 0x06
enum
bat_packettype
{
BAT_PACKET
=
0x01
,
BAT_ICMP
=
0x02
,
BAT_UNICAST
=
0x03
,
BAT_BCAST
=
0x04
,
BAT_VIS
=
0x05
,
BAT_UNICAST_FRAG
=
0x06
};
/* this file is included by batctl which needs these defines */
#define COMPAT_VERSION 12
#define DIRECTLINK 0x40
#define VIS_SERVER 0x20
#define PRIMARIES_FIRST_HOP 0x10
enum
batman_flags
{
PRIMARIES_FIRST_HOP
=
1
<<
4
,
VIS_SERVER
=
1
<<
5
,
DIRECTLINK
=
1
<<
6
};
/* ICMP message types */
#define ECHO_REPLY 0
#define DESTINATION_UNREACHABLE 3
#define ECHO_REQUEST 8
#define TTL_EXCEEDED 11
#define PARAMETER_PROBLEM 12
enum
icmp_packettype
{
ECHO_REPLY
=
0
,
DESTINATION_UNREACHABLE
=
3
,
ECHO_REQUEST
=
8
,
TTL_EXCEEDED
=
11
,
PARAMETER_PROBLEM
=
12
};
/* vis defines */
#define VIS_TYPE_SERVER_SYNC 0
#define VIS_TYPE_CLIENT_UPDATE 1
enum
vis_packettype
{
VIS_TYPE_SERVER_SYNC
=
0
,
VIS_TYPE_CLIENT_UPDATE
=
1
};
/* fragmentation defines */
#define UNI_FRAG_HEAD 0x01
#define UNI_FRAG_LARGETAIL 0x02
enum
unicast_frag_flags
{
UNI_FRAG_HEAD
=
1
<<
0
,
UNI_FRAG_LARGETAIL
=
1
<<
1
};
struct
batman_packet
{
uint8_t
packet_type
;
...
...
net/batman-adv/routing.c
浏览文件 @
6018e118
...
...
@@ -698,17 +698,16 @@ void receive_bat_packet(const struct ethhdr *ethhdr,
/* neighbor has to indicate direct link and it has to
* come via the corresponding interface */
/* if received seqno equals last send seqno save new
* seqno for bidirectional check */
/* save packet seqno for bidirectional check */
if
(
has_directlink_flag
&&
compare_eth
(
if_incoming
->
net_dev
->
dev_addr
,
batman_packet
->
orig
)
&&
(
batman_packet
->
seqno
-
if_incoming_seqno
+
2
==
0
))
{
batman_packet
->
orig
))
{
offset
=
if_incoming
->
if_num
*
NUM_WORDS
;
spin_lock_bh
(
&
orig_neigh_node
->
ogm_cnt_lock
);
word
=
&
(
orig_neigh_node
->
bcast_own
[
offset
]);
bit_mark
(
word
,
0
);
bit_mark
(
word
,
if_incoming_seqno
-
batman_packet
->
seqno
-
2
);
orig_neigh_node
->
bcast_own_sum
[
if_incoming
->
if_num
]
=
bit_packet_count
(
word
);
spin_unlock_bh
(
&
orig_neigh_node
->
ogm_cnt_lock
);
...
...
net/batman-adv/send.c
浏览文件 @
6018e118
...
...
@@ -289,7 +289,7 @@ void schedule_own_packet(struct hard_iface *hard_iface)
batman_packet
->
gw_flags
=
(
uint8_t
)
atomic_read
(
&
bat_priv
->
gw_bandwidth
);
else
batman_packet
->
gw_flags
=
0
;
batman_packet
->
gw_flags
=
NO_FLAGS
;
atomic_inc
(
&
hard_iface
->
seqno
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录