summaryrefslogtreecommitdiffstats
path: root/net/ipv4/udp_offload.c
AgeCommit message (Expand)Author
2017-04-24udp: disable inner UDP checksum offloads in IPsec caseAnsis Atteka
2016-10-20net: add recursion limit to GROSabrina Dubroca
2016-09-19gso: Support partial splitting at the frag_list pointerSteffen Klassert
2016-05-20gso: Remove arbitrary checks for unsupported GSOTom Herbert
2016-05-09Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
2016-05-06udp_offload: Set encapsulation before inner completes.Jarno Rajahalme
2016-04-14GSO: Support partial segmentation offloadAlexander Duyck
2016-04-07udp: Remove udp_offloadsTom Herbert
2016-04-07udp: Add GRO functions to UDP socketTom Herbert
2016-03-23net: Reset encap_level to avoid resetting features on inner IP headersAlexander Duyck
2016-03-20tunnels: Don't apply GRO to multiple layers of encapsulation.Jesse Gross
2016-03-13GSO/UDP: Use skb->len instead of udph->len to determine length of original skbAlexander Duyck
2016-02-26GSO: Provide software checksum of tunneled UDP fragmentation offloadAlexander Duyck
2016-02-11udp: Use uh->len instead of skb->len to compute checksum in segmentationAlexander Duyck
2016-02-11udp: Clean up the use of flags in UDP segmentation offloadAlexander Duyck
2016-02-11net: Update remote checksum segmentation to support use of GSO checksumAlexander Duyck
2016-02-11net: Drop unecessary enc_features variable from tunnel segmentation functionsAlexander Duyck
2016-01-11Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller
2016-01-10udp: restrict offloads to one namespaceHannes Frederic Sowa
2015-12-15net: Eliminate NETIF_F_GEN_CSUM and NETIF_F_V[46]_CSUMTom Herbert
2015-04-03ipv4: coding style: comparison for inequality with NULLIan Morris
2015-02-11udp: Set SKB_GSO_UDP_TUNNEL* in UDP GRO pathTom Herbert
2015-01-14udp: pass udp_offload struct to UDP gro callbacksTom Herbert
2014-11-05net: Remove MPLS GSO feature.Pravin B Shelar
2014-11-05udp: Changes to udp_offload to support remote checksum offloadTom Herbert
2014-11-05udp: Offload outer UDP tunnel csum if availableTom Herbert
2014-10-20net: gso: use feature flag argument in all protocol gso handlersFlorian Westphal
2014-10-03fou: eliminate IPv4,v6 specific GRO functionsTom Herbert
2014-10-01udp: Generalize skb_udp_segmentTom Herbert
2014-09-26net: Remove gso_send_check as an offload callbackTom Herbert
2014-09-26udp: move logic out of udp[46]_ufo_send_checkTom Herbert
2014-09-19fou: Add GRO supportTom Herbert
2014-09-12udp: Fix inverted NAPI_GRO_CB(skb)->flush testScott Wood
2014-09-09ipv4: udp4_gro_complete() is staticEric Dumazet
2014-09-01udp: Add support for doing checksum unnecessary conversionTom Herbert
2014-08-29net: Allow GRO to use and set levels of checksum unnecessaryTom Herbert
2014-08-24udp: additional GRO supportTom Herbert
2014-07-29net/udp_offload: Use IS_ERR_OR_NULLHimangi Saraogi
2014-07-14udp: Move udp_tunnel_segment into udp_offload.cTom Herbert
2014-06-11net: Add skb_gro_postpull_rcsum to udp and vxlanTom Herbert
2014-06-04gre: Call gso_make_checksumTom Herbert
2014-06-04net: Add GSO support for UDP tunnels with checksumTom Herbert
2014-02-04net/ipv4: Use proper RCU APIs for writer-side in udp_offload.cShlomo Pongratz
2014-01-30net/ipv4: Use non-atomic allocation of udp offloads structure instanceOr Gerlitz
2014-01-23net/udp_offload: Handle static checker complaintsShlomo Pongratz
2014-01-21net: Add GRO support for UDP encapsulating protocolsOr Gerlitz
2014-01-02ipv4: fix tunneled VM traffic over hw VXLAN/GRE GSO NICWei-Chun Chao
2013-10-19ipip: add GSO/TSO supportEric Dumazet
2013-06-12net: udp4: move GSO functions to udp_offloadDaniel Borkmann
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
# This Makefile has two purposes:
# 1. Starting the compilation of Vim for Unix.
# 2. Creating the various distribution files.


