Stefano Brivio
b4d3069783
vxlan: Allow configuration of DF behaviour
...
Allow users to set the IPv4 DF bit in outgoing packets, or to inherit its
value from the IPv4 inner header. If the encapsulated protocol is IPv6 and
DF is configured to be inherited, always set it.
For IPv4, inheriting DF from the inner header was probably intended from
the very beginning judging by the comment to vxlan_xmit(), but it wasn't
actually implemented -- also because it would have done more harm than
good, without handling for ICMP Fragmentation Needed messages.
According to RFC 7348, "Path MTU discovery MAY be used". An expired RFC
draft, draft-saum-nvo3-pmtud-over-vxlan-05, whose purpose was to describe
PMTUD implementation, says that "is a MUST that Vxlan gateways [...]
SHOULD set the DF-bit [...]", whatever that means.
Given this background, the only sane option is probably to let the user
decide, and keep the current behaviour as default.
This only applies to non-lwt tunnels: if an external control plane is
used, tunnel key will still control the DF flag.
v2:
- DF behaviour configuration only applies for non-lwt tunnels, move DF
setting to if (!info) block in vxlan_xmit_one() (Stephen Hemminger)
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-11-08 17:13:08 -08:00
..
9p
9p: Add refcount to p9_req_t
2018-09-08 01:39:47 +09:00
bluetooth
Bluetooth: Errata Service Release 8, Erratum 3253
2018-10-14 10:25:47 +02:00
caif
caif: reduce stack size with KASAN
2018-01-19 14:02:12 -05:00
iucv
net/af_iucv: locate IUCV header via skb_network_header()
2018-09-26 09:56:07 -07:00
netfilter
netfilter: conntrack: add nf_{tcp,udp,sctp,icmp,dccp,icmpv6,generic}_pernet()
2018-11-03 13:28:02 +01:00
netns
net: provide a sysctl raw_l3mdev_accept for raw socket lookup with VRFs
2018-11-07 16:12:38 -08:00
nfc
NFC: Fix the number of pipes
2018-09-18 19:55:01 -07:00
phonet
proc: introduce proc_create_net{,_data}
2018-05-16 07:24:30 +02:00
sctp
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-19 11:03:06 -07:00
tc_act
Merge ra.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux
2018-07-20 21:17:12 -07:00
6lowpan.h
act_api.h
net_sched: convert idrinfo->lock from spinlock to a mutex
2018-10-05 00:36:31 -07:00
addrconf.h
net/ipv6: Add anycast addresses to a global hashtable
2018-11-02 23:54:56 -07:00
af_ieee802154.h
ieee802154: add rx LQI from userspace
2018-07-13 12:18:18 -04:00
af_rxrpc.h
rxrpc: Allow the reply time to be obtained on a client call
2018-10-04 09:54:29 +01:00
af_unix.h
net: drop a space before tabs
2018-10-31 12:37:12 -07:00
af_vsock.h
vsock: split dwork to avoid reinitializations
2018-08-07 12:39:13 -07:00
ah.h
arp.h
ipv4: Make neigh lookup keys for loopback/point-to-point devices be INADDR_ANY
2018-01-15 14:53:43 -05:00
atmclip.h
ax25.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
ax88796.h
net-next: ax88796: add interrupt status callback to platform data
2018-04-19 16:11:11 -04:00
bond_3ad.h
include/net/bond_3ad: Simplify the code by using the ARRAY_SIZE
2018-08-04 13:23:15 -07:00
bond_alb.h
bond_options.h
bonding.h
bonding: avoid possible dead-lock
2018-09-26 20:22:19 -07:00
busy_poll.h
net: remove sock_poll_busy_flag
2018-07-30 09:10:25 -07:00
calipso.h
cfg80211-wext.h
cfg80211.h
nl80211: Add per peer statistics to compute FCS error rate
2018-10-12 12:56:34 +02:00
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h
codel_impl.h
codel_qdisc.h
compat.h
net: remove compat_sys_*() prototypes from net/compat.h
2018-04-02 20:16:17 +02:00
datalink.h
dcbevent.h
dcbnl.h
net: dcb: Add priority-to-DSCP map getters
2018-07-27 13:17:50 -07:00
devlink.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-12 21:38:46 -07:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
decnet: Move dn_next into decnet route structure.
2017-11-30 09:54:25 -05:00
dsa.h
net: dsa: Add Lantiq / Intel GSWIP tag support
2018-09-13 08:14:33 -07:00
dsfield.h
dst.h
geneve, vxlan: Don't set exceptions if skb->len < mtu
2018-10-17 21:51:13 -07:00
dst_cache.h
net: core: dst_cache_set_ip6: Rename 'addr' parameter to 'saddr' for consistency
2018-03-05 12:52:45 -05:00
dst_metadata.h
dst_ops.h
erspan.h
erspan: set bso bit based on mirrored packet's len
2018-05-20 18:31:42 -04:00
esp.h
ethoc.h
inet: whitespace cleanup
2018-02-28 11:43:28 -05:00
failover.h
net: Introduce generic failover module
2018-05-28 22:59:54 -04:00
fib_notifier.h
fib_rules.h
net: fib_rules: add extack support
2018-04-23 10:21:24 -04:00
firewire.h
flow.h
xfrm: Remove xfrmi interface ID from flowi
2018-07-20 10:14:41 +02:00
flow_dissector.h
flow_dissector: allow dissection of tunnel options from metadata
2018-08-07 12:22:14 -07:00
fou.h
fq.h
fq_impl.h
garp.h
gen_stats.h
net/core: Add new basic hardware counter
2018-09-24 12:18:42 -07:00
genetlink.h
genetlink: constify genl_err_attr() argument
2018-08-29 19:42:52 -07:00
geneve.h
net: add netif_is_geneve()
2018-11-07 23:00:23 -08:00
gre.h
net: GRE: Add is_gretap_dev, is_ip6gretap_dev
2018-02-27 14:46:26 -05:00
gro_cells.h
gtp.h
gue.h
fou: fix some member types in guehdr
2017-12-11 14:10:06 -05:00
hwbm.h
icmp.h
ieee80211_radiotap.h
mac80211: support reporting 0-length PSDU in radiotap
2018-09-05 10:08:25 +02:00
ieee802154_netdev.h
if_inet6.h
net/ipv6: Add anycast addresses to a global hashtable
2018-11-02 23:54:56 -07:00
ife.h
net: sched: ife: handle malformed tlv length
2018-04-22 21:12:00 -04:00
ila.h
inet6_connection_sock.h
inet6_hashtables.h
net: allow binding socket in a VRF when there's an unbound socket
2018-11-07 16:12:38 -08:00
inet_common.h
net: Convert GRO SKB handling to list_head.
2018-06-26 11:33:04 +09:00
inet_connection_sock.h
inet/connection_sock: prefer _THIS_IP_ to current_text_addr
2018-08-14 10:04:36 -07:00
inet_ecn.h
inet: Refactor INET_ECN_decapsulate()
2018-10-17 17:45:07 -07:00
inet_frag.h
ip: add helpers to process in-order fragments faster.
2018-08-11 17:54:18 -07:00
inet_hashtables.h
net: ensure unbound stream socket to be chosen when not in a VRF
2018-11-07 16:12:38 -08:00
inet_sock.h
net: ensure unbound stream socket to be chosen when not in a VRF
2018-11-07 16:12:38 -08:00
inet_timewait_sock.h
net-tcp: remove useless tw_timeout field
2018-06-05 10:45:24 -04:00
inetpeer.h
ip.h
ip: factor out protocol delivery helper
2018-11-07 16:23:05 -08:00
ip6_checksum.h
ip6_fib.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-10-19 11:03:06 -07:00
ip6_route.h
net: Add struct for fib dump filter
2018-10-16 00:13:12 -07:00
ip6_tunnel.h
ip6_gre: add erspan v2 support
2017-12-15 12:34:00 -05:00
ip_fib.h
net: Don't return invalid table id error when dumping all families
2018-10-24 14:06:25 -07:00
ip_tunnels.h
net: check tunnel option type in tunnel flags
2018-06-29 23:50:26 +09:00
ip_vs.h
ipvs: add assured state for conn templates
2018-07-18 11:26:40 +02:00
ipcomp.h
ipconfig.h
ipv6.h
ipv6: factor out protocol delivery helper
2018-11-07 16:23:05 -08:00
ipv6_frag.h
ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
2018-07-18 11:26:53 +02:00
ipx.h
iw_handler.h
net: Spelling s/stucture/structure/
2018-03-27 09:51:23 +02:00
kcm.h
l3mdev.h
lag.h
net: Add lag.h, net_lag_port_dev_txable()
2018-07-11 23:10:19 -07:00
lapb.h
lib80211.h
llc.h
llc: avoid blocking in llc_sap_close()
2018-09-13 09:04:58 -07:00
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc: delete timers synchronously in llc_sk_free()
2018-04-22 14:55:03 -04:00
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
lwtunnel.h
net: Move ipv4 set_lwt_redirect helper to lwtunnel
2018-02-14 14:43:32 -05:00
mac80211.h
mac80211: implement ieee80211_tx_rate_update to update rate
2018-10-12 13:05:40 +02:00
mac802154.h
mip6.h
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ncsi.h
ndisc.h
neighbour.h
net: Evict neighbor entries on carrier down
2018-10-12 09:47:39 -07:00
net_failover.h
net: Introduce net_failover driver
2018-05-28 22:59:54 -04:00
net_namespace.h
flow_dissector: implements flow dissector BPF hook
2018-09-14 12:04:33 -07:00
net_ratelimit.h
netevent.h
net: ipv4: Notify about changes to ip_forward_update_priority
2018-08-01 09:52:30 -07:00
netlabel.h
netlink.h
netlink: replace __NLA_ENSURE implementation
2018-10-12 11:00:22 -07:00
netprio_cgroup.h
netrom.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
nexthop.h
net: fix rtnh_ok()
2018-04-07 22:32:31 -04:00
nl802154.h
nsh.h
p8022.h
page_pool.h
xdp: introduce xdp_return_frame_rx_napi
2018-05-24 18:36:15 -07:00
ping.h
ipv{4,6}/ping: simplify proc file creation
2018-05-16 07:23:35 +02:00
pkt_cls.h
net: sched: remove unused helpers
2018-10-04 21:42:28 -07:00
pkt_sched.h
net: sched: extend Qdisc with rcu
2018-09-25 20:17:35 -07:00
pptp.h
protocol.h
psample.h
psnap.h
raw.h
net: fix raw socket lookup device bind matching with VRFs
2018-11-07 16:12:39 -08:00
rawv6.h
red.h
net_sched: red: Avoid illegal values
2017-12-05 14:37:13 -05:00
regulatory.h
cfg80211: make wmm_rule part of the reg_rule structure
2018-08-28 11:11:47 +02:00
request_sock.h
rose.h
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
route.h
net-ipv4: remove 2 always zero parameters from ipv4_redirect()
2018-09-26 20:30:55 -07:00
rsi_91x.h
Bluetooth: btrsi: add new rsi bluetooth driver
2018-03-13 18:37:02 +02:00
rtnetlink.h
net: Add extack argument to rtnl_create_link
2018-11-06 15:00:45 -08:00
sch_generic.h
net: sched: add an offload graft helper
2018-11-08 16:19:48 -08:00
scm.h
pids: Compute task_tgid using signal->leader_pid
2018-07-21 10:43:12 -05:00
secure_seq.h
seg6.h
rhashtable: split rhashtable.h
2018-06-22 13:43:27 +09:00
seg6_hmac.h
rhashtable: split rhashtable.h
2018-06-22 13:43:27 +09:00
seg6_local.h
bpf: add End.DT6 action to bpf_lwt_seg6_action helper
2018-07-31 09:22:48 +02:00
slhc_vj.h
slip: Check if rstate is initialized before uncompressing
2018-04-11 10:33:46 -04:00
smc.h
net/smc: add pnetid support for SMC-D and ISM
2018-06-30 20:42:25 +09:00
snmp.h
sock.h
Revert "net: simplify sock_poll_wait"
2018-10-23 10:57:06 -07:00
sock_reuseport.h
bpf: Enable BPF_PROG_TYPE_SK_REUSEPORT bpf prog in reuseport selection
2018-08-11 01:58:46 +02:00
Space.h
net/mac89x0: Convert to platform_driver
2018-03-01 21:21:36 -05:00
stp.h
strparser.h
strparser: Add __strp_unpause and use it in ktls.
2018-06-06 14:07:53 -04:00
switchdev.h
bridge: switchdev: Allow clearing FDB entry offload indication
2018-10-17 17:45:08 -07:00
tcp.h
tcp: add tcp_reset_xmit_timer() helper
2018-10-23 19:42:44 -07:00
tcp_states.h
tcp: remove the hardcode in the definition of TCPF Macro
2018-02-21 15:06:05 -05:00
timewait_sock.h
tipc.h
flow_dissector: do not rely on implicit casts
2018-05-08 00:02:41 -04:00
tls.h
tls: replace poll implementation with read hook
2018-10-15 12:23:19 -07:00
transp_v6.h
ipv6: fold sockcm_cookie into ipcm6_cookie
2018-07-07 10:58:49 +09:00
tso.h
tun_proto.h
udp.h
udp: cope with UDP GRO packet misdirection
2018-11-07 16:23:05 -08:00
udp_tunnel.h
udp: Handle ICMP errors for tunnels with same destination port on both endpoints
2018-11-08 17:13:08 -08:00
udplite.h
udplite: fix partial checksum initialization
2018-02-16 15:57:42 -05:00
vsock_addr.h
vxlan.h
vxlan: Allow configuration of DF behaviour
2018-11-08 17:13:08 -08:00
wext.h
lift handling of SIOCIW... out of dev_ioctl()
2018-01-24 19:13:45 -05:00
wimax.h
x25.h
x25device.h
xdp.h
xdp: export xdp_rxq_info_unreg_mem_model
2018-08-29 12:25:53 -07:00
xdp_sock.h
ethtool: don't allow disabling queues with umem installed
2018-10-05 09:31:01 +02:00
xfrm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2018-08-15 15:04:25 -07:00