Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
c6b6eedc
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c6b6eedc
编写于
8月 23, 2012
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
上级
ea2d2183
27f01124
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
22 deletion
+16
-22
net/mac80211/tx.c
net/mac80211/tx.c
+16
-22
未找到文件。
net/mac80211/tx.c
浏览文件 @
c6b6eedc
...
@@ -1811,37 +1811,31 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
...
@@ -1811,37 +1811,31 @@ netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
meshhdrlen
=
ieee80211_new_mesh_header
(
&
mesh_hdr
,
meshhdrlen
=
ieee80211_new_mesh_header
(
&
mesh_hdr
,
sdata
,
NULL
,
NULL
);
sdata
,
NULL
,
NULL
);
}
else
{
}
else
{
int
is_mesh_mcast
=
1
;
/* DS -> MBSS (802.11-2012 13.11.3.3).
const
u8
*
mesh_da
;
* For unicast with unknown forwarding information,
* destination might be in the MBSS or if that fails
* forwarded to another mesh gate. In either case
* resolution will be handled in ieee80211_xmit(), so
* leave the original DA. This also works for mcast */
const
u8
*
mesh_da
=
skb
->
data
;
if
(
mppath
)
mesh_da
=
mppath
->
mpp
;
else
if
(
mpath
)
mesh_da
=
mpath
->
dst
;
rcu_read_unlock
();
if
(
is_multicast_ether_addr
(
skb
->
data
))
/* DA TA mSA AE:SA */
mesh_da
=
skb
->
data
;
else
{
static
const
u8
bcast
[
ETH_ALEN
]
=
{
0xff
,
0xff
,
0xff
,
0xff
,
0xff
,
0xff
};
if
(
mppath
)
{
/* RA TA mDA mSA AE:DA SA */
mesh_da
=
mppath
->
mpp
;
is_mesh_mcast
=
0
;
}
else
if
(
mpath
)
{
mesh_da
=
mpath
->
dst
;
is_mesh_mcast
=
0
;
}
else
{
/* DA TA mSA AE:SA */
mesh_da
=
bcast
;
}
}
hdrlen
=
ieee80211_fill_mesh_addresses
(
&
hdr
,
&
fc
,
hdrlen
=
ieee80211_fill_mesh_addresses
(
&
hdr
,
&
fc
,
mesh_da
,
sdata
->
vif
.
addr
);
mesh_da
,
sdata
->
vif
.
addr
);
rcu_read_unlock
();
if
(
is_multicast_ether_addr
(
mesh_da
))
if
(
is_mesh_mcast
)
/* DA TA mSA AE:SA */
meshhdrlen
=
meshhdrlen
=
ieee80211_new_mesh_header
(
&
mesh_hdr
,
ieee80211_new_mesh_header
(
&
mesh_hdr
,
sdata
,
sdata
,
skb
->
data
+
ETH_ALEN
,
skb
->
data
+
ETH_ALEN
,
NULL
);
NULL
);
else
else
/* RA TA mDA mSA AE:DA SA */
meshhdrlen
=
meshhdrlen
=
ieee80211_new_mesh_header
(
&
mesh_hdr
,
ieee80211_new_mesh_header
(
&
mesh_hdr
,
sdata
,
sdata
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录