Lines Matching +full:ns +full:-

1 // SPDX-License-Identifier: GPL-2.0-only
15 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnel_set_port() local
18 ret = -ns->udp_ports.inject_error; in nsim_udp_tunnel_set_port()
19 ns->udp_ports.inject_error = 0; in nsim_udp_tunnel_set_port()
22 if (ns->udp_ports.ports[table][entry]) { in nsim_udp_tunnel_set_port()
24 ret = -EBUSY; in nsim_udp_tunnel_set_port()
26 ns->udp_ports.ports[table][entry] = in nsim_udp_tunnel_set_port()
27 be16_to_cpu(ti->port) << 16 | ti->type; in nsim_udp_tunnel_set_port()
31 netdev_info(dev, "set [%d, %d] type %d family %d port %d - %d\n", in nsim_udp_tunnel_set_port()
32 table, entry, ti->type, ti->sa_family, ntohs(ti->port), in nsim_udp_tunnel_set_port()
41 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnel_unset_port() local
44 ret = -ns->udp_ports.inject_error; in nsim_udp_tunnel_unset_port()
45 ns->udp_ports.inject_error = 0; in nsim_udp_tunnel_unset_port()
48 u32 val = be16_to_cpu(ti->port) << 16 | ti->type; in nsim_udp_tunnel_unset_port()
50 if (val == ns->udp_ports.ports[table][entry]) { in nsim_udp_tunnel_unset_port()
51 ns->udp_ports.ports[table][entry] = 0; in nsim_udp_tunnel_unset_port()
54 val, ns->udp_ports.ports[table][entry]); in nsim_udp_tunnel_unset_port()
55 ret = -ENOENT; in nsim_udp_tunnel_unset_port()
59 netdev_info(dev, "unset [%d, %d] type %d family %d port %d - %d\n", in nsim_udp_tunnel_unset_port()
60 table, entry, ti->type, ti->sa_family, ntohs(ti->port), in nsim_udp_tunnel_unset_port()
68 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnel_sync_table() local
73 ret = -ns->udp_ports.inject_error; in nsim_udp_tunnel_sync_table()
74 ns->udp_ports.inject_error = 0; in nsim_udp_tunnel_sync_table()
78 ns->udp_ports.ports[table][i] = in nsim_udp_tunnel_sync_table()
107 struct net_device *dev = file->private_data; in nsim_udp_tunnels_info_reset_write()
108 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnels_info_reset_write() local
110 if (dev->reg_state == NETREG_REGISTERED) { in nsim_udp_tunnels_info_reset_write()
111 memset(ns->udp_ports.ports, 0, sizeof(ns->udp_ports.__ports)); in nsim_udp_tunnels_info_reset_write()
128 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnels_info_create() local
131 if (nsim_dev->udp_ports.shared && nsim_dev->udp_ports.open_only) { in nsim_udp_tunnels_info_create()
132 dev_err(&nsim_dev->nsim_bus_dev->dev, in nsim_udp_tunnels_info_create()
134 return -EINVAL; in nsim_udp_tunnels_info_create()
137 if (!nsim_dev->udp_ports.shared) in nsim_udp_tunnels_info_create()
138 ns->udp_ports.ports = ns->udp_ports.__ports; in nsim_udp_tunnels_info_create()
140 ns->udp_ports.ports = nsim_dev->udp_ports.__ports; in nsim_udp_tunnels_info_create()
142 ns->udp_ports.ddir = debugfs_create_dir("udp_ports", in nsim_udp_tunnels_info_create()
143 ns->nsim_dev_port->ddir); in nsim_udp_tunnels_info_create()
145 debugfs_create_u32("inject_error", 0600, ns->udp_ports.ddir, in nsim_udp_tunnels_info_create()
146 &ns->udp_ports.inject_error); in nsim_udp_tunnels_info_create()
148 ns->udp_ports.dfs_ports[0].array = ns->udp_ports.ports[0]; in nsim_udp_tunnels_info_create()
149 ns->udp_ports.dfs_ports[0].n_elements = NSIM_UDP_TUNNEL_N_PORTS; in nsim_udp_tunnels_info_create()
150 debugfs_create_u32_array("table0", 0400, ns->udp_ports.ddir, in nsim_udp_tunnels_info_create()
151 &ns->udp_ports.dfs_ports[0]); in nsim_udp_tunnels_info_create()
153 ns->udp_ports.dfs_ports[1].array = ns->udp_ports.ports[1]; in nsim_udp_tunnels_info_create()
154 ns->udp_ports.dfs_ports[1].n_elements = NSIM_UDP_TUNNEL_N_PORTS; in nsim_udp_tunnels_info_create()
155 debugfs_create_u32_array("table1", 0400, ns->udp_ports.ddir, in nsim_udp_tunnels_info_create()
156 &ns->udp_ports.dfs_ports[1]); in nsim_udp_tunnels_info_create()
158 debugfs_create_file("reset", 0200, ns->udp_ports.ddir, in nsim_udp_tunnels_info_create()
167 return -ENOMEM; in nsim_udp_tunnels_info_create()
169 if (nsim_dev->udp_ports.sync_all) { in nsim_udp_tunnels_info_create()
170 info->set_port = NULL; in nsim_udp_tunnels_info_create()
171 info->unset_port = NULL; in nsim_udp_tunnels_info_create()
173 info->sync_table = NULL; in nsim_udp_tunnels_info_create()
176 if (nsim_dev->udp_ports.open_only) in nsim_udp_tunnels_info_create()
177 info->flags |= UDP_TUNNEL_NIC_INFO_OPEN_ONLY; in nsim_udp_tunnels_info_create()
178 if (nsim_dev->udp_ports.ipv4_only) in nsim_udp_tunnels_info_create()
179 info->flags |= UDP_TUNNEL_NIC_INFO_IPV4_ONLY; in nsim_udp_tunnels_info_create()
180 if (nsim_dev->udp_ports.shared) in nsim_udp_tunnels_info_create()
181 info->shared = &nsim_dev->udp_ports.utn_shared; in nsim_udp_tunnels_info_create()
182 if (nsim_dev->udp_ports.static_iana_vxlan) in nsim_udp_tunnels_info_create()
183 info->flags |= UDP_TUNNEL_NIC_INFO_STATIC_IANA_VXLAN; in nsim_udp_tunnels_info_create()
185 dev->udp_tunnel_nic_info = info; in nsim_udp_tunnels_info_create()
191 struct netdevsim *ns = netdev_priv(dev); in nsim_udp_tunnels_info_destroy() local
193 debugfs_remove_recursive(ns->udp_ports.ddir); in nsim_udp_tunnels_info_destroy()
194 kfree(dev->udp_tunnel_nic_info); in nsim_udp_tunnels_info_destroy()
195 dev->udp_tunnel_nic_info = NULL; in nsim_udp_tunnels_info_destroy()
200 debugfs_create_bool("udp_ports_sync_all", 0600, nsim_dev->ddir, in nsim_udp_tunnels_debugfs_create()
201 &nsim_dev->udp_ports.sync_all); in nsim_udp_tunnels_debugfs_create()
202 debugfs_create_bool("udp_ports_open_only", 0600, nsim_dev->ddir, in nsim_udp_tunnels_debugfs_create()
203 &nsim_dev->udp_ports.open_only); in nsim_udp_tunnels_debugfs_create()
204 debugfs_create_bool("udp_ports_ipv4_only", 0600, nsim_dev->ddir, in nsim_udp_tunnels_debugfs_create()
205 &nsim_dev->udp_ports.ipv4_only); in nsim_udp_tunnels_debugfs_create()
206 debugfs_create_bool("udp_ports_shared", 0600, nsim_dev->ddir, in nsim_udp_tunnels_debugfs_create()
207 &nsim_dev->udp_ports.shared); in nsim_udp_tunnels_debugfs_create()
208 debugfs_create_bool("udp_ports_static_iana_vxlan", 0600, nsim_dev->ddir, in nsim_udp_tunnels_debugfs_create()
209 &nsim_dev->udp_ports.static_iana_vxlan); in nsim_udp_tunnels_debugfs_create()