summaryrefslogtreecommitdiff
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2013-06-17 14:16:40 -0700
committerStephen Hemminger <stephen@networkplumber.org>2013-06-24 08:40:33 -0700
commitbb3fd6878a983f36c994bfbd71b01b2625ddf52b (patch)
treef0ed21922f20661a9ad206c17b0b65433fd23b25 /drivers/net/vxlan.c
parent9daaa397b3e18282715eeb0d7be79ea5bbadc119 (diff)
downloadlwn-bb3fd6878a983f36c994bfbd71b01b2625ddf52b.tar.gz
lwn-bb3fd6878a983f36c994bfbd71b01b2625ddf52b.zip
vxlan: Use initializer for dummy structures
For the notification code, a couple of places build fdb entries on the stack, use structure initialization instead and fix formatting. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r--drivers/net/vxlan.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index f89a58bb3f26..d2b9ab79c9ae 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -311,14 +311,13 @@ errout:
static void vxlan_ip_miss(struct net_device *dev, __be32 ipa)
{
struct vxlan_dev *vxlan = netdev_priv(dev);
- struct vxlan_fdb f;
- struct vxlan_rdst remote;
-
- memset(&f, 0, sizeof f);
- f.state = NUD_STALE;
-
- remote.remote_ip = ipa; /* goes to NDA_DST */
- remote.remote_vni = VXLAN_N_VID;
+ struct vxlan_fdb f = {
+ .state = NUD_STALE,
+ };
+ struct vxlan_rdst remote = {
+ .remote_ip = ipa, /* goes to NDA_DST */
+ .remote_vni = VXLAN_N_VID,
+ };
INIT_LIST_HEAD(&f.remotes);
list_add_rcu(&remote.list, &f.remotes);
@@ -328,11 +327,11 @@ static void vxlan_ip_miss(struct net_device *dev, __be32 ipa)
static void vxlan_fdb_miss(struct vxlan_dev *vxlan, const u8 eth_addr[ETH_ALEN])
{
- struct vxlan_fdb f;
+ struct vxlan_fdb f = {
+ .state = NUD_STALE,
+ };
- memset(&f, 0, sizeof f);
INIT_LIST_HEAD(&f.remotes);
- f.state = NUD_STALE;
memcpy(f.eth_addr, eth_addr, ETH_ALEN);
vxlan_fdb_notify(vxlan, &f, RTM_GETNEIGH);
@@ -1485,6 +1484,7 @@ static struct vxlan_sock *vxlan_socket_create(struct net *net, __be16 port)
struct sockaddr_in vxlan_addr = {
.sin_family = AF_INET,
.sin_addr.s_addr = htonl(INADDR_ANY),
+ .sin_port = port,
};
int rc;
unsigned int h;
@@ -1510,8 +1510,6 @@ static struct vxlan_sock *vxlan_socket_create(struct net *net, __be16 port)
sk = vs->sock->sk;
sk_change_net(sk, net);
- vxlan_addr.sin_port = port;
-
rc = kernel_bind(vs->sock, (struct sockaddr *) &vxlan_addr,
sizeof(vxlan_addr));
if (rc < 0) {