# 1. Using this Makefile without an argument will compile Vim for Unix.
#
# "make install" is also possible.
#
# NOTE: If this doesn't work properly, first change directory to "src" and use
# the Makefile there:
#	cd src
#	make [arguments]
# Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
# something else after Vim has been compiled.  Don't know why...
# Noticed on OS/390 Unix: Restarts configure.
#
# The first (default) target is "first".  This will result in running
# "make first", so that the target from "src/auto/config.mk" is picked
# up properly when config didn't run yet.  Doing "make all" before configure
# has run can result in compiling with $(CC) empty.

first:
	@echo "Starting make in the src directory."
	@echo "If there are problems, cd to the src directory and run make there"
	cd src && $(MAKE) $@

# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure proto depend lint tags types test testclean clean distclean:
	@echo "Starting make in the src directory."
	@echo "If there are problems, cd to the src directory and run make there"
	cd src && $(MAKE) $@


# 2. Create the various distributions:
#
# TARGET	PRODUCES		CONTAINS
# unixall	vim-#.#.tar.bz2		Runtime files and Sources for Unix
#
# extra		vim-#.#-extra.tar.gz	Extra source and runtime files
# lang		vim-#.#-lang.tar.gz	multi-language files
#
# html		vim##html.zip		HTML docs
#
# amisrc	vim##src.tgz		sources for Amiga
# amirt		vim##rt.tgz		runtime for Amiga
# amibin	vim##bin.tgz		binary for Amiga
#
# dossrc	vim##src.zip		sources for MS-DOS
# dosrt		vim##rt.zip		runtime for MS-DOS
# dosbin	vim##d16.zip		binary for MS-DOS 16 bits
#		vim##d32.zip		binary for MS-DOS 32 bits
#		vim##w32.zip		binary for Win32
#		gvim##.zip		binary for GUI Win32
#		gvim##ole.zip		OLE exe for Win32 GUI
#		gvim##_s.zip		exe for Win32s GUI
# doslang	vim##lang.zip		language files for Win32
#
# os2bin	vim##os2.zip		binary for OS/2
#					(use RT from dosrt)
#
# farsi		farsi##.zip		Farsi fonts
#
#    All output files are created in the "dist" directory.  Existing files are
#    overwritten!
#    To do all this you need the unix, extra and lang archives, and
#    compiled binaries.
#    Before creating an archive first delete all backup files, *.orig, etc.

MAJOR = 7
MINOR = 0aa

# Uncomment this line if the Win32s version is to be included.
#DOSBIN_S =  dosbin_s

