mpd4 auf fbsd 7

metro

i² = -1
hallo forizens,

habe mich sozusagen nachträglich zum Forengeburtstag denn doch mal registriert.
Meinen Respekt und Glückwünsche an alle, die das hier am Laufen halten.

Jetzt aber zur kategoriegerechten Frage:
habe bisher bei jedem build auf 6-stable altq/pf entsprechend gepatcht, damit mpd das System
nicht zum Absturz bringt. Patch ist von M. Laier, aber seltsamerweise niemals in das Basissystem eingeflossen, und das seit langer Zeit.
siehe:
http://lists.freebsd.org/pipermail/freebsd-pf/2006-December/002885.html

kern/106400: fatal trap 12 at restart of PF with ALTQ if ng0 device has detached

Wer mpd und pf/altq nutzt weiss ziemlich sicher, was ich meine.

(sehr) unmittelbar bevorstehed ist jetzt das Upgrade --> fbsd 7 ;

ist das patchen noch nötig oder läuft jetzt alles 'out of the box' ?

Danke

metro
 
Zuletzt bearbeitet:
Hallo,

>ist das patchen noch nötig oder läuft jetzt alles 'out of the box' ?
um meine eigene Frage zu beantworten : nee. weder noch.

Zum ersten wird der unter 6-stable problemlos funktionierende Patch unter 7-Beta2 nicht komplett ausgeführt. Dieses ignorierend habe ich dennoch die Sourcen gebaut (erstaunlicherweise geht das glatt durch) und installiert , das Ergebnis war das gleiche wie ohne diese Aktion.
Das heißt: neue Sourcen mit dem alten (s.o.) Patch : --> Kernelpanik.
Ungepatcht das gleiche, --> Kernelpanik.

Für alle, die möglicherweise einmal pf/altq und netgraph (ng0) gemeinsam verwenden wollen, bei einer Reinitialisierung des Interfaces (ng0), wie z.B. bei der Wiedereinwahl nach der täglichen Zwangstrennung, ist eine Kernelpanik möglich, wenn nicht wahrscheinlich. Bei mir war sie sicher. Ziemlich unangenehm.

Eine Lösung ist, komplett auf altq zu verzichten, ich benutze es allerdings zum Trafficshaping.

Meine bis jetzt funktionierende Lösung ist, die queues nicht mehr auf das Netgraphinterface (ng0)
zu legen sondern auf das darunterliegende "echte" Interface.

Hatte ich auch rgendwann schonmal mit 6-stable probiert, ging da aber nicht.
Mit 7-Beta2 scheint es zu funktionieren.

Inwieweit das absolut korrekt geht, wird sich bald herausstellen, allerdings sind bisher provozierte Kernelpaniken, wie beschrieben, ausgeblieben.
Auf die "ersten Blicke" funktionieren die queues ebenfalls wie gewünscht.

Grüsse

metro
 
Ja, ich habe das gleiche Problem und es beginnt mich langsam ein wenig zu nerven. Ich wäre froh, wenn du von deinen erfahrungen mit dem echten Interface berichten könntest. Was mich da nich interessiert:
Bei mir wählt sich mpd4 per sis0 ins Netz ein. sis0 ist also das zugrundeliegende Gerät. Kann ich die Queues einfach übernehmen, oder muss ich sie anpassen um mit den PPPoE-gekapselten Daten klarzukommen?
 
@Yamagi:

>Was mich da nich interessiert:
^^^^^ !?

dann willl ich mal nich antworten ;)

die angesprochene Konfiguration läuft bisher problemlos.

Einfach in pf.conf
ext_if="ng0"
real_if="re1" <-- die Bezeichnung des NICs das in mpd.links, steht also

PPPoE:
set phys type pppoe
set pppoe iface re1 <---- jenes ! Ersetzen. Nicht blind kopieren! Das, in dem das Kabel steckt!
set pppoe serv....

alles weitere wie gehabt, einzig

altq on $real_if ...daba...daba...

Wie gesagt, auf fbsd 6-stable ging das , wenn ich mich recht erinnere, nicht.
Allerdings kann es auch sein, daß ich es einmal probiert habe und es genau da warum auch immer fehlschlug.

Ich hoffe, das folgende wird lesbar, regeln für simples Bandbreitenmanagment:

QUEUE BW SCH PRIO PKTS BYTES DROP_P DROP_B QLEN BORROW SUSPEN P/S B/S
q_pri priq 7 64697 4790366 0 0 0 76 5645
q_dns priq 4 486 41600 0 0 0 0 0
q_def priq 5913 1740121 0 0 0 0 0

ack priorisierung, dns priorisierung, defaultqueue, wird alles wunderbar erkannt. Warum auch nicht?
siehe:

