It's not much different from finding all paths between 2 vertices.
gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> // find all paths between v[1], v[2] and v[5], v[6]
gremlin> g.V(1,2).repeat(both().simplePath()).until(hasId(within(5,6))).path()
==>[v[1], v[3], v[6]]
==>[v[1], v[4], v[5]]
==>[v[1], v[3], v[4], v[5]]
==>[v[1], v[4], v[3], v[6]]
==>[v[2], v[1], v[3], v[6]]
==>[v[2], v[1], v[4], v[5]]
==>[v[2], v[1], v[3], v[4], v[5]]
==>[v[2], v[1], v[4], v[3], v[6]]