# CHECKLIST for creating a new version:
#
# - Update Vim version number.  For a test version in: src/version.h, Contents,
#   MAJOR/MINOR above, VIMRTDIR and VERSION in src/Makefile, README*.txt,
#   runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt.  For a
#   minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# - Correct included_patches[] in src/version.c.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme, Cscope and "huge"
#   features.  Exclude workshop and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
#   ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - "make lint" and check the output (ignore GTK warnings).
# - Enable the efence library in "src/Makefile" and run "make test".  May
#   require disabling Python to avoid trouble with threads.
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
# - Add remarks for changes to runtime/doc/version6.txt.
# - In runtime/doc run "make" and "make html" to check for errors.
# - Check if src/Makefile and src/feature.h don't contain any personal
#   preferences or the GTK, Perl, etc. mentioned above.
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
#   ADDITIONS".
# - Check file protections to be "644" for text and "755" for executables (run
#   the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
# - "make unixall", "make extra", "make lang", "make html"
#
# Amiga:
# - "make amisrc", move the archive to the Amiga and compile:
#   "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
# - Place the executables Vim and Xxd in this directory (set the executable
#   flag).
# - "make amirt", "make amibin".
#
# PC:
# - "make dossrc" and "make dosrt".  Unpack the archives on a PC.
# 16 bit DOS version:
# - Set environment for compiling with Borland C++ 3.1.
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
#   case set environment for compiling with Borland C++ 4.0 and do
#   "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
# - "make test" and check the output.
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
#   "uninstald16.exe".
# 32 bit DOS version:
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output.
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
#   "uninstald32.exe".
# Win32 console version:
# - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat"
# - "nmake -f Make_mvc.mak"
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
# - Rename ObjC/vim.pdb to vimw32.pdb.
# - When building the Win32s version later, delete vimrun.exe, install.exe and
#   uninstal.exe.  Otherwise rename executables to installw32.exe and
#   uninstalw32.exe.
# Win32 GUI version:
# - "nmake -f Make_mvc.mak GUI=yes.
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move ObjC/gvim.pdb to here.
# - Delete vimrun.exe, install.exe and uninstall.exe.
# - Copy "GvimExt/gvimext.dll" to here.
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename ObjC/gvim.pdb to "gvim_ole.pdb".
# - Delete install.exe and uninstall.exe.
# - If building the Win32s version delete vimrun.exe.
# Win32s GUI version:
# - Set environment for Visual C++ 4.1 (requires a new console window)
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
# - Rename "install.exe" to "installw32.exe"
# - Rename "uninstal.exe" to "uninstalw32.exe"
# - The produced uninstalw32.exe and vimrun.exe are used.
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
# - "make dosbin".
# - Run make on Unix to update the ".mo" files.
# - "make doslang".
# NSIS self installing exe:
# - Unpack the doslang archive on the PC.
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
#   uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
#   from a binary archive or build them)
# - make sure there is a diff.exe two levels up
# - go to ../nsis and do "makensis gvim.nsi".
# - Copy gvim##.exe to the dist directory.
#
# OS/2:
# - Unpack the Unix "src", "extra" and "rt" archives.
# - "make -f Make_os2.mak".
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
#   them to here.
# - "make os2bin".

VIMVER	= vim-$(MAJOR).$(MINOR)
VERSION = $(MAJOR)$(MINOR)
VDOT	= $(MAJOR).$(MINOR)
VIMRTDIR = vim$(VERSION)

# Vim used for conversion from "unix" to "dos"
VIM	= vim

# How to include Filelist depends on the version of "make" you have.
# If the current choice doesn't work, try the other one.

include Filelist
#.include "Filelist"


# All output is put in the "dist" directory.
dist:
	mkdir dist

# Clean up some files to avoid they are included.
prepare:
	if test -f runtime/doc/uganda.nsis.txt; then \
		rm runtime/doc/uganda.nsis.txt; fi

# For the zip files we need to create a file with the comment line
dist/comment:
	mkdir dist/comment

COMMENT_RT = comment/$(VERSION)-rt
COMMENT_RT1 = comment/$(VERSION)-rt1
COMMENT_RT2 = comment/$(VERSION)-rt2
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
COMMENT_OLE = comment/$(VERSION)-bin-ole
COMMENT_W32S = comment/$(VERSION)-bin-w32s
COMMENT_SRC = comment/$(VERSION)-src
COMMENT_OS2 = comment/$(VERSION)-bin-os2
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
COMMENT_LANG = comment/$(VERSION)-lang

dist/$(COMMENT_RT): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)

dist/$(COMMENT_RT1): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)

dist/$(COMMENT_RT2): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)

