提交 2e302ebf 编写于 作者: C chas williams - CONTRACTOR 提交者: David S. Miller

atm: [br2684] allow routed mode operation again

in routed mode, we don't have a hardware address so netdev_ops doesnt
need to validate our hardware address via .ndo_validate_addr
Reported-by: NManuel Fuentes <mfuentes@agenciaefe.com>
Signed-off-by: NChas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 504bb3b5
...@@ -554,6 +554,12 @@ static const struct net_device_ops br2684_netdev_ops = { ...@@ -554,6 +554,12 @@ static const struct net_device_ops br2684_netdev_ops = {
.ndo_validate_addr = eth_validate_addr, .ndo_validate_addr = eth_validate_addr,
}; };
static const struct net_device_ops br2684_netdev_ops_routed = {
.ndo_start_xmit = br2684_start_xmit,
.ndo_set_mac_address = br2684_mac_addr,
.ndo_change_mtu = eth_change_mtu
};
static void br2684_setup(struct net_device *netdev) static void br2684_setup(struct net_device *netdev)
{ {
struct br2684_dev *brdev = BRPRIV(netdev); struct br2684_dev *brdev = BRPRIV(netdev);
...@@ -569,11 +575,10 @@ static void br2684_setup(struct net_device *netdev) ...@@ -569,11 +575,10 @@ static void br2684_setup(struct net_device *netdev)
static void br2684_setup_routed(struct net_device *netdev) static void br2684_setup_routed(struct net_device *netdev)
{ {
struct br2684_dev *brdev = BRPRIV(netdev); struct br2684_dev *brdev = BRPRIV(netdev);
brdev->net_dev = netdev;
brdev->net_dev = netdev;
netdev->hard_header_len = 0; netdev->hard_header_len = 0;
netdev->netdev_ops = &br2684_netdev_ops_routed;
netdev->netdev_ops = &br2684_netdev_ops;
netdev->addr_len = 0; netdev->addr_len = 0;
netdev->mtu = 1500; netdev->mtu = 1500;
netdev->type = ARPHRD_PPP; netdev->type = ARPHRD_PPP;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册