summaryrefslogtreecommitdiff
path: root/protos.h
blob: 201439a29c5b1ebf4f91afd3b47d428ecda6fe2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef PROTOS_H
#define PROTOS_H

struct protocol;

extern struct protocol arp_ops;
extern struct protocol ethernet_ops;
extern struct protocol icmpv4_ops;
extern struct protocol icmpv6_ops;
extern struct protocol igmp_ops;
extern struct protocol ip_auth_ops;
extern struct protocol ip_esp_ops;
extern struct protocol ipv4_ops;
extern struct protocol ipv6_ops;
extern struct protocol ipv6_dest_opts_ops;
extern struct protocol ipv6_fragm_ops;
extern struct protocol ipv6_hop_by_hop_ops;
extern struct protocol ipv6_in_ipv4_ops;
extern struct protocol ipv6_mobility_ops;
extern struct protocol ipv6_no_next_header_ops;
extern struct protocol ipv6_routing_ops;
extern struct protocol lldp_ops;
extern struct protocol none_ops;
extern struct protocol tcp_ops;
extern struct protocol udp_ops;
extern struct protocol vlan_ops;
extern struct protocol ieee80211_ops;
extern struct protocol QinQ_ops;
extern struct protocol mpls_uc_ops;
extern struct protocol nlmsg_ops;

#endif /* PROTOS_H */
642ac18ecb607d2b074d0253 /drivers parentad178c8eefdd94c946e3b808d8c772541a18b97d (diff)
mlxsw: spectrum_router: Flush resources when RIF is deleted
When the last IP address is removed from a netdev, its RIF is deleted. However, if user didn't first remove neighbours and nexthops using this interface, then they would still be present in the device's tables. Therefore, whenever a RIF is deleted, make sure all the neighbours and nexthops (adjacency entries) using it are removed from the relevant tables as well. The action associated with any route using this RIF would be refreshed, most likely to trap. If the kernel decides to remove the route (f.e., because all the nexthops are now DEAD), then an event would be sent, causing the route to be removed from the device. Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum.c6
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum.h4
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c86
3 files changed, 93 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c