Tried to remove the native-vlan-id and still no go.
Basically I want to take any packets coming from a 'customer' in my test setup to the EX4300 ge0/0/2 and add a S-VLAN tag to it send it across the ae1 to the other EX4300 and back out the ge0/0/2 with the S-VLAN tag removed. Sounds so simply but haven't had much luck.
The cisco ports are configured as trunk ports and allow vlan 30 & 40.
However the only way my setup has worked so far is to have the packets come from the cisco switches with native vlan specified which would mean it is not even tagged to start with.. In the actual production setup customers will mostly all come in with via tunnels and some via access...
For instance if I set vlan 30 to native on the cisco switches I can ping between vlans and it works but vlan 40 doesn't.
If I switch the native vlan to 40 then only vlan 40 passed not vlan 30...
I need all traffic on the trunk to pass through ge0/0/2 get a tag added traverse the ae1 and come back out ge0/0/2 with the extra tag removed.
To me it looks like you want to do some sort of QinQ tunneling on the EX4300, this should allow you to add an outer tag to the original L2 header for transmission, and the tag will be removed out of the tunnel preserving the orginal tag, either 30 or 40 for later connectivity.
If setting a native VLAN resolves the problem for one VLAN and not the other, this would be kind of expected, and possibly and configuration error, if you need more information about the QinQ feel free to update the post.
also you can review the next document:
Configuring Q-in-Q Tunneling and VLAN Q-in-Q Tunneling and VLAN Translation