2007-11-14 09:10:49.766764 00:#:4d:eb:#:eb > 00:#:1a:41:#:65, ethertype PPPoE S (0x8864), length 74: PPPoE [ses 0xecd] IP (0x0021), length 54: #.178.206.211.61353 > #.157.15.135.8010: . ack 43 778505
win 442 <nop,nop,timestamp 582452810 1309220894>

oder mal udp

2007-11-14 10:38:24.727773 00:#:4d:eb:#:eb > 00:#:1a:41:#:65, ethertype PPPoE S (0x8864), length 98: PPPoE [ses 0xecd] IP (0x0021), length 78: #.178.206.211.123 > #.239.201.102.123: NTPv4, Client, length 48





metro
 
Hi,

koennt Ihr mir mal verraten, wie ihr das macht?

Bei mir kommt bei Releng_7 immer ein syntax error in meinem Kernelfile.
Bei allen folgenden optionen:

device pflog
device pfsync
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)


device pf <<< funktioniert aber einzeln..... ????!!!!

Habe Sie der reihe nach ein und auskommentiert...
Wird PF nun anders eingebaut? Wo bekomm ich denn Info's dazu?



CAT
 
>Wird PF nun anders eingebaut? Wo bekomm ich denn Info's dazu?

die Frage bezieht sich auf das Bauen des kernels mit pf/altq ?

zusätzlich zu sicherheitshalber allen von dir aufgeführten optionen habe ich noch

options ALTQ_NOPCC # Required for SMP build <-- so war Kommentar in Releng_6
#Required if the TSC is unusable. <-- so heißt das jetzt.

Ich nehme an:

options NETGRAPH #netgraph(4) system

ist schon vorhanden ??


infos zu mpd : /usr/local/share/doc/mpd4/

infos zu pf : obsd faq



metro
 
Zuletzt bearbeitet:
Du hast mich net verstanden... :zitter:

Code:
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.474.2.1 2007/10/11 06:20:26 kensmith Exp $

cpu             I686_CPU
ident           BYTEWORKER7

# To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

#makeoptions    DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         SCHED_4BSD              # 4BSD scheduler
options         PREEMPTION              # Enable kernel thread preemption
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
options         SCTP                    # StVream Control Transmission Protocol
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
#options        MD_ROOT                 # MD is a potential root device
#options        NFSCLIENT               # Network Filesystem Client
#options        NFSSERVER               # Network Filesystem Server
#options        NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_PART_GPT           # GUID Partition Tables.
options         GEOM_LABEL              # Provides labelization
options         COMPAT_43TTY            # BSD 4.3 TTY compat [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         COMPAT_FREEBSD5         # Compatible with FreeBSD5
options         COMPAT_FREEBSD6         # Compatible with FreeBSD6
options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         STOP_NMI                # Stop CPUS using NMI instead of IPI
#options        AUDIT                   # Security event auditing

# To make an SMP kernel, the next two lines are needed
options         SMP                     # Symmetric MultiProcessor Kernel
device          apic                    # I/O APIC

# CPU frequency control
device          cpufreq

  device          pf                                                       
  device          pflog
  device          pfsync
  options         ALTQ
  options         ALTQ_CBQ        # Class Bases Queuing (CBQ)              
  options         ALTQ_RED        # Random Early Detection (RED)           
  options         ALTQ_RIO        # RED In/Out                             
  options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)   
  options         ALTQ_PRIQ

# Bus support.
device          sound
device          pci

# Floppy drives
#device         fdc

# Vesa Mode                                                              
options VESA # Vesa Video Treiber                                        
options VGA_WIDTH90 # Vesa Option                                        
options SC_PIXEL_MODE

# ATA and ATAPI devices
device          ata
device          atadisk         # ATA disk drives
device          ataraid         # ATA RAID drives
device          atapicd         # ATAPI CDROM drives
device          atapifd         # ATAPI floppy drives
device          atapist         # ATAPI tape drives
options         ATA_STATIC_ID   # Static device numbering
device    atapicam

# SCSI Controllers
#device         ahb             # EISA AHA1742 family
#device         ahc             # AHA2940 and onboard AIC7xxx devices
#options        AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
#device         ahd             # AHA39320/29320 and onboard AIC79xx devices
#options        AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
#device         amd             # AMD 53C974 (Tekram DC-390(T))
#device         hptiop          # Highpoint RocketRaid 3xxx series
#device         isp             # Qlogic family
#device         ispfw           # Firmware for QLogic HBAs- normally a module
#device         mpt             # LSI-Logic MPT-Fusion
#device         ncr             # NCR/Symbios Logic
#device         sym             # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device         trm             # Tekram DC395U/UW/F DC315U adapters

