63
What’s new in FreeBSD 10? Gleb Smirnoff [email protected] ruBSD 2013 Yandex Moscow December 14, 2013 Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 1 / 27

Глеб Смирнов: Что нового в FreeBSD 10.0

  • Upload
    yandex

  • View
    9.445

  • Download
    0

Embed Size (px)

DESCRIPTION

Только что вышедшая FreeBSD 10 содержит в себе много нововведений, таких как смена компилятора и системы пакетирования приложений, расширенная поддержка виртуализации, а также множество радикальных изменений в уже существующих подсистемах. В докладе Глеб коснётся наиболее важных новостей и расскажет, чего следует ожидать тем, кто поспешит перейти на новую стабильную версию.

Citation preview

Page 1: Глеб Смирнов: Что нового в FreeBSD 10.0

What’s new in FreeBSD 10?

Gleb [email protected]

ruBSD 2013YandexMoscow

December 14, 2013

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 1 / 27

Page 2: Глеб Смирнов: Что нового в FreeBSD 10.0

Introduction

Two years of development

head

stable/10stable/9

23 September 2011 10 October 2013

10.0-RC1 available now10.0-RELEASE planned for 2 January 2014

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 2 / 27

Page 3: Глеб Смирнов: Что нового в FreeBSD 10.0

Introduction

Two years of development

head

stable/10stable/9

23 September 2011 10 October 2013

10.0-RC1 available now10.0-RELEASE planned for 2 January 2014

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 2 / 27

Page 4: Глеб Смирнов: Что нового в FreeBSD 10.0

Introduction

Outline

1 Userland changesPackaging systemToolchainDevelopers toolsDNS toolsOther userland updates

2 Kernel: virtualizationbhyveguest improvements

3 Kernel: ARM port

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27

Page 5: Глеб Смирнов: Что нового в FreeBSD 10.0

Introduction

Outline

4 Kernel: securitycapsicum(4) update/dev/random improvements

5 Kernel: general improvementscallout(9) new generationunmapped I/Omemory managementatomic close-on-exec

6 Kernel: I/O and storageimprovementsGEOM3rd party filesystems

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27

Page 6: Глеб Смирнов: Что нового в FreeBSD 10.0

Introduction

Outline

7 Kernel: networkingchangescarppacket filters

8 Conslusionlooking forward to FreeBSD 11

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 3 / 27

Page 7: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Packaging system

New generation packaging system

pkg(1)

Replaces pkg_tools in FreeBSD 10.0Updates packages from remote repositoryIs developed as a library + command line frontend

Don’t miss section at 11:40 by Vsevolod Stakhov!

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 4 / 27

Page 8: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Packaging system

New generation packaging system

pkg(1)

Replaces pkg_tools in FreeBSD 10.0Updates packages from remote repositoryIs developed as a library + command line frontend

Don’t miss section at 11:40 by Vsevolod Stakhov!

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 4 / 27

Page 9: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Compiler change

LLVM/Clang 3.3 is default compiler(amd64, arm and i386)

Why?BSD licensed (gcc > 4.2.1 is GPLv3)

Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.

We still support gcc 4.2+ to build tier 2 arches.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27

Page 10: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Compiler change

LLVM/Clang 3.3 is default compiler(amd64, arm and i386)

Why?BSD licensed (gcc > 4.2.1 is GPLv3)

Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.

We still support gcc 4.2+ to build tier 2 arches.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27

Page 11: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Compiler change

LLVM/Clang 3.3 is default compiler(amd64, arm and i386)

Why?BSD licensed (gcc > 4.2.1 is GPLv3)

Fully C++11 compliant. Includes LLVM libc++.Always cross compiler.

We still support gcc 4.2+ to build tier 2 arches.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 5 / 27

Page 12: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Toolchain

Moving towards external toolchain.

Portable make(1) imported from NetBSDTools updated:

patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27

Page 13: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Toolchain

Moving towards external toolchain.Portable make(1) imported from NetBSD

Tools updated:patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27

Page 14: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Toolchain

Toolchain

Moving towards external toolchain.Portable make(1) imported from NetBSDTools updated:

patch(1): GNU BSD licensed fork of original Larry Wallsort(1): GNU own implementationbyacc for yacc(1)flex for lex(1)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 6 / 27

Page 15: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Developers tools

Developers tools

CVS -> subversion (lite)ATF/kyua from NetBSDWork in progress: gdb -> lldb

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 7 / 27

Page 16: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes DNS tools

DNS tools

Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup

LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)

Plan for FreeBSD 11: caching, validating, secureresolver library with standard API

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27

Page 17: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes DNS tools

DNS tools

Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup

LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)

Plan for FreeBSD 11: caching, validating, secureresolver library with standard API

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27

Page 18: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes DNS tools

DNS tools

Recursive resolver & toolsBIND -> unbounddig(1) -> drill(1)new host(1) implementationnslookup

