<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>In_progress on </title>
    <link>https://wassimaouadi.com/tags/in_progress/</link>
    <description>Recent content in In_progress on </description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 24 Jul 2026 21:31:13 +0200</lastBuildDate>
    <atom:link href="https://wassimaouadi.com/tags/in_progress/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Packet capture</title>
      <link>https://wassimaouadi.com/technotes/packetcapture/</link>
      <pubDate>Fri, 24 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/packetcapture/</guid>
      <description>&lt;h1 id=&#34;real-time-packet-capture-on-junos&#34;&gt;Real-time packet capture on Junos&lt;/h1&gt;&#xA;&lt;p&gt;Packet capture in real time on an interface is performed with the &lt;code&gt;monitor&lt;/code&gt; command:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; monitor traffic interface fxp0 ?&#xA;Possible completions:&#xA;  &amp;lt;[Enter]&amp;gt;            Execute this command&#xA;  absolute-sequence    Display absolute TCP sequence numbers&#xA;  brief                Display brief output&#xA;  count                Number of packets to receive (0..1000000 packets)&#xA;  detail               Display detailed output&#xA;  extensive            Display extensive output&#xA;  layer2-headers       Display link-level header on each dump line&#xA;  matching             Expression for headers of receive packets to match&#xA;  no-domain-names      Don&amp;#39;t display domain portion of hostnames&#xA;  no-promiscuous       Don&amp;#39;t put interface into promiscuous mode&#xA;  no-resolve           Don&amp;#39;t attempt to print addresses symbolically&#xA;  no-timestamp         Don&amp;#39;t print timestamp on each dump line&#xA;  print-ascii          Display packets in ASCII when displaying in hexadecimal format&#xA;  print-hex            Display packets in hexadecimal format&#xA;  read-file            Read packets from a given file&#xA;  resolve-timeout      Period of time to wait for each name resolution (seconds)&#xA;  size                 Amount of each packet to receive (bytes)&#xA;  write-file           Write packets to specified file&#xA;  |                    Pipe through a command&#xA;lab@vSRX&amp;gt; monitor traffic interface fxp0 write-file capture01.pcap &#xA;Address resolution is ON. Use &amp;lt;no-resolve&amp;gt; to avoid any reverse lookup delay.&#xA;Address resolution timeout is 4s.&#xA;Listening on fxp0, capture size 96 bytes&#xA;&#xA;^C&#xA;297 packets received by filter&#xA;0 packets dropped by kernel&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&#xA;lab@vSRX&amp;gt; file list &#xA;&#xA;/var/home/lab/:&#xA;.lesshst&#xA;.ssh/&#xA;capture01.pcap&#xA;jt /&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then I open the freeBSD CLI and open the pcap file using &lt;code&gt;tcpdump&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Storage Concepts</title>
      <link>https://wassimaouadi.com/technotes/storageconcepts/</link>
      <pubDate>Thu, 23 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/storageconcepts/</guid>
      <description>&lt;h1 id=&#34;bios-vs-uefi&#34;&gt;BIOS vs UEFI&lt;/h1&gt;&#xA;&lt;p&gt;Both BISO and UEFI constitute an interface between the Operating System and the firmware of the hardware platform. They are pieces of software that is embedded on some chip or controller on the hardware, i.e. the motherboard of a server.&#xA;Both BIOS and UEFI look for instructions on the disks that help locate the respective bootloader. BIOS Looks for the MBR (Master Boot Record) in the first sector of the disk. UEFI looks for the &lt;em&gt;.efi&lt;/em&gt; files that are located in the EFI Special Partition (ESP) under &lt;em&gt;/boot/efi/EFI/&lt;/em&gt;. Once the bootloader is located, the interface (BIOS or UEFI) loads it in memory and give it control for the rest of the OS boot operations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The linux mount command</title>
      <link>https://wassimaouadi.com/technotes/linuxmount/</link>
      <pubDate>Mon, 13 Jul 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/linuxmount/</guid>
      <description>&lt;p&gt;List all block devices and look for a block device with type of &amp;lsquo;rom&amp;rsquo;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;user1@rhel10-vm2:~$ lsblk&#xA;NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS&#xA;sr0            11:0    1 816.4M  0 rom  &#xA;vda           252:0    0    25G  0 disk &#xA;├─vda1        252:1    0     1M  0 part &#xA;├─vda2        252:2    0     1G  0 part /boot&#xA;└─vda3        252:3    0    24G  0 part &#xA;  ├─rhel-root 253:0    0    22G  0 lvm  /&#xA;  └─rhel-swap 253:1    0     2G  0 lvm  [SWAP]&#xA;user1@rhel10-vm2:~$ &#xA;user1@rhel10-vm2:~$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;lsquo;sr0&amp;rsquo; is the block device of type &amp;lsquo;rom&amp;rsquo;. There is no mount point associated with it at the moment.&#xA;In the /dev directory, grep the &amp;lsquo;sr0&amp;rsquo; block device:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Operations with grep in Linux</title>
      <link>https://wassimaouadi.com/technotes/linuxgrep/</link>
      <pubDate>Mon, 08 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/linuxgrep/</guid>
      <description>&lt;h1 id=&#34;basic-vs-extended-regex-in-grep&#34;&gt;Basic vs extended regex in grep&lt;/h1&gt;&#xA;&lt;p&gt;With basic regex expressions (short BRE), special characters must be preceeded with a backslash if they are to be interpreted as special. Otherwise, they are interpreted as regular characters. The exception to this rule is the carrot character (^). BRE mode is activated with the &lt;code&gt;-e&lt;/code&gt; option.&lt;/p&gt;&#xA;&lt;p&gt;Let us consider a sample file &lt;em&gt;/tmp/test.log&amp;quot;&lt;/em&gt;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Wassim@linux:/tmp$ cat test.log&#xA;a+b&#xA;a plus b&#xA;aaaaaaaab&#xA;Wassim@linux:/tmp$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Example 1: &lt;code&gt;grep -e&lt;/code&gt; and passing the special characters without a backslash:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Junos</title>
      <link>https://wassimaouadi.com/technotes/junostshoot/</link>
      <pubDate>Tue, 02 Jun 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/junostshoot/</guid>
      <description>&lt;h1 id=&#34;notes-from-a-juniper-junos-troubleshooting-course&#34;&gt;Notes from a Juniper Junos troubleshooting course&lt;/h1&gt;&#xA;&lt;p&gt;Packets reaching the irb interface trigger a routing lookup.&lt;/p&gt;&#xA;&lt;p&gt;When using vMX, typically in a lab, then there should be two VMs: one for the control plane and one for the forwarding plane, named something like &lt;em&gt;vmx1-vcp&lt;/em&gt; and &lt;em&gt;vmx1-vfp&lt;/em&gt; respectively.&lt;/p&gt;&#xA;&lt;p&gt;When pinging the IP address of an aggregate Ethernet interface, the ICMP Echo Reply packets are duplicated:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vEX&amp;gt; ping 172.16.200.2 count 3    &#xA;PING 172.16.200.2 (172.16.200.2): 56 data bytes&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.034 ms&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.209 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.251 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.295 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.346 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.387 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.418 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=0 ttl=63 time=3.448 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.641 ms&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.688 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.711 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.717 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.871 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.883 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.919 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=1 ttl=63 time=3.923 ms (DUP!)&#xA;64 bytes from 172.16.200.2: icmp_seq=2 ttl=63 time=2.626 ms&#xA;&#xA;--- 172.16.200.2 ping statistics ---&#xA;3 packets transmitted, 3 packets received, +14 duplicates, 0% packet loss&#xA;round-trip min/avg/max/stddev = 2.626/3.492/3.923/0.343 ms&#xA;&#xA;lab@vEX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &amp;lsquo;hot swappable&amp;rsquo; and &amp;lsquo;hot pluggable&amp;rsquo; are chassis capabilities and are not the same.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OSPF</title>
      <link>https://wassimaouadi.com/technotes/ospf/</link>
      <pubDate>Sat, 02 May 2026 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/ospf/</guid>
      <description>&lt;h1 id=&#34;ospf-in-junos&#34;&gt;OSPF in Junos&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show configuration interfaces ge-0/0/2 &#xA;unit 0 {&#xA;    family inet {&#xA;        address 192.168.11.2/24;&#xA;    }&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; show configuration protocols ospf &#xA;area 0.0.0.0 {&#xA;    interface ge-0/0/2.0;&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show ospf interface &#xA;Interface           State   Area            DR ID           BDR ID          Nbrs&#xA;ge-0/0/2.0          BDR     0.0.0.0         192.168.1.1     192.168.31.1       1&#xA;&#xA;lab@vSRX&amp;gt; &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show ospf neighbor &#xA;Address          Interface              State           ID               Pri  Dead&#xA;192.168.11.1     ge-0/0/2.0             Full            192.168.1.1      128    39&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;lab@vSRX&amp;gt; show route protocol ospf  &#xA;&#xA;inet.0: 24 destinations, 38 routes (24 active, 0 holddown, 0 hidden)&#xA;+ = Active Route, - = Last Active, * = Both&#xA;&#xA;192.168.1.1/32     *[OSPF/10] 01:58:32, metric 1&#xA;                    &amp;gt;  to 192.168.11.1 via ge-0/0/2.0&#xA;224.0.0.5/32       *[OSPF/10] 01:58:42, metric 1&#xA;                       MultiRecv&#xA;&#xA;inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Operations with git</title>
      <link>https://wassimaouadi.com/technotes/git/</link>
      <pubDate>Tue, 14 Jan 2025 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/git/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://wassimaouadi.com/images/01/gitterminology.png&#34; alt=&#34;gitterminology.png&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;git-vs-svc&#34;&gt;Git vs SVC&lt;/h1&gt;&#xA;&lt;p&gt;An SVC is a type of Software Configuration Management (SCM)&#xA;git is the most popular distributed software version control (dsvc)&lt;/p&gt;&#xA;&lt;h1 id=&#34;git-vs-github&#34;&gt;Git vs Github&lt;/h1&gt;&#xA;&lt;p&gt;Git is the DSVC (Distributed Software Version Control).&#xA;Github is a cloud platform that uses Git as its core technology plus additional features like Discussions and Pull Requests.&lt;/p&gt;&#xA;&lt;h1 id=&#34;using-git&#34;&gt;Using Git&lt;/h1&gt;&#xA;&lt;p&gt;There are CLI tools like Git Desktop and GUI tools like Microsoft Visual Studio Code to use Git. GUI tools have their own limitations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Operations with Python</title>
      <link>https://wassimaouadi.com/technotes/automationpython/</link>
      <pubDate>Sat, 03 Feb 2024 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/automationpython/</guid>
      <description>&lt;p&gt;First, I have the habit of working in virtual environments. I create one and activate it:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Wassim@linux:~/private/labscripts$ python -m venv venv&#xA;Wassim@linux:~/private/labscripts$ ls&#xA;venv&#xA;Wassim@linux:~/private/labscripts$ source venv/bin/activate&#xA;((venv) ) Wassim@linux:~/private/labscripts$&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I upgrade the &lt;em&gt;pip&lt;/em&gt; package:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;((venv) ) Wassim@linux:~/private/labscripts$ pip install --upgrade pip&#xA;Requirement already satisfied: pip in ./venv/lib64/python3.12/site-packages (23.3.2)&#xA;Collecting pip&#xA;  Downloading pip-26.2.1-py3-none-any.whl.metadata (4.6 kB)&#xA;Downloading pip-26.2.1-py3-none-any.whl (1.8 MB)&#xA;   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 19.3 MB/s eta 0:00:00&#xA;Installing collected packages: pip&#xA;  Attempting uninstall: pip&#xA;    Found existing installation: pip 23.3.2&#xA;    Uninstalling pip-23.3.2:&#xA;      Successfully uninstalled pip-23.3.2&#xA;Successfully installed pip-26.2.1&#xA;((venv) ) Wassim@linux:~/private/labscripts$ &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I only have the &lt;em&gt;pip&lt;/em&gt; package installed. I need pyEZ, Netmiko.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Date and Time are configured to synchronize with an NTP server</title>
      <link>https://wassimaouadi.com/technotes/datetimentp/</link>
      <pubDate>Mon, 14 Oct 2013 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/datetimentp/</guid>
      <description>&lt;h1 id=&#34;ntp-configuration-and-verification-on-junos&#34;&gt;NTP configuration and verification on Junos&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lab@vSRX&amp;gt; show configuration system | find ntp &#xA;ntp {&#xA;    server 172.25.11.254;&#xA;}&#xA;&#xA;lab@vSRX&amp;gt; show configuration system | find zone &#xA;time-zone Europe/Berlin;&#xA;syslog {&#xA;    file interactive-commands {&#xA;        interactive-commands any;&#xA;    }&#xA;    file messages {&#xA;        any any;&#xA;        authorization info;&#xA;    }&#xA;}&#xA;license {&#xA;    autoupdate {&#xA;        url https://ae1.juniper.net/junos/key_retrieval;&#xA;    }&#xA;}&#xA;ntp {&#xA;    server 172.25.11.254;&#xA;}&#xA;&#xA;lab@vSRX&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then I instruct Junos to sync its date and time with the NTP server. Note that the &lt;code&gt;set date ntp&lt;/code&gt; is executed at the operational mode:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multicast PIM-SM</title>
      <link>https://wassimaouadi.com/technotes/multicastpimsm/</link>
      <pubDate>Fri, 21 Aug 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/multicastpimsm/</guid>
      <description>&lt;p&gt;PIM-SM requires the following components: a Rendez-vous Point, shared trees, source trees.&lt;/p&gt;&#xA;&lt;h1 id=&#34;pim-register-and-register-stop-messages&#34;&gt;PIM Register and Register Stop messages &lt;/h1&gt;&#xA;&lt;p&gt;PIM register messages are sent by a PIM router to the Rendez-vous Point when it [the PIM router] receives multicast traffic from a streaming source. &lt;/p&gt;&#xA;&lt;p&gt;PIM RP sends a PIM register stop message to signal to the PIM router that it [the RP] has received the PIM register message.&lt;/p&gt;&#xA;&lt;h1 id=&#34;incoming-interfaces-vs-outgoing-interface-list&#34;&gt;Incoming Interfaces vs Outgoing Interface List&lt;/h1&gt;&#xA;&lt;h3 id=&#34;incoming-interface&#34;&gt;Incoming Interface&lt;/h3&gt;&#xA;&lt;p&gt;The PIM router&amp;rsquo;s interface that receives – or is supposed to receive – multicast traffic from the multicast source.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to multicast communication</title>
      <link>https://wassimaouadi.com/technotes/multicast/</link>
      <pubDate>Thu, 20 Aug 2009 21:31:13 +0200</pubDate>
      <guid>https://wassimaouadi.com/technotes/multicast/</guid>
      <description>&lt;h1 id=&#34;reminder-of-the-communication-models&#34;&gt;Reminder Of The Communication Models&lt;/h1&gt;&#xA;&lt;p&gt;client/server&#xA;behind-NAT devices&#xA;Point-to-point&#xA;Hybrid&#xA;Unicast&#xA;Multicast&lt;/p&gt;&#xA;&lt;h1 id=&#34;multicast-concepts&#34;&gt;Multicast concepts&lt;/h1&gt;&#xA;&lt;p&gt;Multicast clients must join multicast groups in order to receive multicast traffic.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IP host: an IP endpoint that is connected to a multicast router.&lt;/li&gt;&#xA;&lt;li&gt;Multicast router: a router that supports multicast protocols such as PIM and IGMP.&lt;/li&gt;&#xA;&lt;li&gt;upstream router&lt;/li&gt;&#xA;&lt;li&gt;downstream router&lt;/li&gt;&#xA;&lt;li&gt;multicast group&lt;/li&gt;&#xA;&lt;li&gt;nulticast (source, group) pair&lt;/li&gt;&#xA;&lt;li&gt;multicast group membership&lt;/li&gt;&#xA;&lt;li&gt;interested node&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Query&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Query&lt;/li&gt;&#xA;&lt;li&gt;Host Membership Report&lt;/li&gt;&#xA;&lt;li&gt;random report delay timer&lt;/li&gt;&#xA;&lt;li&gt;shared tree&lt;/li&gt;&#xA;&lt;li&gt;source-rooted spanning tree&lt;/li&gt;&#xA;&lt;li&gt;Multicast Distribution Tree&lt;/li&gt;&#xA;&lt;li&gt;parent link&lt;/li&gt;&#xA;&lt;li&gt;child link&lt;/li&gt;&#xA;&lt;li&gt;active branches&lt;/li&gt;&#xA;&lt;li&gt;multicast leaf router: is connected to leaf sub-networks&lt;/li&gt;&#xA;&lt;li&gt;Leaf sub-network: some have group members, some do not.&lt;/li&gt;&#xA;&lt;li&gt;DVMRP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;advantages-of-multicast-communication&#34;&gt;Advantages of Multicast Communication&lt;/h1&gt;&#xA;&lt;p&gt;Routers process one packet instead of many (in case of multiple unicast transmissions)&#xA;Routers do not have to determine the destination address to send the packet to, in contrast to unicast transmission.&#xA;Reduced usage of resources: router CPU and memory, network bandwidth.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
