{"id":78,"date":"2013-06-19T20:42:42","date_gmt":"2013-06-19T18:42:42","guid":{"rendered":"https:\/\/www.timk.de\/it-blog\/?p=78"},"modified":"2013-06-19T21:16:46","modified_gmt":"2013-06-19T19:16:46","slug":"a_deeper_view_of_sonicwall_kerne","status":"publish","type":"post","link":"https:\/\/www.timk.de\/it-blog\/a_deeper_view_of_sonicwall_kerne\/","title":{"rendered":"A deeper view of SonicWALL kernel on NSA-Series (5.8.x)"},"content":{"rendered":"<p>Sonicwall NSA works in my option on VxWorks Operation System (Wind River Systems, Inc) based on Linux Kernel 2.6.x. Additional they use ZebOS for Layer2\/3.<\/p>\n<p>The following informations are extract from an NSA 4500 running on Firmware 5.8.1.9.<\/p>\n<p><!--more-->Informations from traceLog_xxxx.wri (see diag.html):<\/p>\n<blockquote><p>All Files:<br \/>\nfile: \/ata0\/log3.dat, time: Jun 12 15:04:4<br \/>\nFirmware Version: SonicOS Enhanced 5.8.1.9-58o<br \/>\nDirectory: \/depot-155518-18\/Octeon\/5.8.1\/m2\/target\/oct_mips64\/sw_octeon4500-cp-base<br \/>\nBuild Time: Nov 20 2012, 16:42:20<br \/>\nUname: <span style=\"text-decoration: underline;\"><strong>Linux sjc0bld44.eng.sonicwall.com 2.6.18-274.3.1.el5<\/strong><\/span> #1 SMP Tue Sep 6 20:14:03 EDT 2011 i686 athlon i38<br \/>\n&#8230;<\/p><\/blockquote>\n<p>Informations on booting a SonicWALL (over serial):<\/p>\n<blockquote><p>U-boot 5.0.3.3 (Production build) (Build time: May 11 2009 &#8211; 19:40:30)<\/p>\n<p>OCTEON ASH-4 CN5840-SCP pass 1.1, Core clock: 550 MHz, DDR clock: 266 MHz (532 Mhz data rate)<br \/>\nDRAM:\u00a0 512 MB<br \/>\nFlash: 16 MB ( Bank 0: 16 MB Bank 1:\u00a0 0 kB )<br \/>\n+<br \/>\n..<br \/>\nUncompressed 0x1a38c0 bytes<br \/>\nELF file is 32 bit<br \/>\nAllocating memory for ELF: Base addr, 0x2000000, size: 0xe000000<br \/>\nLoading .text @ 0x82008000 (1530304 bytes)<br \/>\nLoading .data @ 0x8217e000 (177376 bytes)<br \/>\nLoading .cvmx_shared @ 0x821a94e0 (424 bytes)<br \/>\nClearing .bss @ 0x821a9700 (1199728 bytes)<br \/>\n## Loading ELF image with entry point: 0x82008000 &#8230;<br \/>\nBootloader: Done loading app on coremask: 0x1<\/p>\n<p>dosChkLib : CLOCK_REALTIME is being reset to FRI JUN 14 10:24:16 2013<br \/>\nValue obtained from file system volume descriptor pointer: 0x8236c010<br \/>\nThe old setting was THU JAN 01 00:00:00 1970<br \/>\nAccepted system dates are greater than THU DEC 27 00:00:00 1990<\/p>\n<p>\/ata0\/\/\u00a0 &#8211; Volume is OK<br \/>\nLoading system information&#8230;<br \/>\nReading system info from flash&#8230;<br \/>\nHost Name: bootHost<br \/>\n<strong><span style=\"text-decoration: underline;\">Target Name: vxTarget<\/span> <\/strong><br \/>\nUser: target<br \/>\nAttaching interface lo0&#8230; done<br \/>\nflashStartup: no LAN bypass support.<br \/>\nLoading firmware&#8230;<\/p>\n<p>Booting&#8230;<br \/>\nELF file is 32 bit<br \/>\nRe-using existing memory for ELF: Base addr, 0x2000000, size: 0xe000000<br \/>\nLoading .text @ 0x82008000 (16150976 bytes)<br \/>\nLoading .data @ 0x82f70000 (1487536 bytes)<br \/>\nLoading .cvmx_shared @ 0x830db2b0 (424 bytes)<br \/>\nClearing .bss @ 0x830db480 (16997600 bytes)<br \/>\n## Loading ELF image with entry point: 0x82008000 &#8230;<br \/>\nBootloader: Done loading app on coremask: 0x1<br \/>\nUSB2 Host Stack Initialized.<br \/>\nUSB Hub Driver Initialized<br \/>\n<strong><span style=\"text-decoration: underline;\">USBD\u00a0 Wind River Systems, Inc. 562 Initialized<\/span><\/strong><br \/>\nHost Name: bootHost<br \/>\n<span style=\"text-decoration: underline;\"><strong>Target Name: vxTarget<\/strong> <\/span><br \/>\nUser: target<br \/>\nAttaching interface lo0&#8230; done<br \/>\nStarting SonicSetup Watchdog<br \/>\nStarting real-time clock<br \/>\nInitializing clock<br \/>\nTuning clock and timezone<\/p>\n<p>Memory Setup Info:<br \/>\nInit memory pool start: 0x84111160 (2215711072)<br \/>\nInit memory pool end:\u00a0\u00a0 0x88000000 (2281701376)<br \/>\nISR stack start: 0x84111160 (2215711072)<br \/>\nISR stack size:\u00a0 0x00001388 (\u00a0\u00a0\u00a0\u00a0\u00a0 5000)<br \/>\nOS memory pool start: 0x841124e8 (2215716072)<br \/>\nOS memory pool size:\u00a0 0x03ee07c8 (\u00a0 65931208)<br \/>\ntRootTask exception stack start:\u00a0 0x87ff2cb0 (2281647280)<br \/>\ntRootTask exception stack size:\u00a0\u00a0 0x00001000 (\u00a0\u00a0\u00a0\u00a0\u00a0 4096)<br \/>\ntRootTask stack start:\u00a0 0x87ff3cb0 (2281651376)<br \/>\ntRootTask stack size:\u00a0\u00a0 0x0000c350 (\u00a0\u00a0\u00a0\u00a0 50000)<br \/>\nOS memory pool info:<br \/>\nsection 0 start:\u00a0 0x841124f0, size: 0x03ee07c0 (\u00a0 65931200)<br \/>\nsection 1 start:\u00a0 0x88000000, size: 0x07ef0000 ( 133103616)<br \/>\nsection 2 start:\u00a0 0xc0000000, size: 0x0fffff00 ( 268435200)<br \/>\nsection 3 start:\u00a0 0x01140000, size: 0x00ec0000 (\u00a0 15466496)<\/p>\n<p>Initializing Memory Zones<br \/>\nInitializing Buffer Zones<br \/>\nInitializing Common Zones<br \/>\nStarting LCD controller<br \/>\nInitializing Semaphores<br \/>\nInitializing read-write locks<br \/>\nInitializing System Monitor<br \/>\nInitializing trace call history<br \/>\nInitializing Flash<br \/>\nWriting Trace Log to Flash<br \/>\nClearing Trace Log<br \/>\n*** warmboot ***<br \/>\nAdjusting SonicSetup Watchdog if necessary for large prefs<br \/>\nInitialize FDR log<br \/>\nInitializing Ramdisk<br \/>\nInstalling date\/time hook<br \/>\nCreating File System<br \/>\nfilesystem<br \/>\nInitializing CFS<br \/>\nConstructing HTTPS Server dependencies<br \/>\nSetting NTP parameters<br \/>\nEnabling ARP table support<br \/>\nInitializing core IP packet handler<br \/>\nInitializing memory buffer driver<br \/>\nInitializing Branding<br \/>\nInitializing parameters table<br \/>\nInterfaces Group init-stage 1<br \/>\nStarting Routing engine<br \/>\nInitializing action table search tree<br \/>\nAllocating IPSec SA space<br \/>\nStarting Bandwidth Management scheduler<br \/>\nStarting Global Bandwidth Management<br \/>\nInitializing Policy lookup table<br \/>\nInitializing NAT Policy structure<br \/>\nBuilding DHCP Network Objects<br \/>\nStarting network monitor module<br \/>\nStarting the NAT module<br \/>\nStarting common gateway interface handler<br \/>\nStarting the system timer<br \/>\nStarting random number generator<br \/>\nInitalizing IPSec handle<br \/>\nAllocating DHCP server lease ranges<br \/>\nInitializing Memory for Application Firewall Config Objects<br \/>\nBuilding IPS Config Objects<br \/>\nBuilding AppControl Config Objects<br \/>\nBuilding AntiSpyware Config Objects<br \/>\nInitializing multiple interfaces handler<br \/>\nInitializing MAC-IP Anti-Spoofing<br \/>\nInitializing flow reporting<br \/>\nInitializing Ip Helper<br \/>\nStarting capture Buffer<br \/>\nInitializing QoS Mapping module<br \/>\nStarting dynamic routing<br \/>\nInitializing Support Services<br \/>\nInitializing backend dynamic update support<br \/>\nInitializing users<br \/>\nPre-Initializing LDAP client<br \/>\nPre-initializing Terminal Services support for SSO<br \/>\n<strong><span style=\"text-decoration: underline;\">1st zebos init<\/span><\/strong><br \/>\nSet default packet capture settings<br \/>\nInitializing Memory for CFS<br \/>\nValidating FLASH parameters<br \/>\nInitializing preference export memory buffer devices<br \/>\nStarting IPH compatibility flags<br \/>\nInitializing proper connection count<br \/>\nAdjust memory partitions<br \/>\nStarting synflood protection<br \/>\nComplete Network Object initialization<br \/>\nSetting Time Zone and updating Daylight savings time<br \/>\nInitializing ARP table<br \/>\nEHCI Controller found.<br \/>\nWaiting to attach to USBD&#8230;Done.<br \/>\nReading Network Interface configurations<br \/>\nUpdating global BWM data<br \/>\nListen to BSP Interface State events<br \/>\nInitialize ACTIVE WAN<br \/>\nStarting firewall logger<br \/>\nStarting Stateful Packet Inspection engine<br \/>\nDetermining High Availability state<br \/>\nInitializing Active\/Active UTM<br \/>\nInitializing Ethernet links<br \/>\nGenerating system ARP<br \/>\nGenerating dynamic Address Objects<br \/>\n2nd zebos init<br \/>\nBuild routing table<br \/>\nInitializing IP Helper<br \/>\nStarting capture Buffer during startup<br \/>\nInitializing SQLite<br \/>\nStarting SwFlow during startup<br \/>\nStarting GeoIP<br \/>\nInitial GUI Interface Statistics Counters<br \/>\nInitializing DNS Rebind Detection<br \/>\nBuilding NAT tables<br \/>\nGenerating gratuitous ARP for NAT<br \/>\nGenerating gratuitous ARP for Transparent Mode IPs<br \/>\nStarting registration services<br \/>\nStarting DNS client<br \/>\nStarting DNS client<br \/>\nInitializing syslog client<br \/>\nStarting DNS request task<br \/>\nStarting DAO manager<br \/>\nLog initializations dependent on preferences<br \/>\nStarting RBL driver<br \/>\nStarting licensing services<br \/>\nInitializing connection cache<br \/>\nActivating Ethernet hooks<br \/>\nInitializing HTTP Server<br \/>\nStarting user authentication routines<br \/>\nStarting Zone Policy manager<br \/>\nInitializing Viewpoint reporting<br \/>\nInitializing PPP timers<br \/>\nInitializing L2TP client system<br \/>\nInitializing L2TP Server<br \/>\nInitializing PPTP system<br \/>\nStarting DHCP client<br \/>\nInitializing Acceptable Use Policies<br \/>\nStarting NTP client<br \/>\nStarting IP fragmentation\/reassembly handlers<br \/>\nStarting IPSec engine<br \/>\nInitializing HTTPS Server<br \/>\nInitializing web proxy support<br \/>\nInitializing diagnostic admin tools<br \/>\nReading Qos Conversion Configuration<br \/>\nStarting H323 handlers<br \/>\nStarting SIP handlers<br \/>\nInitializing RADIUS client<br \/>\nInitializing LDAP client<br \/>\nInitializing SSO Authentication<br \/>\nInitializing Terminal Services support for SSO<br \/>\nInitializing PPPoE support<br \/>\nPreparing auto-configurator<br \/>\nStarting DHCP server<br \/>\nInitializing DHCP relay over VPN<br \/>\nStarting IGMP Mcast<br \/>\nInitializing Deep Packet Inspection framework<br \/>\nPre-init Client AV<br \/>\nInitializing Distributed Enforcement Architecture<br \/>\nBuilding CFS rating database<br \/>\nSet CFS version<br \/>\nApply BWM Settings for Application Firewall policy<br \/>\nStarting Auto-Update timers<br \/>\nSNMP Initialization<br \/>\nVerifying management policy rules<br \/>\nInitializing High Availability routines<br \/>\nInitializing state sync<br \/>\nInitializing Content Filtering Services<br \/>\nInitializing webSense monitor services<br \/>\nInitializing SSL Control Service<br \/>\nStarting SSL Inspection Engine<br \/>\nStarting Auto-Update timers<br \/>\nComplete One Touch Overrides<br \/>\nStarting hardware watchdog<br \/>\nFirmware Version: SonicOS Enhanced 5.8.1.9-58o<br \/>\nDirectory: \/depot-155518-18\/Octeon\/5.8.1\/m2\/target\/oct_mips64\/sw_octeon4500-cp-base<br \/>\nInitializing FIPS mode<br \/>\nWAN Load Balancing module started<br \/>\nUpdate Interfaces Groups from prefs<br \/>\nInitializing for TSR generation<br \/>\nInitializing SDP and SSPP (discovery and provision protocol)<br \/>\nInitializing Wireless Zone Module<br \/>\nInitializing Guest Services<br \/>\nStarting Bandwidth Optimization engine<br \/>\nInitializing Flash Dynamic Update<br \/>\nVerifying transaction groups<br \/>\nProtecting prefs<br \/>\nStart processing Interface State Changes<br \/>\nInitializing Reboot Notifier<br \/>\nCheck for Diag Restart Requests<br \/>\nCheck for Periodic Gratuitous ARP Requests<br \/>\nChecking for Enhanced Upgrade<br \/>\nInitializing ARS<br \/>\nInitializing VPN route monitor<br \/>\nInitializing SSH Service<br \/>\nInitializing CLI interface<br \/>\nLog Firewall activated<br \/>\nRemote Backup Initialization<br \/>\nIf configured, send SNMP Cold Start Trap<br \/>\nStarting Hot Swap Controllers<br \/>\nIf configured, send IPSEC Trap for Manual SAs<br \/>\nStarting Anti-Spam Service<br \/>\nStarting Subsystem Detection<br \/>\nInitializing SSLVPN Server<br \/>\nsslvpn sslvpnCustomerizedLogo:\/VirtualOffice.gif!<br \/>\nAdded 1539 oui to vendor mappings<br \/>\nAdd an entry to the firmware history<\/p>\n<p>Product Model:\u00a0\u00a0\u00a0 NSA 4500<br \/>\nProduct Code:\u00a0\u00a0\u00a0\u00a0 61xx<br \/>\nFirmware Version: SonicOS Enhanced 5.8.1.9-58o<br \/>\nSerial Number:\u00a0\u00a0\u00a0 0017xxxxxxxx<br \/>\nX0 IP Addresses:\u00a0 x.x.x.x<\/p><\/blockquote>\n<p>Here some information of a DELL SonicWALL Job offer:<\/p>\n<blockquote>\n<div>\n<h1>Dell SonicWALL Linux Kernel Software Dev Sr. Engineer San Jose, CA<\/h1>\n<div id=\"jobDesc\">&#8230;<\/div>\n<div>Responsibilities:- Linux kernel hardening<br \/>\n&#8211; Software design at BSP or kernel level<br \/>\n&#8211; Design and porting device drivers<br \/>\n&#8211; Understand functionality of the system to provide better hardware abstraction layer<br \/>\n&#8211; Communicate with Hardware team during board bring-up phase<br \/>\n&#8211; Document design details, collaborate with team members during design and review phase<\/p>\n<\/div>\n<div><\/div>\n<div>Qualifications\/Knowledge<br \/>\n&#8211; Knowledge of Linux kernel programming<br \/>\n&#8211; Knowledge of kernel details, design in multitasking environment, synchronization objects, etc<br \/>\n&#8211; Knowledge of generic CPU architecture and infrastructure: core, peripherals, etc. MIPS experience is plus.<br \/>\n&#8211; Prior experience in software design for multi-core\/multi-blade systems is big plus<br \/>\n&#8211; Knowledge of C, GNU tools, Make, generic source control systems<br \/>\n&#8211; Knowledge of scripting language such as bash, Perl, python, is a plus<br \/>\n&#8211; Basic knowledge of networking protocols: TCP\/IP<br \/>\n&#8211; Knowledge\/experience of the <strong><span style=\"text-decoration: underline;\">vxWorks<\/span><\/strong> is big plus<br \/>\n&#8230;<\/div>\n<p>Job Requisition Number: 12000XF8<\/p>\n<\/div>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Sonicwall NSA works in my option on VxWorks Operation System (Wind River Systems, Inc) based on Linux Kernel 2.6.x. Additional they use ZebOS for Layer2\/3. The following informations are extract from an NSA 4500 running on Firmware 5.8.1.9.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-78","post","type-post","status-publish","format-standard","hentry","category-sonicwall"],"_links":{"self":[{"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/posts\/78","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/comments?post=78"}],"version-history":[{"count":2,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/posts\/78\/revisions"}],"predecessor-version":[{"id":83,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/posts\/78\/revisions\/83"}],"wp:attachment":[{"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/media?parent=78"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/categories?post=78"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.timk.de\/it-blog\/wp-json\/wp\/v2\/tags?post=78"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}