LDNS libraryFeature rich API, providing control over recursion,DNSSEC, TSIG, etc.Utilized by OpenSSH, drill(1)

Plan for FreeBSD 11: caching, validating, secureresolver library with standard API

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 8 / 27

Page 19: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Other userland updates

Other userland updates

freebsd-version(1) tool introducedlibyaml added to base

Citrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27

Page 20: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Other userland updates

Other userland updates

freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libc

nvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27

Page 21: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Other userland updates

Other userland updates

freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character locales

wpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27

Page 22: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Other userland updates

Other userland updates

freebsd-version(1) tool introducedlibyaml added to baseCitrus iconv(3) in libcnewest jemalloc 3.4.1 in libcnvi editor supports wide character localeswpa_supplicant/hostapd updated to 2.0OpenSSH updated to 6.4OpenSSL updated to 1.0.1e

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 9 / 27

Page 23: Глеб Смирнов: Что нового в FreeBSD 10.0

Userland changes Other userland updates

Installer

bsdinstall features ZFS root installationRemoved old installer sysinstall and auxiliary toolslibdisk, libftpio, sade

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 10 / 27

Page 24: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: virtualization bhyve

bhyve(4) hypervisor

BSD hyper visor(pronounced as “bee hive”)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27

Page 25: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: virtualization bhyve

bhyve(4) hypervisor

BSD hyper visor(pronounced as “bee hive”)

Requirements:host is amd64: Intel CPU with VT-xfeature or AMD CPU with AMD-Vfeatureno BIOS provided

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27

Page 26: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: virtualization bhyve

bhyve(4) hypervisor

BSD hyper visor(pronounced as “bee hive”)

Results in:12k lines of code in kernel14k lines of code in userland

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27

Page 27: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: virtualization bhyve

bhyve(4) hypervisor

BSD hyper visor(pronounced as “bee hive”)

Guest OSes supported:FreeBSD, OpenBSDGNU/Linux

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 11 / 27

Page 28: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: virtualization guest improvements

Guest improvements

Xen and Xen HVM in GENERIC kernelMicrosoft Hyper-V drivers addedVMware VMXNET3 driver added

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 12 / 27

Page 29: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: ARM port

ARM port

ARM soon to become Tier 1 platformcompiled with clangsuperpages supportEABI by default

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 13 / 27

Page 30: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security capsicum(4) update

capsicum(4) update

Capsicum - hybrid capability + UNIX accesscontrol model. Introduced in FreeBSD 9.0.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27

Page 31: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security capsicum(4) update

capsicum(4) update

Capsicum integrates further into FreeBSD:notions of “capability” and “filedescriptor” mergenew APIs: cap_new(2)cap_rights_limit(2)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27

Page 32: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security capsicum(4) update

capsicum(4) update

Capsicum integrates further into FreeBSD:notions of “capability” and “filedescriptor” mergenew APIs: cap_new(2)cap_rights_limit(2)capsicum(4) in GENERIC by defaultsandboxed applications: tcpdump(1),dhclient(8), rwhod(8), kdump(8),hastd(8), auditdistd(8), ctld(8),iscsid(8)

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27

Page 33: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security capsicum(4) update

capsicum(4) update

Future integration in 10.1-RELEASE:casperd(8) daemonlibcapsicum(3) librarysandboxing a lot of applications

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 14 / 27

Page 34: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security /dev/random improvements

better random

Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.

Problem: not enough entropy on early boot.Solution: we can get some from device attach time.

Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.

FreeBSD 11.0 plan: substitute Yarrow with Fortuna.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27

Page 35: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security /dev/random improvements

better random

Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.

Problem: not enough entropy on early boot.Solution: we can get some from device attach time.

Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.

FreeBSD 11.0 plan: substitute Yarrow with Fortuna.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27

Page 36: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security /dev/random improvements

better random

Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.

Problem: not enough entropy on early boot.Solution: we can get some from device attach time.

Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.

FreeBSD 11.0 plan: substitute Yarrow with Fortuna.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27

Page 37: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: security /dev/random improvements

better random

Problem: hardware assisted randomness (RDRAND andPadlock) no longer trusted.Solution: run them through Yarrow.

Problem: not enough entropy on early boot.Solution: we can get some from device attach time.

Problem: not enough entropy on first boot.Let bsdinstall save an entropy cookie for future boot.

FreeBSD 11.0 plan: substitute Yarrow with Fortuna.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 15 / 27

Page 38: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements callout(9) new generation

callout(9) improvements

callout(9) - kernel subsystem to schedule delayed events.

New improvements:ticklessevent coalescingdirect execution

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 16 / 27

Page 39: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements callout(9) new generation

callout(9) improvements

callout(9) - kernel subsystem to schedule delayed events.New improvements:

ticklessevent coalescingdirect execution

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 16 / 27

