Description

 

l2-learning global-ctx-limit to 10,000 by default on non-TVP platforms such as the EX4300. It is not behaving as expected. By default, the global-ctx-limit is coming up as 0, which is context logging disabled. Additionally, if you explicitly configure the global-ctx-limit to a different max value and then remove that configuration, it remains set to the value previously configured.

 

 

show version

fpc0:

--------------------------------------------------------------------------

Model: ex4300-48p

Junos: 21.4R3-S10.9

JUNOS EX Software Suite [21.4R3-S10.9]

JUNOS FIPS mode utilities [21.4R3-S10.9]

JUNOS Crypto Software Suite [21.4R3-S10.9]

JUNOS Online Documentation [21.4R3-S10.9]

JUNOS Phone-Home Software Suite [21.4R3-S10.9]

JUNOS jsd [powerpc-21.4R3-S10.9-jet-1]

JUNOS SDN Software Suite [21.4R3-S10.9]

JUNOS EX 4300 Software Suite [21.4R3-S10.9]

JUNOS Web Management Platform Package [21.4R3-S10.9]

JUNOS py-base-powerpc [21.4R3-S10.9]

JUNOS py-extensions-powerpc [21.4R3-S10.9]

REST API Software Suite [21.4R3-S10.9]

 

 

No ctx config is applied at all, nor has it been applied since the code upgrade to 21.4R3-S10:

 

{master:0}

 show configuration | display set | match ctx

 

There are actually no l2-learning configs at all :

 

{master:0}

 show configuration protocols l2-learning | display inheritance

 

{master:0}

 

 

The context-history shows 0 with no global-ctx-limit having ever been configured:

 

{master:0}

show ethernet-switching context-history

Current:0 Free:0 Max:0 Total:0

-------------------------------------------------------------------

 

{master:0}

 

 

 

If I go and explicitly set it to something, that changes it.

 

set protocols l2-learning global-ctx-limit 5000

 

{master:0}[edit]

commit and-quit

configuration check succeeds

commit complete

Exiting configuration mode

 

{master:0}

 show ethernet-switching context-history

Current:0 Free:0 Max:5000 Total:0

-------------------------------------------------------------------

 

{master:0}

 

 

 

Now if I go and remove the global-ctx-limit all together so that it should return to the default (be that 0 or 10,000), it still shows what was last configured:

 

 delete protocols l2-learning global-ctx-limit

 

{master:0}[edit]

commit and-quit

configuration check succeeds

commit complete

Exiting configuration mode

 

{master:0}

show configuration | display set | match l2-learning <<< Nothing there

 

{master:0}

show ethernet-switching context-history

Current:0 Free:0 Max:5000 Total:0

-------------------------------------------------------------------

Solution

Fix is provided in Junos release 21.2X12.1

 

 

show configuration | display set | match ctx 

 

{master:0}

show configuration protocols l2-learning | display inheritance 

 

{master:0}

show ethernet-switching context-history 

Current:0 Free:10000 Max:10000 Total:0

------------------------------------------------------------------- 

 

{master:0}

edit 

Entering configuration mode

 

{master:0}[edit]

set protocols l2-learning global-ctx-limit 5000 

 

{master:0}[edit]

 commit and-quit 

configuration check succeeds

commit complete

Exiting configuration mode

 

{master:0}

show ethernet-switching context-history   

Current:0 Free:0 Max:5000 Total:0

------------------------------------------------------------------- 

 

{master:0}

 edit 

Entering configuration mode

 

{master:0}[edit]

 delete protocols l2-learning global-ctx-limit 

 

{master:0}[edit]

commit and-quit 

configuration check succeeds

commit complete

Exiting configuration mode

 

{master:0}

show configuration | display set | match l2-learning 

 

{master:0}

show ethernet-switching context-history 

Current:0 Free:0 Max:10000 Total:0

------------------------------------------------------------------- 

Modification History

2025-05-12 : Article Created