dist/$(COMMENT_D16): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)

dist/$(COMMENT_D32): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)

dist/$(COMMENT_W32): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)

dist/$(COMMENT_GVIM): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows NT/95" > dist/$(COMMENT_GVIM)

dist/$(COMMENT_OLE): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)

dist/$(COMMENT_W32S): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)

dist/$(COMMENT_SRC): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)

dist/$(COMMENT_OS2): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)

dist/$(COMMENT_HTML): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)

dist/$(COMMENT_FARSI): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)

dist/$(COMMENT_LANG): dist/comment
	echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)

unixall: dist prepare
	-rm -f dist/$(VIMVER).tar.bz2
	-rm -rf dist/$(VIMRTDIR)
	mkdir dist/$(VIMRTDIR)
	tar cf - \
		$(RT_ALL) \
		$(RT_ALL_BIN) \
		$(RT_UNIX) \
		$(RT_UNIX_DOS_BIN) \
		$(RT_SCRIPTS) \
		$(LANG_GEN) \
		$(LANG_GEN_BIN) \
		$(SRC_ALL) \
		$(SRC_UNIX) \
		$(SRC_DOS_UNIX) \
		| (cd dist/$(VIMRTDIR); tar xf -)
# Need to use a "distclean" config.mk file
	cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
# Create an empty config.h file, make dependencies require it
	touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
	touch dist/$(VIMRTDIR)/src/configure
	cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
	bzip2 dist/$(VIMVER).tar

extra: dist prepare
	-rm -f dist/$(VIMVER)-extra.tar.gz
	-rm -rf dist/$(VIMRTDIR)
	mkdir dist/$(VIMRTDIR)
	tar cf - \
		$(EXTRA) \
		| (cd dist/$(VIMRTDIR); tar xf -)
	cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
	gzip -9 dist/$(VIMVER)-extra.tar

lang: dist prepare
	-rm -f dist/$(VIMVER)-lang.tar.gz
	-rm -rf dist/$(VIMRTDIR)
	mkdir dist/$(VIMRTDIR)
	tar cf - \
		$(LANG_SRC) \
		| (cd dist/$(VIMRTDIR); tar xf -)
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
	touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
	touch dist/$(VIMRTDIR)/src/po/cs.cp1250.po
	touch dist/$(VIMRTDIR)/src/po/pl.cp1250.po
	touch dist/$(VIMRTDIR)/src/po/sk.cp1250.po
	touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
	touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
	touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
	cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
	gzip -9 dist/$(VIMVER)-lang.tar

amirt: dist prepare
	-rm -f dist/vim$(VERSION)rt.tar.gz
	-rm -rf dist/Vim
	mkdir dist/Vim
	mkdir dist/Vim/$(VIMRTDIR)
	tar cf - \
		$(ROOT_AMI) \
		$(RT_ALL) \
		$(RT_ALL_BIN) \
		$(RT_SCRIPTS) \
		$(RT_AMI) \
		$(RT_NO_UNIX) \
		$(RT_AMI_DOS) \
		| (cd dist/Vim/$(VIMRTDIR); tar xf -)
	mv dist/Vim/$(VIMRTDIR)/vimdir.info dist/Vim.info
	mv dist/Vim/$(VIMRTDIR)/runtime.info dist/Vim/$(VIMRTDIR).info
	mv dist/Vim/$(VIMRTDIR)/runtime/* dist/Vim/$(VIMRTDIR)
	rmdir dist/Vim/$(VIMRTDIR)/runtime
	cd dist && tar cf vim$(VERSION)rt.tar Vim Vim.info
	gzip -9 dist/vim$(VERSION)rt.tar
	mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz

amibin: dist prepare
	-rm -f dist/vim$(VERSION)bin.tar.gz
	-rm -rf dist/Vim
	mkdir dist/Vim
	mkdir dist/Vim/$(VIMRTDIR)
	tar cf -