#device         adv             # Advansys SCSI adapters
#device         adw             # Advansys wide SCSI adapters
#device         aha             # Adaptec 154x SCSI adapters
#device         aic             # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device         bt              # Buslogic/Mylex MultiMaster SCSI adapters

#device         ncv             # NCR 53C500
#device         nsp             # Workbit Ninja SCSI-3
#device         stg             # TMC 18C30/18C50

# SCSI peripherals
device          scbus           # SCSI bus (required for SCSI)
device          ch              # SCSI media changers
device          da              # Direct Access (disks)
device          sa              # Sequential Access (tape etc)
device          cd              # CD
device          pass            # Passthrough device (direct SCSI access)
device          ses             # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
#device         amr             # AMI MegaRAID
#device         arcmsr          # Areca SATA II RAID
#device         asr             # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device         ciss            # Compaq Smart RAID 5*
#device         dpt             # DPT Smartcache III, IV - See NOTES for options
#device         hptmv           # Highpoint RocketRAID 182x
#device         rr232x          # Highpoint RocketRAID 232x
device          iir             # Intel Integrated RAID
#device         ips             # IBM (Adaptec) ServeRAID
#device         mly             # Mylex AcceleRAID/eXtremeRAID
#device         twa             # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device         aac             # Adaptec FSA RAID
#device         aacp            # SCSI passthrough for aac (requires CAM)
#device         ida             # Compaq Smart RAID
#device         mfi             # LSI MegaRAID SAS
#device         mlx             # Mylex DAC960 family
#device         pst             # Promise Supertrak SX6000
#device         twe             # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc          # AT keyboard controller
device          atkbd           # AT keyboard
device          psm             # PS/2 mouse

device          kbdmux          # keyboard multiplexer

device          vga             # VGA video card driver

device          splash          # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device          sc

device          agp             # support several AGP chipsets

# Power management support (see NOTES for more options)
#device         apm
# Add suspend/resume support for the i8254.
device          pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device         cbb             # cardbus (yenta) bridge
#device         pccard          # PC Card (16-bit) bus
#device         cardbus         # CardBus (32-bit) bus

# Serial (COM) ports
device          sio             # 8250, 16[45]50 based serial ports
device          uart            # Generic UART driver

# Parallel port
#device         ppc
#device         ppbus           # Parallel port bus (required)
#device         lpt             # Printer
#device         plip            # TCP/IP over parallel
#device         ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device         puc

# PCI Ethernet NICs.
device          de              # DEC/Intel DC21x4x (``Tulip'')
device          em              # Intel PRO/1000 adapter Gigabit Ethernet Card
device          ixgb            # Intel PRO/10GbE Ethernet Card
device          le              # AMD Am7900 LANCE and Am79C9xx PCnet
device          txp             # 3Com 3cR990 (``Typhoon'')
device          vx              # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
device          bce             # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device          bfe             # Broadcom BCM440x 10/100 Ethernet
device          bge             # Broadcom BCM570xx Gigabit Ethernet
device          dc              # DEC/Intel 21143 and various workalikes
device          fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device          lge             # Level 1 LXT1001 gigabit Ethernet
device          msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
device          nfe             # nVidia nForce MCP on-board Ethernet
device          nge             # NatSemi DP83820 gigabit Ethernet
#device         nve             # nVidia nForce MCP on-board Ethernet Networking
device          pcn             # AMD Am79C97x PCI 10/100 (precedence over 'le')
device          re              # RealTek 8139C+/8169/8169S/8110S
device          rl              # RealTek 8129/8139
device          sf              # Adaptec AIC-6915 (``Starfire'')
device          sis             # Silicon Integrated Systems SiS 900/SiS 7016
device          sk              # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste             # Sundance ST201 (D-Link DFE-550TX)
device          stge            # Sundance/Tamarack TC9021 gigabit Ethernet
device          ti              # Alteon Networks Tigon I/II gigabit Ethernet
device          tl              # Texas Instruments ThunderLAN
device          tx              # SMC EtherPower II (83c170 ``EPIC'')
device          vge             # VIA VT612x gigabit Ethernet
device          vr              # VIA Rhine, Rhine II
device          wb              # Winbond W89C840F
device          xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.  pccard NICs included.
#device         cs              # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device         ed              # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device         ex              # Intel EtherExpress Pro/10 and Pro/10+
#device         ep              # Etherlink III based cards
#device         fe              # Fujitsu MB8696x based cards
#device         ie              # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device         sn              # SMC's 9000 series of Ethernet chips
#device         xe              # Xircom pccard Ethernet

