diff --git a/geant/gap_ansible/roles/bgp_config/tasks/main.yml b/geant/gap_ansible/roles/bgp_config/tasks/main.yml
index 13eca9efa55c06677c5a50df361cb0c55512cff5..7bf1d663e56f855f221b65faabacf0b4837242e0 100644
--- a/geant/gap_ansible/roles/bgp_config/tasks/main.yml
+++ b/geant/gap_ansible/roles/bgp_config/tasks/main.yml
@@ -1,5 +1,17 @@
 ---
 # tasks file for bgp_config
+- name: Set BGP V4 session object to check for custom policies
+  ansible.builtin.set_fact:
+    bgp_session_v4: "{{ ap.sbp | json_query(query) }}"
+  vars:
+    query: "bgp_session_list[?ip_type == 'ipv4'] | [0]"
+
+- name: Set BGP V6 session object to check for custom policies
+  ansible.builtin.set_fact:
+    bgp_session_v6: "{{ ap.sbp | json_query(query) }}"
+  vars:
+    query: "bgp_session_list[?ip_type == 'ipv6'] | [0]"
+
 - name: Load Standard Policy Statements vars
   ansible.builtin.include_tasks: merge_vars.yaml
 
diff --git a/geant/gap_ansible/roles/bgp_config/tasks/merge_vars.yaml b/geant/gap_ansible/roles/bgp_config/tasks/merge_vars.yaml
index 77676232f0a50f972531cc23264d6429c2fff79f..a29606a9541075c298d7a457c75805e82bc85b1a 100644
--- a/geant/gap_ansible/roles/bgp_config/tasks/merge_vars.yaml
+++ b/geant/gap_ansible/roles/bgp_config/tasks/merge_vars.yaml
@@ -1,7 +1,35 @@
 ---
-- name: Set Standard Import and export policies names
+- name: Set Standard BGP import and export policy names for GEANT_IP
+  when: >
+    subscription.l3_core_service_type in ["GEANT_IP", "GEANT IP"]
   ansible.builtin.set_fact:
     import_policies_v4: "{{ bgp.policies.import.v4 }}"
     import_policies_v6: "{{ bgp.policies.import.v6 }}"
     export_policies_v4: "{{ bgp.policies.export.v4 }}"
     export_policies_v6: "{{ bgp.policies.export.v6 }}"
+
+- name: Set standard BGP import and export policy names for LHCONE
+  when: >
+    subscription.l3_core_service_type in ["LHCONE"]
+    and
+    not bgp_session_v4.has_custom_policies | ansible.builtin.bool
+    or
+    not bgp_session_v4.has_custom_policies | ansible.builtin.bool
+  ansible.builtin.set_fact:
+    import_policies_v4: "{{ bgp.policies.import.v4 }}"
+    import_policies_v6: "{{ bgp.policies.import.v6 }}"
+    export_policies_v4: "{{ bgp.policies.export.v4 }}"
+    export_policies_v6: "{{ bgp.policies.export.v6 }}"
+
+- name: Set custom BGP import and export policy names for LHCONE
+  when: >
+    subscription.l3_core_service_type in ["LHCONE"]
+    and
+    bgp_session_v4.has_custom_policies | ansible.builtin.bool
+    or
+    bgp_session_v4.has_custom_policies | ansible.builtin.bool
+  ansible.builtin.set_fact:
+    import_policies_v4: "{{ bgp_custom.policies.import.v4 }}"
+    import_policies_v6: "{{ bgp_custom.policies.import.v6 }}"
+    export_policies_v4: "{{ bgp_custom.policies.export.v4 }}"
+    export_policies_v6: "{{ bgp_custom.policies.export.v6 }}"
diff --git a/geant/gap_ansible/roles/bgp_config/templates/bgp.j2 b/geant/gap_ansible/roles/bgp_config/templates/bgp.j2
index 47b82cfbed8b479f485baaa1b02904c55fb4bd2b..1ff0260942f57d516d1ba103e27261f62474a345 100644
--- a/geant/gap_ansible/roles/bgp_config/templates/bgp.j2
+++ b/geant/gap_ansible/roles/bgp_config/templates/bgp.j2
@@ -1,9 +1,17 @@
-
+  {% if subscription.l3_core_service_type in ['GEANT_IP', 'GEANT IP'] %}
         <router xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes">
             <router-name>Base</router-name>
             <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes">
             {% include 'bgp_neighbor.j2' %}
             </bgp>
-
        </router>
-
+  {% elif subscription.l3_core_service_type in ['LHCONE'] %}
+        <service xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes">
+            <vprn xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes">
+            <service-name>{{ vprn_name }}</service-name>
+                <bgp xmlns="urn:nokia.com:sros:ns:yang:sr:conf" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nokia-attr="urn:nokia.com:sros:ns:yang:sr:attributes">
+                {% include 'bgp_neighbor.j2' %}
+                </bgp>
+            </vprn>
+        </service>
+  {% endif %}