Page 40: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements unmapped I/O

unmapped I/O

Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space.

Change ofvirtual memory map requires notification of other CPUs.

Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.

Result: 30% of system CPU time saved in I/O boundtasks.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27

Page 41: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements unmapped I/O

unmapped I/O

Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.

Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.

Result: 30% of system CPU time saved in I/O boundtasks.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27

Page 42: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements unmapped I/O

unmapped I/O

Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.

Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.

Result: 30% of system CPU time saved in I/O boundtasks.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27

Page 43: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements unmapped I/O

unmapped I/O

Problem: kernel doing I/O on behalf of userland processmaps the I/O region into kernel address space. Change ofvirtual memory map requires notification of other CPUs.

Solution: unmapped I/O. Required modification of filesystem layer, GEOM classes, disk drivers.

Result: 30% of system CPU time saved in I/O boundtasks.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 17 / 27

Page 44: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements memory management

memory management changes

Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)

Mach VMradix tree instead of splay tree for vm_pages invm_object

UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27

Page 45: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements memory management

memory management changes

Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)

Mach VMradix tree instead of splay tree for vm_pages invm_object

UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27

Page 46: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements memory management

memory management changes

Kernel memory maps:vmem(9) generic allocator from NetBSDkernel memory map allocation backed by vmem(9)

Mach VMradix tree instead of splay tree for vm_pages invm_object

UMAperformance/efficiency improvementsper-CPU zoneslog warning when a zone hits limit

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 18 / 27

Page 47: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: general improvements atomic close-on-exec

atomic close-on-exec

Prevents descriptor leak in presence of threads orsignalsSuggested for future POSIX

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 19 / 27

Page 48: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage improvements

storage changes

NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system

Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems

legacy ATA layer removed

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27

Page 49: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage improvements

storage changes

NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system

Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems

legacy ATA layer removed

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27

Page 50: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage improvements

storage changes

NAND flash supportNAND controller/chip/bus APIsNAND disk GEOM classNAND file system

Resizinggeneral support of “resize” notion in GEOMresizing of GEOM mirror (in 10.1-RELEASE)growfs(1) works on mounted filesystems

legacy ATA layer removed

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 20 / 27

Page 51: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage GEOM

GEOM: work in progress

Targeted for 10.1-RELEASE:

direct dispatch in GEOM instead of two threadsfine grained locking of CAM layer

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27

Page 52: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage GEOM

GEOM: work in progress

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27

Page 53: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage GEOM

GEOM: work in progress

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 21 / 27

Page 54: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage 3rd party filesystems

FUSE

FUSE moved to base from ports to improve stability

Giant-locked and GPL-contaminated filesystemsremoved from kernel: hpfs, ext2fs, ntfs, reiserfs, coda,xfs, nwfs, portalfs.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 22 / 27

Page 55: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: I/O and storage 3rd party filesystems

FUSE

FUSE moved to base from ports to improve stabilityGiant-locked and GPL-contaminated filesystemsremoved from kernel: hpfs, ext2fs, ntfs, reiserfs, coda,xfs, nwfs, portalfs.

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 22 / 27

Page 56: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking changes

networking changes

newest Infiniband OFED stacknative iSCSI Target and Initiatoretherswitch(4): embedded Ethernet switch driver

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27

Page 57: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking changes

networking changes

ZERO_COPY_SOCKETSsendfile(2) on shared memory fd

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27

Page 58: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking changes

networking changes

network byte order throughout the stackcounter(9): raceless and cheap statistic per-CPUcountersIP/TCP/UDP dtrace(1) providers

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 23 / 27

Page 59: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking carp

new carp(4)

CARP isn’t pseudo-interface any more. Redundant addressis configured directly on a real interface.% ifconfig igb0 10.0.0.112/27 vhid 112% ifconfig igb0igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500

ether 00:25:90:03:0e:fainet 10.0.0.112 netmask 0xffffffe0 broadcast 10.0.0.127 vhid 112media: Ethernet autoselect (1000baseT <full-duplex>)status: activecarp: BACKUP vhid 112 advbase 1 advskew 0

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 24 / 27

Page 60: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking packet filters

packet filters

pf(4): fork off OpenBSD, bringing in multithreadingipfilter(4): update to 5.1.2 (BSD license pledged)ipfw(4): no significant changes

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 25 / 27

Page 61: Глеб Смирнов: Что нового в FreeBSD 10.0

Kernel: networking packet filters

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 26 / 27

Page 62: Глеб Смирнов: Что нового в FreeBSD 10.0

Conslusion looking forward to FreeBSD 11

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 27 / 27

Page 63: Глеб Смирнов: Что нового в FreeBSD 10.0

Conslusion looking forward to FreeBSD 11

Questions?

Gleb Smirnoff [email protected] What’s new in FreeBSD 10? December 14, 2013 27 / 27