# Wireless NIC cards
#device         wlan            # 802.11 support
#device         wlan_wep        # 802.11 WEP support
#device         wlan_ccmp       # 802.11 CCMP support
#device         wlan_tkip       # 802.11 TKIP support
#device         wlan_amrr       # AMRR transmit rate control algorithm
#device         wlan_scan_ap    # 802.11 AP mode scanning
#device         wlan_scan_sta   # 802.11 STA mode scanning
#device         an              # Aironet 4500/4800 802.11 wireless NICs.
#device         ath             # Atheros pci/cardbus NIC's
#device         ath_hal         # Atheros HAL (Hardware Access Layer)
#device         ath_rate_sample # SampleRate tx rate control for ath
#device         awi             # BayStack 660 and others
#device         ral             # Ralink Technology RT2500 wireless NICs.
#device         wi              # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl              # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device          loop            # Network loopback
device          random          # Entropy device
device          ether           # Ethernet support
#device         sl              # Kernel SLIP
#device         ppp             # Kernel PPP
#device         tun             # Packet tunnel.
device          pty             # Pseudo-ttys (telnet etc)
#device         md              # Memory "disks"
#device         gif             # IPv6 and IPv4 tunneling
#device         faith           # IPv6-to-IPv4 relaying (translation)
#device         firmware        # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device          bpf             # Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
device          ohci            # OHCI PCI->USB interface
device          ehci            # EHCI PCI->USB interface (USB 2.0)
device          usb             # USB Bus (required)
#device         udbp            # USB Double Bulk Pipe devices
device          ugen            # Generic
device          uhid            # "Human Interface Devices"
device          ukbd            # Keyboard
device          ulpt            # Printer
device          umass           # Disks/Mass storage - Requires scbus and da
device          ums             # Mouse
#device         ural            # Ralink Technology RT2500USB wireless NICs
#device         rum             # Ralink Technology RT2501USB wireless NICs
#device         urio            # Diamond Rio 500 MP3 player
#device         uscanner        # Scanners
## USB Ethernet, requires miibus
#device         aue             # ADMtek USB Ethernet
#device         axe             # ASIX Electronics USB Ethernet
#device         cdce            # Generic USB over Ethernet
#device         cue             # CATC USB Ethernet
#device         kue             # Kawasaki LSI USB Ethernet
#device         rue             # RealTek RTL8150 USB Ethernet

# FireWire support
#device         firewire        # FireWire bus code
#device         sbp             # SCSI over FireWire (Requires scbus and da)
#device         fwe             # Ethernet over FireWire (non-standard!)
#device         fwip            # IP over FireWire (RFC 2734,3146)
#device         dcons           # Dumb console driver
#device         dcons_crom      # Configuration ROM for dcons


ergibt:

Code:
--------------------------------------------------------------
>>> Kernel build for BYTEWORKER_PF7 started on Tue Nov 20 15:46:29 CET 2007
--------------------------------------------------------------
===> BYTEWORKER_PF7
mkdir -p /usr/obj/usr/src/sys

--------------------------------------------------------------
>>> stage 1: configuring the kernel
--------------------------------------------------------------
cd /usr/src/sys/i386/conf;  PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  config  -d /usr/obj/usr/src/sys/BYTEWORKER_PF7  /usr/src/sys/i386/conf/BYTEWORKER_PF7
config: /usr/src/sys/i386/conf/BYTEWORKER_PF7:60: syntax error
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
        0.03 real         0.01 user         0.01 sys


Zeile 60: device pflog
 
bitte setze die cfg's linksbündig, also

Code:
  device          pf                                                       
  device          pflog
  device          pfsync
  options         ALTQ
  options         ALTQ_CBQ        # Class Bases Queuing (CBQ)              
  options         ALTQ_RED        # Random Early Detection (RED)           
  options         ALTQ_RIO        # RED In/Out                             
  options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)   
  options         ALTQ_PRIQ

wird zu

Code:
device          pf                                                       
device          pflog
device          pfsync
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)              
options         ALTQ_RED        # Random Early Detection (RED)           
options         ALTQ_RIO        # RED In/Out                             
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)   
options         ALTQ_PRIQ

die angesprochene
--> options ALTQ_NOPCC # Required for SMP build

heißt jetzt noch genauso, wird jetzt aber im man altq(4) mit anderem Kommentar versehen, nämlich

-------------> ALTQ_NOPCC Required if the TSC is unusable.

so nutze es oder lass es bleiben, scheint aber förderlich zu sein.

man mpd4:

Code:
DESCRIPTION
     mpd is a user mode PPP daemon using the netgraph(4) networking system.
     By using Netgraph, mpd combines the ... daba...daba...

also muss im kernel
Code:
options         NETGRAPH        #netgraph(4) system

enthalten sein.

und schon klappt auch das Verständnis :D

metro
 
Zurück
Oben